Skip to content

v1.104 — enforce the 8 orphaned flight-critical control+estimator Kani proofs#243

Merged
avrabe merged 1 commit into
mainfrom
feat/kani-gate-orphaned-control-proofs
Jun 27, 2026
Merged

v1.104 — enforce the 8 orphaned flight-critical control+estimator Kani proofs#243
avrabe merged 1 commit into
mainfrom
feat/kani-gate-orphaned-control-proofs

Conversation

@avrabe

@avrabe avrabe commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

What

A workspace scan found 36 of 142 Kani harnesses (25%) authored but absent from kani.yml — CI never ran them. This is the same orphaned-proof gap that left relay-rc unenforced for ~40 releases and relay-mix-quad's MIX-P05..08 unenforced until v1.102.

This PR closes the highest-safety subset: the 8 control + estimator proofs across 4 crates, all locally VERIFICATION SUCCESSFUL and now gated on every PR.

crate harnesses
relay-arm verify_arming_total, verify_arming_torque_gated
relay-adrc verify_command_filter_saturation, verify_from_bandwidth_separation
relay-geo verify_shield_contract
relay-iekf verify_nis3_total, verify_spoof_monitor_no_false_alarm, verify_clamp_factor_bounded

Changes

  • kani.yml: add the 4 crates to the model-checking matrix (the roll-up "Kani gate" required check now covers them).
  • ci.yml: add the 4 crates to the -D warnings clippy gate. This surfaced a latent collapsible_match in relay-arm's arming state machine (DISARMED arm) — refactored to a match guard; both relay-arm Kani harnesses re-verified SUCCESSFUL, proving the refactor preserved semantics.
  • FV-RELAY-KANICI-002: rivet enforcement artifact (companion to KANICI-001), verifies ARM/ADRC/SHIELD/IEKF/SPOOF requirements.
  • Adopt the new rivet release: field (rivet 0.22.0 release-handling) on KANICI-002 (falcon-v1.104.0) + retroactively on FV-FALCON-FAULT-002 (falcon-v1.103.0).

Verification

  • All 8 harnesses VERIFICATION SUCCESSFUL locally (kani 0.67).
  • cargo test for the 4 crates: 54 passed, 0 failed.
  • cargo clippy -D warnings clean for all 4.
  • rivet validate: PASS. rivet release status falcon-v1.104.0 correctly reports NOT-cuttable (exit 1) until the proofs are CI-verified.

Tooling friction filed

rivet modify --set-release corrupts artifacts with folded/literal multiline scalars (inserts the key mid-block) → pulseengine/rivet#613. release: fields here are hand-placed.

Follow-up

Remaining orphaned slice: 12 crates (~28 harnesses) — flight-support + HAL drivers + infra — the next enforcement release.

🤖 Generated with Claude Code

…+estimator Kani proofs

A workspace scan found 36 of 142 Kani harnesses (25%) authored but absent
from the kani.yml matrix — CI never ran them. Same orphaned-proof gap that
left relay-rc unenforced ~40 releases and relay-mix-quad's MIX-P05..08
unenforced until v1.102. This closes the highest-safety subset: the 8
control + estimator proofs across 4 crates, all locally VERIFICATION
SUCCESSFUL and now gated on every PR.

  relay-arm   verify_arming_total / verify_arming_torque_gated
  relay-adrc  verify_command_filter_saturation / verify_from_bandwidth_separation
  relay-geo   verify_shield_contract
  relay-iekf  verify_nis3_total / verify_spoof_monitor_no_false_alarm / verify_clamp_factor_bounded

- kani.yml: add relay-arm/adrc/geo/iekf to the model-checking matrix
  (the roll-up "Kani gate" required check now covers them).
- ci.yml: add the same 4 crates to the -D warnings clippy gate. This
  surfaced a latent collapsible_match in relay-arm's arming state machine
  (DISARMED arm) — refactored to a match guard; BOTH relay-arm Kani
  harnesses re-verified SUCCESSFUL, proving semantics preserved.
- FV-RELAY-KANICI-002: rivet enforcement artifact (companion to
  KANICI-001), verifies ARM/ADRC/SHIELD/IEKF/SPOOF requirements.
- Adopt the new rivet `release:` field (rivet 0.22.0 release-handling)
  on KANICI-002 (falcon-v1.104.0) and retroactively on FV-FALCON-FAULT-002
  (falcon-v1.103.0). Hand-placed: `rivet modify --set-release` corrupts
  folded scalars (filed pulseengine/rivet#613).

Remaining orphaned slice: 12 crates (~28 harnesses) flight-support + HAL
drivers + infra — the next enforcement release.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@avrabe avrabe merged commit 5787072 into main Jun 27, 2026
43 checks passed
@avrabe avrabe deleted the feat/kani-gate-orphaned-control-proofs branch June 27, 2026 10:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant