Skip to main content

dsfb_turbine/
lib.rs

1//! # DSFB Structural Semiotics Engine for Gas Turbine Jet Engine Health Monitoring
2//!
3//! A deterministic, read-only, observer-only augmentation layer for typed residual
4//! interpretation over existing Engine Health Monitoring (EHM), Gas Path Analysis (GPA),
5//! and Prognostics and Health Management (PHM) systems.
6//!
7//! ## Architectural Contract
8//!
9//! 1. **Read-only**: All input data is accepted as `&[f64]` immutable slices.
10//!    No mutable reference to upstream data is ever created.
11//! 2. **Non-interfering**: No write path, callback, or feedback channel exists
12//!    from DSFB to any upstream EHM/FADEC/GPA system.
13//! 3. **Deterministic**: No random seeds, no stochastic sampling, no training-dependent
14//!    weights. Given identical inputs and configuration, outputs are identical.
15//! 4. **no_std / no_alloc**: The `core` module operates without heap allocation,
16//!    suitable for embedded avionics and safety-critical environments.
17//! 5. **no_unsafe**: `#![forbid(unsafe_code)]` is enforced for the library crate.
18//!
19//! ## Build Boundary
20//!
21//! This crate uses the common split architecture:
22//! - `core`: `no_std`, `no_alloc`, deterministic inference primitives
23//! - `dataset`, `pipeline`, `figures`, `report`: std-gated evaluation tooling
24//!
25//! ## Non-Interference Invariant
26//!
27//! If DSFB is removed, the upstream EHM/GPA/FADEC system is unchanged.
28//! DSFB does not modify, replace, or interact with any engine control,
29//! protection, or estimation logic.
30//!
31//! ## What DSFB Does NOT Do
32//!
33//! - Does not predict Remaining Useful Life (RUL)
34//! - Does not modify FADEC, EHM, or GPA systems
35//! - Does not change thrust management, fuel scheduling, or control loops
36//! - Does not replace Kalman filters, particle filters, or any estimation pipeline
37//! - Does not claim superiority over any incumbent method
38//!
39//! ## What DSFB Does
40//!
41//! - Converts health-parameter residual streams into typed structural episodes
42//! - Provides deterministic, auditable reason codes for each classification
43//! - Formalizes regime-conditioned admissibility envelopes
44//! - Enables early-warning detection of structural degradation trajectory changes
45//! - Produces audit-ready trace chains from raw residual to typed conclusion
46
47#![cfg_attr(not(feature = "std"), no_std)]
48#![forbid(unsafe_code)]
49#![deny(missing_docs)]
50#![deny(clippy::all)]
51#![warn(clippy::pedantic)]
52
53// ═══════════════════════════════════════════════════════════════════════
54// CORE ENGINE — no_std, no_alloc, always compiled
55// ═══════════════════════════════════════════════════════════════════════
56pub mod core;
57
58// ═══════════════════════════════════════════════════════════════════════
59// STD-GATED MODULES — dataset loading, evaluation pipelines, figures, reporting
60// ═══════════════════════════════════════════════════════════════════════
61#[cfg(feature = "std")]
62pub mod dataset;
63#[cfg(feature = "std")]
64pub mod pipeline;
65#[cfg(feature = "std")]
66pub mod figures;
67#[cfg(feature = "std")]
68pub mod report;
69
70/// Crate version for paper-lock and reproducibility.
71pub const VERSION: &str = env!("CARGO_PKG_VERSION");
72
73/// Paper DOI for reproducibility lock.
74pub const PAPER_DOI: &str = "https://doi.org/10.5281/zenodo.19498878";
75
76/// Non-interference contract version.
77pub const NON_INTERFERENCE_CONTRACT: &str = "v1.0-read-only-observer-only";