ltl-accumulator-verified/verification
mrwulf 8530cc73f4 verification: pin the harness, audit drivers and policy files (P1-c)
This repository has the estate's strongest gates, which makes them the most
valuable to switch off. Until now every one of them was executed by scripts
that nothing pinned.

Phase 0c requires every harness file to match HARNESS.sha256 — 15 files:
check.sh, lean-guard, inventory_gate.sh, run_bare.sh, all three self-tests,
both audit drivers (Proofs/Inventory.lean, Proofs/AxiomCheck.lean), the policy
tables (inventory-allowlist.txt, AUDIT-MANIFEST.txt), the toolchain pin, the
fidelity harness and its Python transcription, and the extracted model.

WHICH files must be pinned is policy and lives in check.sh, never in the map
being consulted: the required set is derived from the filesystem (the
executable bit, plus gen/**.lean, plus an explicit list for the rest), so
deleting a pin entry is a set mismatch rather than a silent un-pinning.

gen/LTLAcc/HashExternal.lean was previously bound by nothing at all — it was
compiled and trusted. It is now pinned, and the derivation is by set, so a new
model file fails closed.

selftest_audit.sh case 9 is split rather than relabelled. Phase 0c now catches
an unpinned rogue gen module BEFORE the dead-file gate runs, so asserting only
the new diagnostic would have quietly retired the dead-file gate from the test
suite. 9a asserts the harness-set mismatch on the unpinned file; 9b pins it —
an author who added it deliberately — and asserts Phase 2 still dies with DEAD
FILE (gen). Ten cases now, all defeated.

KNOWN-GAPS and the trusted base record the circularity plainly: an author who
edits a script and refreshes its pin in one commit passes every phase. The pin
removes the silent path, not the possibility. Review at the pinned commit
remains the consumer's protection.

Verified green after the fix: button (75s), harness self-test, binding
self-test, and the ten-case audit self-test. ATTESTATION GREEN (Lean +
fidelity), all fidelity case counts identical to the pre-change run.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-29 20:13:21 +02:00
..
fidelity verification: bind statements and specification bodies (P1-a); un-stale the fidelity pin 2026-07-29 09:07:13 +02:00
gen/LTLAcc revision round 1: address both external reviews (GPT-5.6 + second Claude) 2026-07-11 22:53:47 +02:00
Proofs verification: bind statements and specification bodies (P1-a); un-stale the fidelity pin 2026-07-29 09:07:13 +02:00
AUDIT-MANIFEST.txt verification: bind statements and specification bodies (P1-a); un-stale the fidelity pin 2026-07-29 09:07:13 +02:00
check.sh verification: pin the harness, audit drivers and policy files (P1-c) 2026-07-29 20:13:21 +02:00
HARNESS.sha256 verification: pin the harness, audit drivers and policy files (P1-c) 2026-07-29 20:13:21 +02:00
inventory-allowlist.txt Review round 4: F1* absorbed (lied-size boundary), acceptCons_sound, kit reproducibility 2026-07-12 15:07:57 +02:00
inventory_gate.sh Review round 3: environment-derived audit surface, self-contained kit 2026-07-12 00:32:18 +02:00
lean-guard L1+L2: hashing shapes, domain separation, MTH/Root/ConsRec with termination 2026-07-10 23:58:00 +02:00
lean-toolchain Review round 4: F1* absorbed (lied-size boundary), acceptCons_sound, kit reproducibility 2026-07-12 15:07:57 +02:00
run_bare.sh Round 5 (housekeeping): doc-consistency welded into the button; both round-4 approvals recorded 2026-07-15 09:40:20 +02:00
selftest-harness.sh verification: pin the harness, audit drivers and policy files (P1-c) 2026-07-29 20:13:21 +02:00
selftest_audit.sh verification: pin the harness, audit drivers and policy files (P1-c) 2026-07-29 20:13:21 +02:00
selftest_statements.sh verification: bind statements and specification bodies (P1-a); un-stale the fidelity pin 2026-07-29 09:07:13 +02:00