Skip to content

profiles: delete grind-free Fast/Slim; Fast128/Slim128 take their names (proof-IO v22) - #39

Merged
rothblum merged 1 commit into
mainfrom
bloat-phase2-profiles
Aug 31, 2026
Merged

rothblum merged 1 commit into
mainfrom
bloat-phase2-profiles

Conversation

@rothblum

Copy link
Copy Markdown
Collaborator

Summary

Phase 2, item 0 of the bloat plan (ledger §C): the profile consolidation. The grind-free Fast/Slim (+1 rate/level ladder) are deleted, and the Fast128/Slim128 schedules take their names: aggressive +2/level ladder, 16-bit query PoW at every level (query term 112 bits + PoW, work-normalized to 128), larger deep-level batch grinding. Every selector and the enum Default keep the Fast/Slim names, so no call site moves. Fast100/Slim100/Secure are untouched; the *100 twins are documented as frozen historical schedules.

  • 28 TOMLs deleted, the renamed *128 files take their place (98 → 70 embedded configs). Running gen_ligerito_configs regenerates the new set byte-identically, so the derivation and the embedded files agree.
  • Proof-IO VERSION 21 → 22 with a changelog note: no payload field changes, but a v21 fast/slim proof carries a different query/rate/PoW schedule than this build derives for those names.
  • Three pin surfaces re-pinned, two deterministic print runs each: union_m6_fixtures (6 digests), union_element (7), transcript_shape (1). Tower tape pins hold: Chain128 already selected the *128 twins.
  • Docs: enum docstrings and schedule comments, recursion-100-128-variants.md, a dated addendum at the top of the 128-bit audit (its "Fast uses lambda_query = 0" rows describe the deleted profile), the plan's Phase 2 list, the ledger's execution note.

Motivation

Two twins per strict profile doubled the config matrix and the grinding-policy matches, and the review of #37 found the ledger's premise for the merge was wrong (the twins did not differ "only in the rate ladder"). Ron's decision on 2026-08-27: keep the *128 schedules, PoW included, under the base names.

Validation

Full workspace suite (release, --no-fail-fast) green after the re-pins. The ignored tower suite (12 tests, tape pins, spine convergence, m32 headline) green. Clippy -D warnings clean on aarch64 and on the exact CI x86_64 lint leg. The CUDA host-only ladder replay (make ligerito_f256_host, m22 fast) matches the F256 driver on every proof field with the new schedule. The Blackwell GPU CI job still needs succinct-gpu-05 back; the CUDA kernels take the ladder, per-level rates and grinding from the dumped config, so no kernel change was needed.

Caveats

Transcript-moving for strict Fast/Slim users. Anyone holding v21 proofs under those profiles must re-prove; fast100/slim100/secure proofs are unaffected apart from the version byte.

🤖 Generated with Claude Code

…es (proof-IO v22)

Phase 2 of the bloat plan, item 0 (ledger §C, Ron's call 2026-08-27).

The grind-free `Fast`/`Slim` with the +1/level ladder are gone. The
`Fast128`/`Slim128` schedules — aggressive +2/level ladder, 16-bit query
PoW at every level (query term 112 bits + PoW, work-normalized to 128),
larger deep-level batch grinding — now carry the `Fast`/`Slim` names, so
every selector and the enum Default get them without moving. The 28
`m*_fast.toml`/`m*_slim.toml` are replaced by the renamed `*128` files
(98 -> 70 embedded configs); `gen_ligerito_configs` regenerates the new
set byte-identically, so the derivation and the embedded files agree.
`Fast100`/`Slim100`/`Secure` are untouched; the *100 twins are documented
as frozen historical schedules rather than "Fast with one knob changed".

Transcript-moving for strict Fast/Slim users: proof-IO VERSION 21 -> 22
with a changelog note. Re-pinned, two deterministic print runs each:
union_m6_fixtures (6 digests), union_element (7), transcript_shape (1).
Tower tape pins hold — Chain128 already selected the *128 twins.

Verified: full workspace suite (release, --no-fail-fast) green after the
re-pins; clippy -D warnings clean; the CUDA host-only ladder replay
(make ligerito_f256_host, m22 fast) matches the F256 driver on every
proof field. Docs: enum docstrings, ligerito.rs schedule comments,
recursion-100-128-variants.md, a dated addendum in the 128-bit audit
(its "Fast lambda_query = 0" rows describe the deleted profile), the
plan's Phase 2 list and the ledger's execution note.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@rothblum
rothblum merged commit 6577d6e into main Aug 31, 2026
5 of 6 checks passed
rothblum added a commit that referenced this pull request Aug 31, 2026
retire Keccak and the Merkle-path product (stacked on #39)
rothblum added a commit that referenced this pull request Aug 31, 2026
…se-0 refactor

Brings the branch up to the post-stack main (8a36c91). Resolutions:

- keccak.rs, keccak3.rs, merkle_path.rs, merkle_path_common.rs: main
  deleted them (Phase 2 retirements); this branch's edits to them were
  mechanical (imports, the VerifyError rename), so the deletions win.
- mixed.rs / prover.rs / merkle_r1cs.rs: main's side (the Merkle registry
  tiers, the timed-prove chain and the walker are gone); the unused
  std::time::Instant import went with it.
- transcript_record.rs: this branch's re-export of flock-transcript wins;
  main's TranscriptOp::carries_payload() is ported into
  flock-transcript/src/transcript_record.rs.
- proof_io.rs: this branch's trimmed doc style wins, but the version is
  main's v22 with a short note on what v22 means (profile consolidation,
  retired registry codes 3/4); the long per-version history stays in git.
- test_rng moved DOWN into flock-field (flock-core re-exports it): git's
  rename detection carried main's test-RNG edits into the moved field
  files, and flock-field cannot depend on flock-core. Every
  flock_core::test_rng::Rng path still works.
- Cargo.lock: regenerated by the build.

Verified: cargo check + clippy -D warnings clean across the workspace
(aarch64); full suite + tower pins run follows.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@rothblum
rothblum deleted the bloat-phase2-profiles branch September 3, 2026 08:04
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