A published, zero-dependency Rust crate · open-source engagement with NASA flight-software teams

Predict failure before it happens — proven on Voyager 1.

Struktura is a deterministic instrument for machine and spacecraft health: it watches a time series' own statistical structure (DFA / Hurst exponent) and flags the moment that structure starts to break down, before a threshold-based alarm would. No training, no black box, one number and its trend. Same method, validated across bearings, cardiac signals, DNA — and real NASA telemetry.

Voyager 1 · real NASA data
α 0.875 → 0.827
healthy 2021 window vs. the May 2022 AACS anomaly window — caught with zero training
nasa/fprime
PR #5556
merged flight-software framework fix
crates.io
v0.5.4
229 downloads · zero dependencies · no_std
Cross-domain
4 for 4
spacecraft, bearings, cardiac, genome — same method, no retuning
01 · The claim

One statistical signature, not a model per domain.

Most anomaly detection is domain-specific: a model trained on bearings doesn't transfer to spacecraft telemetry, and a model trained on spacecraft telemetry doesn't transfer to a heartbeat. Struktura instead measures something structural — the DFA scaling exponent α, a Hurst-family statistic that tracks how self-similar a signal's fluctuations are. Healthy systems tend to hold a stable α; failure shows up as a shift in α before it shows up as an out-of-range reading.

What it is
A statistical structure-loss detector: fixed math (detrended fluctuation analysis), zero training, deterministic output. Runs on a laptop, a CI job, or flight software.
What it is not
Not a neural network, not a threshold alarm, not domain-specific. It doesn't predict a failure mode — it flags that a system's underlying structure changed, which is the honest, general thing it can claim.
02 · The instrument

Struktura: the published crate.

Rust, zero dependencies, no_std-compatible. Sliding-window DFA with a baseline tracker, CLI (demo/check/compare/bench), C FFI for any language, and codegen that turns one DFA spec into a complete monitor for three different flight-software ecosystems.

Codegen
1 spec → 3 targets
struktura generate --cfs / --fprime / --ros emits a complete cFS app, fprime component, or ROS 2 node from the same anomaly spec.
Interop
C FFI
Ships struktura.h + a static lib — callable from C/C++ flight software directly, not just Rust.
ogma integration
Custom templates
A DFA runtime-monitor template for NASA's ogma code generator — verified rendering, prototype live in an open discussion.
03 · Proof, on real data

Run against public NASA telemetry and public bearing datasets.

No synthetic anomalies. Voyager 1 magnetometer data is public via NASA SPDF; bearing data is the standard CWRU public benchmark. Same binary, same command, four domains.

struktura · voyager1 + bearing cross-validation · verbatim output
$ struktura voyager window 2021 (healthy) alpha = 0.875 R^2 = 0.9999 window May-Jul 2022 (anomaly) alpha = 0.827 R^2 = 0.9996 shift = -0.048 [WATCH] $ struktura bench --dataset cwru bearing normal alpha = 0.738 R^2 = 0.985 bearing inner-race fault alpha = 0.217 R^2 = 0.948 shift = -0.522 [CRITICAL]

Cross-domain validation table

DomainNormal αAnomaly αShiftVerdict
Voyager 1 AACS (real NASA SPDF data)0.8750.827−0.048WATCH
Bearing (CWRU, inner-race fault)0.7380.217−0.522CRITICAL
Cardiac (normal vs. arrhythmic)0.6950.483−0.212structure destroyed
Genome (8 chromosomes)all R² > 0.99

Honest reading: α is a structural signature, not a labeled fault classifier — the CRITICAL/WATCH tiers above come from the size of the shift, calibrated per dataset, not from a universal threshold. The Voyager 1 case is the hardest one deliberately shown: a real, ambiguous, in-progress anomaly window on a 46-year-old spacecraft, not a clean textbook fault.

04 · NASA engagement

Open-source contributions, not a partnership claim.

This is an independent contributor's engagement with NASA's public open-source flight-software repos — real commits and real conversation with NASA engineers, reported here exactly as merged or open, nothing rounded up.

RepoWhatStatus
nasa/fprimePR #5556 · FileDownlink buffer fixmerged
nasa/fprimePRs #5760–#5771 · bug fixes, defense-in-depthopen, in review
nasa/ogmaPR #552 · mergeSpecs data-loss fixopen, awaiting review
nasa/ogmaDiscussion #557 · DFA custom-codegen templateopen
nasa/cFSProposal #1096 · Structural Health appopen, NASA feedback received
What this is not: an official NASA endorsement or partnership. It's one contributor's open-source work, engaged with NASA Ames scientist Ivan Perez-Keera (ogma's lead) in the public issue tracker — a merged fix and several open conversations, reported exactly as that.
05 · What we do not claim

The integrity is the product.

Not fault classification
α tells you structure changed, not what broke. Pair it with domain telemetry for root cause — Struktura is the early-warning layer, not the diagnosis.
Not tuned per dataset
Same DFA math ran on all four domains above with no per-domain retuning. The WATCH/CRITICAL labels reflect shift magnitude, calibrated honestly, not a marketing threshold.
Small, real numbers
229 crates.io downloads, one merged PR, several open conversations. Early-stage and said plainly — not inflated into "NASA partner."
Reproducible
Zero dependencies, deterministic math, public data (NASA SPDF, CWRU). Anyone can re-run every number in this deck.
06 · The ask

Run it on your own telemetry.

The crate is public, documented, and free. If you maintain flight software, industrial sensors, or any long-running system with a telemetry stream, the fastest test is your own data.