//! `aura-engine` — the headless, UI-agnostic reactive SoA engine. //! //! Delivered across cycles 0003-0004 — the harness and its deterministic run //! loop: //! //! - [`Harness`] — the closed root graph that runs (a flat node array + an index //! edge table, topologically ordered) and its deterministic `run` loop: a //! k-way merge of timestamped sources (C3/C4) driven through a wired DAG of //! nodes, cycle by cycle, with freshness-gated recompute and the two firing //! policies (C5/C6) deciding when each node re-evaluates and what it holds. //! - [`Edge`] / [`Target`] / [`SourceSpec`] — producer->consumer wiring, //! source->consumer wiring, and a declared source (its kind + target slots). //! - [`BootstrapError`] — wiring faults caught once, at bootstrap (kind //! mismatch, bad index, directed cycle). //! //! Delivered in cycle 0009 — the run report surface: //! //! - [`RunMetrics`] / [`RunManifest`] / [`RunReport`] — the `(manifest, metrics)` //! pair C18 mandates per run, with [`RunReport::to_json`] for the structured //! C14 face; //! - [`summarize`] — the post-run pure reduction over a run's recorded //! pip-equity + exposure streams into [`RunMetrics`]; [`f64_field`] bridges a //! recording sink's `Vec` rows to it. //! //! Still to come (subsequent cycles): the `Source` trait + data-server ingestion //! and source-native time normalization (C3/C11), the broker-independent //! position-event output and downstream broker nodes (C10), and the param //! injection + orchestration axes of the atomic sim unit //! (`(topology + params + data-window + seed)`, swept by optimize / walk-forward //! / Monte-Carlo) — its `-> metrics` reduction now ships via [`summarize`]. //! //! Visualization is never here: it is a downstream consumer node on the streams. mod blueprint; mod harness; mod report; pub use blueprint::{Blueprint, BlueprintNode, CompileError, Composite, OutPort}; pub use harness::{BootstrapError, Edge, Harness, SourceSpec, Target}; pub use report::{f64_field, summarize, RunManifest, RunMetrics, RunReport};