soft3/.claude/plans/proof-system-repair-release.md

proof-system repair — the release, turnkey

owner instruction 2026-10-09: implement the whole proposal (proposals/proof-system-repair.md) and deliver a release prepared end to end. one soft3 release carries all phases.

integration base — the stand

every repository at one coherent revision, built together (~/cyber/.rel04, verified 2026-10-09): zheng feat/public-certificate-v3 (on #45 on release/0.4) · joy feat/public-certificate-v3 · nox, trident release/0.4 · lens fix/public-execution-pcs (0.2.0) · bbg 1d39975 · neuron fd24e76 · hemera, strata, tade, tok, soft3, inf, file, radio defaults · foculus fix/shared-storage-dependencies · cybergraph feat/durable-applications · mudra refactor/spell · tru master · honeycrisp feat/tip5. zheng, joy, foculus, cybergraph, soft3, tok, tru build together on it. trisha needs external tasm-lib and leaves the product path (Triton becomes a test oracle only).

work packages

wp repo(s) scope depends gate
A lens Reed–Solomon over Goldilocks (nebu NTT); fp3 points; TensorMerkle on RS with proven query counts; WHIR with hemera Merkle; soundness parameters as data — completeness + bit-flip rejection tests; sizes/verify times measured at n = 2^10..2^20
B zheng phase 1 complete: fp3 challenges (transcript, sumcheck, Spartan); legacy fold/decide/commit/verify behind feature legacy, off by default; state execution on v3; one envelope (magic, version, profile byte); specs/soundness.md; attack fixtures rejected — full suite; legacy attack tests flip or leave the default build
C foculus (+tok) tickets, pay σ, tip, step, epoch cert off legacy fold: per-ticket v3 certificates, cluster settlement verifies every ticket, φ* check on v3 — foculus suite; ticket sizes measured; a forged ticket rejected
D cybergraph, soft3 admission verifies signal proofs; node rejects bad proofs C end-to-end: node admits a valid proved signal, rejects a forged one
E zheng + lens succinct profile: Spartan + the bake-off winner per class; wire; measurements A, B small ≤ 16 KB (stretch) / ≤ 20 KB, large n = 2^20 ≤ 64 KB, verify ≤ 1 ms, bit-flip scan clean
F zheng, nox phase 3, part 1 — uniform step relation + accumulation + decider; fold mining on accumulation (zheng#51, foculus on #61) E merkle-32 and 10^6-step runs prove; 512 tickets decide in one proof. measured: size and verify grow per segment (~96 KB per 2^14-row segment, hash.tri verify 5.4 ms) — accumulation alone is not constant
R1 zheng, nox phase 3, part 2 — IVC: the accumulation step's verifier (transcript, Merkle paths, Fp3 rows, byte decompositions) as part of the next step's relation; then the Trident verifier and verify(verify(π)) F constant size ≤ 64 KB, verify ≤ 1 ms, independent of length; depth-2 fixture agrees across Rust and Trident. in progress
G zheng zk profile (masking) E zk fixtures; differential against the Triton oracle
H all docs repos close §C ledger B–G scripts/stale-proof-claims.nu → 0
R soft3, cyber versions, changelogs, release/phase1.toml pins, gates, candidate, receipts in audit/release-<date>/ all the train's gates green

parallelism is bounded by disk (35 GB free): at most three stands build at once. waves: {A, B, C} → {D, E} → {F, G} → {R1} → {H, R}. phase 3 = accumulation (F) + IVC (R1): constant size comes from R1, not from F (proposal §4).

rules held throughout

  • every claim is a test or a measurement; no number enters a document before it is measured.
  • the verifier derives what it checks; the soundness ledger has no "conjectured" row on a production profile.
  • each work package lands as PRs on the integration branches; the stand is rebuilt from pushed refs before the release.

Graph