refactor(brain): A2 — split arje-brain en 3 sub-crates
DAG de dependencias limpio (modularidad horizontal):
- arje-brain-rules — rules + engine + dispatch (motor determinista)
- arje-brain-cognitive — observer + crystallize (estadística)
- arje-brain-audit — audit chain → CAS (accountability)
- arje-brain — umbrella de integración (introspect +
autopromote + metrics + loader)
Habilitador clave: TimedEvent movido de observer.rs a rules.rs
(engine lo necesitaba, era el único acoplo que rompía el DAG).
arje-brain re-exporta la API de los 3 sub-crates: arje-zero y chasqui
(consumidores) no requieren cambios. cargo check --workspace verde.
24 tests del brain pasan (4 rules + 6 cognitive + 5 audit + 9 umbrella).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+15
-11
@@ -6,21 +6,25 @@ rule engine + audit log, y un ente de smoke test.
|
||||
|
||||
## Crates
|
||||
|
||||
| crate | tipo | rol |
|
||||
| ------------- | ---- | ----------------------------------------------------------- |
|
||||
| `arje-bus` | lib | Unix SOCK_STREAM + postcard framing. Announce/Invoke/List |
|
||||
| `arje-cas` | lib | Content-addressed storage SHA-256: blobs Wasm + audit log |
|
||||
| `arje-wasm` | lib | Encarna `Payload::Wasm` vía `wasmi` en thread dedicado |
|
||||
| `arje-brain` | lib | Rule engine + observer estadístico + audit chain con CAS |
|
||||
| `arje-echo` | bin | Ente prueba — provee `Capability::Endpoint(echo)` |
|
||||
| crate | tipo | rol |
|
||||
| ---------------------- | ---- | -------------------------------------------------- |
|
||||
| `arje-bus` | lib | Unix SOCK_STREAM + postcard framing |
|
||||
| `arje-cas` | lib | Content-addressed storage SHA-256: blobs + audit |
|
||||
| `arje-wasm` | lib | Encarna `Payload::Wasm` vía `wasmi` |
|
||||
| `arje-brain-rules` | lib | Motor determinista: rules + engine O(1) + dispatch |
|
||||
| `arje-brain-cognitive` | lib | Observer estadístico + crystallize de patrones |
|
||||
| `arje-brain-audit` | lib | Audit chain con hashes anclados al CAS |
|
||||
| `arje-brain` | lib | Integración: introspect + autopromote + metrics |
|
||||
| `arje-echo` | bin | Ente prueba — provee `Capability::Endpoint(echo)` |
|
||||
|
||||
## Dependencias
|
||||
|
||||
- `arje-bus` ← `tokio` + `postcard`. Consumido por `init/arje-zero`.
|
||||
- `arje-cas` ← `sha2` + `sled`. Consumido por `arje-brain` (audit log)
|
||||
y `arje-wasm` (blobs).
|
||||
- `arje-brain` ← `arje-bus`, `arje-cas`. Consumido por Init para
|
||||
observabilidad estadística + reglas declarativas.
|
||||
- `arje-cas` ← `sha2` + `sled`. Consumido por `arje-brain-audit` y `arje-wasm`.
|
||||
- **Brain split (DAG limpio)**: `arje-brain-rules` (base) ← `arje-brain-cognitive`
|
||||
← `arje-brain-audit` ← `arje-brain` (umbrella de integración).
|
||||
- `arje-brain` re-exporta la API de los 3 sub-crates para los
|
||||
consumidores históricos (`arje-zero`, `chasqui`).
|
||||
|
||||
## Invariantes
|
||||
|
||||
|
||||
Reference in New Issue
Block a user