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