Round 3 returned fit-once-one-item-lands (first non-DO-NOT-ATTEST verdict).
The one blocker is an independently-executed toolchain session, which is
operator-side. This commit closes the two nonblocking recommendations:
- extract.sh: source the aeneas toolchain env AFTER the provenance guard, so
a party without the toolchain gets the clean exit-2/3/4 diagnostics instead
of a confusing env error (the reviewer hit exactly this). Re-verified: exit
2/3 clean in an env-stripped shell, happy path byte-identical.
- RECORDED-RUN.md: append the locked cargo run under the pinned nightly —
the differential bridge test mono_matches_deployed_verify passes with
--locked --lib on nightly-2026-06-01, and the full default-features suite
is green (13+3+12+37 passed, 0 failed). Also documents why single-feature
integration tests cannot compile (upstream test files hardcode all twelve
parameter sets), resolving the round-1 GPT observation.
No proof, model, or gate change.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Addresses the round-2 reviewer punch-list. No theorem statement, proof term,
or fold definition changed; the eleven cones are unchanged (independent
collectAxioms dump in verification/RECORDED-RUN.md).
AUDIT GATE (both reviewers, the critical one)
- Retire the bash #print-axioms text parser (fail-open on empty/truncated
reports, and only a SUBSET check). Replace with verification/Proofs/Audit.lean:
reads each certificate's cone from the kernel via collectAxioms and asserts
EXACT set equality against its expected boundary. Extra axiom, dropped
oracle, renamed/deleted cert, or an axiom/opaque sham each throw -> non-zero
Lean exit. No text to misparse; nothing fails open. check.sh Phase 3 now just
compiles it (and still requires the explicit PASSED line).
- check-selftest.sh rewritten to attack the new gate: dead-file, smuggled extra
axiom (named), dropped-oracle (subset would pass, exact must not), and a
vanished certificate (the collectAxioms-returns-[] trap). All four rejected.
REPRODUCIBILITY (GPT B1.4 / B1.5)
- extract.sh refuses a wrong-commit or dirty source tree (fail-closed), takes
an optional source-path arg, and pins the source commit.
- verification/PROVENANCE.json: single machine-readable pin set (source +
charon + aeneas commits/channel + lean + ocaml) with generated-file sha256.
- Re-running extract.sh reproduces gen/SlhVerify/{Types,Funs}.lean
byte-identically (companion fips205-source commit adds Cargo.lock +
rust-toolchain.toml; verified not to perturb the model).
DOC HONESTY (both reviewers)
- README: fix the self-contradiction (apex "not yet proven" trailer vs the
proven apex), the false "oracles kept OUTSIDE every cone" (they are INSIDE,
by design), "deployed monomorphic path" and "semantics-identical for every
parameter set" overclaims, "only two lines changed", stale snapshot head;
retitle the stale future-tense "what will be claimed" section.
- TRUSTED-BASE: drop "nothing proven yet"; add base_2b-inner and deployment-
bridge non-claims explicitly; current pin.
- ChainSpec header: "deployed monomorphic path" -> private verify_mono facade
(comment only).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>