848fc7a072
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>
14 lines
535 B
Rust
14 lines
535 B
Rust
//! arje-brain-rules — motor de reglas determinista.
|
|
//!
|
|
//! Capa base del brain: tipos de regla (triplet Subject+Event+Action),
|
|
//! `RuleEngine` con dispatch O(1) por discriminante de evento, y el
|
|
//! ejecutor async de acciones. Sin dependencias estadísticas ni de UI.
|
|
|
|
pub mod rules;
|
|
pub mod engine;
|
|
pub mod dispatch;
|
|
|
|
pub use rules::{Action, EventKind, EventPattern, LogLevel, Rule, Scope, TimedEvent};
|
|
pub use engine::{EventKindDiscriminant, RuleEngine, SubjectInfo};
|
|
pub use dispatch::{dispatch_actions, ActionSink, NullSink};
|