Part of the V&V coverage initiative.
Problem
Relay engines are bounded stream transformers. The mathematical backpressure proof exists in Lean (proofs/lean/BackpressureSafety.lean — proves output_count ≤ n·K per engine). What's missing is the Rust-level state-machine verification: Kani harnesses that bound the actual implementation against the Lean spec.
Known per-cycle output bounds:
- LC: 32 violations / cycle
- SCH: 16 actions / tick
- SC: 8 dispatches / tick
- HS: 8 alerts / check
- CFDP: 4 PDU actions / event
Acceptance
Notes
- Model after
kiln-foundation/src/verus_proofs/static_vec_proofs.rs
- Keep the verified subset discipline: no trait objects, no closures in harness bodies
Part of the V&V coverage initiative.
Problem
Relay engines are bounded stream transformers. The mathematical backpressure proof exists in Lean (
proofs/lean/BackpressureSafety.lean— provesoutput_count ≤ n·Kper engine). What's missing is the Rust-level state-machine verification: Kani harnesses that bound the actual implementation against the Lean spec.Known per-cycle output bounds:
Acceptance
Result::Errwithout panicking)tests/kani_<engine>.rscargo kani(orcargo-kiln kani-verify)rivet.yaml(traceability: Lean spec → Kani harness → Rust impl)Notes
kiln-foundation/src/verus_proofs/static_vec_proofs.rs