airframe_observe/lib.rs
1//! # airframe-observe
2//!
3//! FSE-based inference observation layer, powered by dzero.
4//!
5//! ## The Core Inversion
6//!
7//! Conventional inference capture is observer-first (broken pattern):
8//! ```text
9//! vault_seed: forward_pass() → capture hidden_states
10//! candle_probe: forward_pass() → capture logits
11//! fse_policy: forward_pass() → scan output_text
12//! Cost: O(N_observers × M_selectors)
13//! ```
14//!
15//! This crate is selector-first (FSE/dzero architecture):
16//! ```text
17//! ObservationSession::new(plan) ← compile once
18//! forward_pass emits facts ← single pass
19//! All observers receive data simultaneously via dzero broadcast
20//! Cost: O(M_selectors), independent of observer count
21//! ```
22//!
23//! ## Usage
24//!
25//! ```rust,no_run
26//! use airframe_observe::{ObservationSession, InferenceFact};
27//!
28//! // 1. Build a session with registered observers
29//! let mut session = ObservationSession::new();
30//! session.register_vault_oracle();
31//! session.register_candle_compare();
32//!
33//! // 2. During forward pass — emit facts via convenience helpers
34//! let hidden: Vec<f32> = vec![0.1; 2048];
35//! session.emit_layer_output(0, 1, &hidden);
36//!
37//! let logits: Vec<f32> = vec![0.01; 32000];
38//! session.emit_final_logits(1, &logits);
39//!
40//! // 3. Run to fixpoint — all observers receive their data
41//! let result = session.saturate();
42//! assert!(result.saturated);
43//! ```
44//!
45//! ## Patent Notice
46//!
47//! This selector-first, compile-once, single-pass observation architecture
48//! applied to AI inference is covered by a pending US patent by
49//! Michael A. Kuykendall. All rights reserved.
50//! Contact: michaelallenkuykendall@gmail.com
51
52pub mod facts;
53pub mod isf;
54pub mod observer;
55pub mod observers;
56pub mod output;
57pub mod plan;
58pub mod quant_formula;
59pub mod session;
60
61// Private experimentation / tuning surface (Saturation Fabric, TDR, beads integration).
62// Not re-exported publicly. Use only from within airframe crate.
63mod internal;
64
65pub use facts::{alpha_key_of, HaltReason, InferenceFact};
66pub use isf::{GenerateOutput, ISFState, InferenceSaturationFabric};
67pub use observer::{CandleCompareObserver, VaultOracleObserver};
68pub use output::ObservationData;
69pub use session::ObservationSession;