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:
sergio
2026-05-20 00:24:48 +00:00
parent b83d40a833
commit 848fc7a072
21 changed files with 221 additions and 89 deletions
Generated
+40
View File
@@ -299,6 +299,9 @@ name = "arje-brain"
version = "0.0.1"
dependencies = [
"anyhow",
"arje-brain-audit",
"arje-brain-cognitive",
"arje-brain-rules",
"arje-card",
"arje-cas",
"base64 0.22.1",
@@ -311,6 +314,43 @@ dependencies = [
"ulid",
]
[[package]]
name = "arje-brain-audit"
version = "0.0.1"
dependencies = [
"anyhow",
"arje-brain-cognitive",
"arje-brain-rules",
"arje-cas",
"serde",
"serde_json",
"tokio",
"ulid",
]
[[package]]
name = "arje-brain-cognitive"
version = "0.0.1"
dependencies = [
"arje-brain-rules",
"serde",
"serde_json",
"ulid",
]
[[package]]
name = "arje-brain-rules"
version = "0.0.1"
dependencies = [
"anyhow",
"arje-card",
"base64 0.22.1",
"serde",
"serde_json",
"tracing",
"ulid",
]
[[package]]
name = "arje-bus"
version = "0.0.1"