Skip to content

Commit f4f0098

Browse files
authored
docs: README Getting Started, ecosystem, and ownership boundaries (#35)
Deduplicate mission text; add Getting Started (git dep + example), Ecosystem table, Scope/Ownership (link BOUNDARY_MATRIX / GH#9), and MSRV. Closes #9 Closes #20
1 parent 27e22b0 commit f4f0098

1 file changed

Lines changed: 73 additions & 9 deletions

File tree

README.md

Lines changed: 73 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,81 @@
44

55
Neuromodulatory reward shaping and RL critic functions for SNNs.
66

7-
This crate provides a generalized engine that translates any external objective into biological neuromodulator concentrations. Its sole purpose is to compute the scalar values that feed into `neuromod::rm_stdp` (Reward-Modulated STDP).
7+
## Mission
88

9-
## Mission: Generic Reward Shaping
9+
This crate is a generalized engine that translates any external objective into
10+
biological neuromodulator concentrations. Its sole purpose is to compute the
11+
scalar values that feed into reward-modulated learning (e.g. `neuromod::rm_stdp`).
1012

11-
This crate is a generalized engine that translates any external objective into biological neuromodulator concentrations.
13+
**Architecture (condensed):**
1214

13-
Its sole purpose is to compute the scalar values that feed into `neuromod::rm_stdp` (Reward-Modulated STDP).
15+
* **Environment trait** — abstract interface for any measurable external system
16+
(simulation score, trading PnL, LLM loss, etc.)
17+
* **Reward functions** — temporal difference error, curiosity-driven intrinsic
18+
reward, moving-average baselines
19+
* **Modulator mapping** — maps mathematical errors into constrained `f32`
20+
vectors for dopamine (reward), serotonin (risk/volatility), and norepinephrine
21+
(stress/telemetry)
1422

15-
### Architecture
23+
**MSRV:** Rust 1.85 (`rust-version` in `Cargo.toml`).
1624

17-
* **Environment Trait**: Abstract interface via the `Environment` trait. The crate is agnostic to whether it's evaluating a simulation score, a trading bot's PnL, an LLM's cross-entropy loss, or any other performance indicator.
18-
* **Reward Functions**: Standard RL reward shaping functions — Temporal Difference error, curiosity-driven intrinsic reward, moving-average baselines.
19-
* **Modulator Mapping**: Maps mathematical errors into constrained `f32` vectors representing Dopamine (reward), Serotonin (risk/volatility), and Norepinephrine (stress/telemetry).
25+
## Getting Started
26+
27+
Until published on crates.io, depend on the git repository:
28+
29+
```toml
30+
[dependencies]
31+
limbic-critic = { git = "https://github.com/Limen-Neural/limbic-critic" }
32+
```
33+
34+
After publish:
35+
36+
```bash
37+
cargo add limbic-critic
38+
```
39+
40+
Run the generic environment example:
41+
42+
```bash
43+
cargo run --example generic_environment
44+
```
45+
46+
## Ecosystem
47+
48+
| Layer | Role | Crate / repo |
49+
|-------|------|----------------|
50+
| Application | Implements `Environment` for your domain | your app / adapters |
51+
| **limbic-critic** | Produces local `ModulatorVector` via `SimpleCritic` / `TDCritic` | [limbic-critic](https://github.com/Limen-Neural/limbic-critic) |
52+
| Bridge | Maps `ModulatorVector` → neuromod `NeuroModulators` | [plasticity-lab](https://github.com/Limen-Neural/plasticity-lab) |
53+
| Plasticity | Consumes modulators in `rm_stdp` | [neuromod](https://github.com/Limen-Neural/neuromod) |
54+
55+
Sibling crates live under the [Limen-Neural](https://github.com/Limen-Neural)
56+
organization. This crate does **not** take Cargo dependencies on those
57+
siblings; integration happens in application or bridge crates.
58+
59+
## Scope and Ownership Boundaries
60+
61+
See the full matrix: [`docs/BOUNDARY_MATRIX.md`](docs/BOUNDARY_MATRIX.md)
62+
(LIM-9 / [GH#9](https://github.com/Limen-Neural/limbic-critic/issues/9)).
63+
64+
**Owns:**
65+
66+
* Reward shaping and credit-assignment algorithms
67+
* The `Environment` trait
68+
* Local `ModulatorVector` output structure
69+
70+
**Does not own:**
71+
72+
* Training loops or SNN model definitions
73+
* Domain-specific rewards (mining, trading, games)
74+
* Environment implementations (belong in apps/adapters)
75+
* Neuromodulator dynamics / decay (upstream SNN crates)
76+
77+
**Forbidden:**
78+
79+
* Inter-repo Cargo dependencies on sibling crates such as `neuromod`,
80+
`plasticity-lab`, or other SNN primitives (keeps the crate modular and
81+
decoupled)
2082

2183
## Development
2284

@@ -32,7 +94,9 @@ cargo llvm-cov --all-features --lcov --output-path lcov.info
3294
# HTML report: cargo llvm-cov --all-features --html
3395
```
3496

35-
These development commands, hygiene improvements, test assertions, MSRV declaration, artifact cleanup, and Codecov integration were contributed by the following GitHub issues (bundled as beads lc-r97 / PR #28):
97+
These development commands, hygiene improvements, test assertions, MSRV
98+
declaration, artifact cleanup, and Codecov integration were contributed by the
99+
following GitHub issues (bundled as beads lc-r97 / PR #28):
36100

37101
* [GH-16](https://github.com/Limen-Neural/limbic-critic/issues/16): Remove tracked CI log artifacts
38102
* [GH-17](https://github.com/Limen-Neural/limbic-critic/issues/17): Remove unused serde dependency

0 commit comments

Comments
 (0)