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
70
71
72
73
74
75
76
77
//! # DSFB Structural Semiotics Engine for Gas Turbine Jet Engine Health Monitoring
//!
//! A deterministic, read-only, observer-only augmentation layer for typed residual
//! interpretation over existing Engine Health Monitoring (EHM), Gas Path Analysis (GPA),
//! and Prognostics and Health Management (PHM) systems.
//!
//! ## Architectural Contract
//!
//! 1. **Read-only**: All input data is accepted as `&[f64]` immutable slices.
//! No mutable reference to upstream data is ever created.
//! 2. **Non-interfering**: No write path, callback, or feedback channel exists
//! from DSFB to any upstream EHM/FADEC/GPA system.
//! 3. **Deterministic**: No random seeds, no stochastic sampling, no training-dependent
//! weights. Given identical inputs and configuration, outputs are identical.
//! 4. **no_std / no_alloc**: The `core` module operates without heap allocation,
//! suitable for embedded avionics and safety-critical environments.
//! 5. **no_unsafe**: `#![forbid(unsafe_code)]` is enforced for the library crate.
//!
//! ## Build Boundary
//!
//! This crate uses the common split architecture:
//! - `core`: `no_std`, `no_alloc`, deterministic inference primitives
//! - `dataset`, `pipeline`, `figures`, `report`: std-gated evaluation tooling
//!
//! ## Non-Interference Invariant
//!
//! If DSFB is removed, the upstream EHM/GPA/FADEC system is unchanged.
//! DSFB does not modify, replace, or interact with any engine control,
//! protection, or estimation logic.
//!
//! ## What DSFB Does NOT Do
//!
//! - Does not predict Remaining Useful Life (RUL)
//! - Does not modify FADEC, EHM, or GPA systems
//! - Does not change thrust management, fuel scheduling, or control loops
//! - Does not replace Kalman filters, particle filters, or any estimation pipeline
//! - Does not claim superiority over any incumbent method
//!
//! ## What DSFB Does
//!
//! - Converts health-parameter residual streams into typed structural episodes
//! - Provides deterministic, auditable reason codes for each classification
//! - Formalizes regime-conditioned admissibility envelopes
//! - Enables early-warning detection of structural degradation trajectory changes
//! - Produces audit-ready trace chains from raw residual to typed conclusion
// ═══════════════════════════════════════════════════════════════════════
// CORE ENGINE — no_std, no_alloc, always compiled
// ═══════════════════════════════════════════════════════════════════════
// ═══════════════════════════════════════════════════════════════════════
// STD-GATED MODULES — dataset loading, evaluation pipelines, figures, reporting
// ═══════════════════════════════════════════════════════════════════════
/// Crate version for paper-lock and reproducibility.
pub const VERSION: &str = env!;
/// Paper DOI for reproducibility lock.
pub const PAPER_DOI: &str = "https://doi.org/10.5281/zenodo.19498878";
/// Non-interference contract version.
pub const NON_INTERFERENCE_CONTRACT: &str = "v1.0-read-only-observer-only";