Skip to content

v1.108 — complete the orphaned-proof sweep (11 crates / 26 Kani harnesses gated)#247

Merged
avrabe merged 1 commit into
mainfrom
feat/kani-gate-orphaned-sweep-complete
Jul 1, 2026
Merged

v1.108 — complete the orphaned-proof sweep (11 crates / 26 Kani harnesses gated)#247
avrabe merged 1 commit into
mainfrom
feat/kani-gate-orphaned-sweep-complete

Conversation

@avrabe

@avrabe avrabe commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Completing the orphaned-proof closure

The workspace scan found 36/142 Kani harnesses (25%) unenforced. v1.104 gated the 8 flight-critical control/estimator proofs; this PR gates the remaining tractable sweep — 26 harnesses across 11 crates, all VERIFICATION SUCCESSFUL locally (cargo kani):

crate harnesses domain
relay-avoid 2 collision-prevention
relay-flowrange 2 optical-flow/range fusion
relay-mix-multi 1 multi-rotor mixer
relay-nid 5 MAVLink framing
relay-offboard 3 offboard-setpoint timeout
relay-sensvote 3 sensor voting / fault isolation
falcon-baromag 2 BMP388/IST8310 decode
falcon-esc-dshot 3 DShot encode/telemetry
falcon-gnss-ubx 1 UBX GNSS parse
relay-log 2 logging framing
relay-modextra 2 mode-extension transitions

The Kani gate now enforces 33 of 34 previously-orphaned harnesses.

Deferred (logged — not silently dropped)

relay-traj is not gated: verify_peak_jerk_sound hangs CBMC (>1200 s local timeout — the known f32/symbolic-slice intractability). Gating it would hang the Kani CI job. It needs unwind bounds + input concretisation first; that's the follow-up. It's the only remaining unenforced Kani crate after this release.

Verification

  • All 26 harnesses VERIFICATION SUCCESSFUL locally.
  • rivet validate: PASS. FV-RELAY-KANICI-003 verifies 11 requirements.
  • CI (kani.yml) is the enforcing oracle — the newly-gated matrix legs must go green.

Kani-only this slice; clippy gating for these diverse infra/driver crates is separate scope (avoids pulling out-of-scope cFS-adjacent lint noise).

🤖 Generated with Claude Code

… 26 Kani harnesses gated)

Closes the systemic orphaned-proof gap begun in v1.104. The workspace scan
found 36/142 Kani harnesses unenforced; v1.104 gated the 8 flight-critical
control/estimator ones. This gates the remaining tractable sweep — 26 harnesses
across 11 crates (relay-avoid/flowrange/mix-multi/nid/offboard/sensvote,
falcon-baromag/esc-dshot/gnss-ubx, relay-log/modextra) — all VERIFICATION
SUCCESSFUL locally. The Kani gate now enforces 33 of 34 previously-orphaned
harnesses.

DEFERRED (logged): relay-traj is NOT gated — verify_peak_jerk_sound hangs CBMC
(>1200s, f32 intractability); gating it would hang the Kani CI job. Needs unwind
bounds + input concretisation first. Only remaining unenforced Kani crate.

FV-RELAY-KANICI-003 (verifies 11 requirements). Kani-only gate this slice;
clippy gating for these diverse infra/driver crates is a separate scope.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@avrabe avrabe merged commit 054293c into main Jul 1, 2026
54 checks passed
@avrabe avrabe deleted the feat/kani-gate-orphaned-sweep-complete branch July 1, 2026 14:34
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