Skip to content

Sync harness to the no-hint proof-synthesis run; add results + reproduce docs - #2

Open
oliversssf2 wants to merge 2 commits into
mainfrom
update-no-hint-harness
Open

Sync harness to the no-hint proof-synthesis run; add results + reproduce docs#2
oliversssf2 wants to merge 2 commits into
mainfrom
update-no-hint-harness

Conversation

@oliversssf2

Copy link
Copy Markdown
Collaborator

What this does

Brings the public tool up to the harness state the no-hint whole-crate proof-synthesis run used (the Montgomery-era dev state), and documents the result.

Code

  • run.py / run_layer.py / launch.sh / admit.py / lib / skills synced to that state; the full integrity-gate suite is now public: git-recovery, frozen-edit, and forbidden-construct join the existing spec-drift, axiom-drift, tooling-drift, sibling-verify, and admit-count gates.
  • Adds run_proofonly_layers.sh (the whole-crate proof-only sweep runner) and skills/check_false_contract.py, with tests.
  • Fixes an admit-counter bug: pub(crate) proof fn axiom_* were miscounted as real obligations (the regex accepted pub /open /… but not pub(crate)), so the residual read 2 high. Fixed + regression test. No effect on any proof — the miscount only ever over-counted axioms as actionable, which is conservative for the COMPLETE gate.

README

  • Results: no-hint whole-crate synthesis on curve25519-dalek — 1,430 / 1,433 non-axiom obligations closed, 3 residual (the Lizard/Jacobi core, shared with the human reference), 2,493 verified / 0 errors, $748.02 recorded API cost (a lower bound; one re-prove pass's per-round records were not retained).
  • Reproducing and auditing: pins the model, Verus rev, start/finished trees, and the correctness + coverage two-check.
  • Integrity gates expanded from three to the full suite; dropped the stale "~1k LOC" line.

Verified (against Verus 0.2026.01.14.88f7396)

  • Imports resolve; all 14 CLIs start; shell scripts parse; 220 tests pass (8 skipped = Verus-toolchain-gated).
  • Audited the actual no-hint result tree: whole-crate cargo verus = 2,493 verified, 0 errors; non-axiom census = 3 — matching the reported result.

Review notes

  • README framing: dropped "slim … ~1k LOC — the anti-monolith" (the repo is several-k LOC now; the repo's own CLAUDE.md already notes the harness grew past ~1k). Reword to taste.
  • Reproducibility gap: the repro section refers to the admitted / nohints-proven trees and per-round records as "released with the paper's artifact." That artifact (and/or a public curve25519-dalek fork) has to be published for the steps to be fully followable — this repo ships the tool, not those trees.
  • Excluded as private/out-of-scope: AGENTS.md, demo/, internal docs/*, results/, spec-gen launchers, the peel manifests; example paths scrubbed to /path/to/….
  • The pub(crate) counter fix should probably also land in the dev harness.

🤖 Generated with Claude Code

oliversssf2 and others added 2 commits July 14, 2026 16:15
…EADME

Bring the public tool up to the Montgomery-era harness state that the no-hint
whole-crate proof-synthesis run used, so the code and the gate suite match the
reported result:

- run.py / run_layer.py / launch.sh / admit.py / lib / skills synced to that
  state; the full integrity-gate suite is now public: git-recovery, frozen-edit,
  and forbidden-construct join the existing spec-drift, axiom-drift,
  tooling-drift, sibling-verify, and admit-count gates.
- add run_proofonly_layers.sh (the whole-crate proof-only sweep runner) and the
  check_false_contract skill, with tests.
- peel machinery is intentionally out of scope for this update.

README:
- add a Results section (no-hint whole-crate synthesis on curve25519-dalek:
  1,430/1,433 non-axiom obligations closed, 3 residual shared with the human
  reference, 2,493 verified / 0 errors, $748.02 recorded API cost as a lower
  bound with the excluded re-prove pass disclosed);
- add a Reproducing-and-auditing section pinning the model, Verus rev, start and
  finished trees, and the two-check (correctness + coverage) audit;
- expand Integrity gates from three to the full suite; drop the stale "~1k LOC"
  framing (the repo's own CLAUDE.md already notes the harness grew past that).

Example paths scrubbed to /path/to/... . py_compile clean on all Python files;
the toolchain-free unit tests pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
lib/admits._AXIOM_FN_RE (and the axiom-name variant) matched pub/broadcast/
open/closed before `proof fn axiom_*`, but not `pub(crate)`. Two
`pub(crate) proof fn axiom_xdbl/xadd_projective_correct` in the curve25519-dalek
montgomery lemmas were therefore miscounted as real obligations, so the
harness/`admit_inventory` residual read 2 higher than the census-accurate count.

With the fix, a whole-crate census of the no-hint result tree reads the correct
3 non-axiom gaps (matching the reported result), and `admit_inventory` on the
montgomery lemmas reports 0 non-axiom / 9 axiom. No effect on any proof: the
pre-fix counter only ever over-counted axioms as actionable (conservative for
the COMPLETE gate). tests/test_admits_pubcrate.py pins it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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