chore(fast-inbox): single canonical path for rollup sample-input regeneration (A-1435)#24795
Open
spalladino wants to merge 4 commits into
Open
chore(fast-inbox): single canonical path for rollup sample-input regeneration (A-1435)#24795spalladino wants to merge 4 commits into
spalladino wants to merge 4 commits into
Conversation
spalladino
force-pushed
the
spl/a-1434-inbox-constants-gen
branch
from
July 19, 2026 01:25
57e98bd to
beda331
Compare
spalladino
force-pushed
the
spl/a-1435-regen-dedup
branch
from
July 19, 2026 01:25
884dd6e to
4e4b32c
Compare
spalladino
force-pushed
the
spl/a-1434-inbox-constants-gen
branch
from
July 19, 2026 14:05
beda331 to
c49ff84
Compare
spalladino
force-pushed
the
spl/a-1435-regen-dedup
branch
from
July 19, 2026 14:05
4e4b32c to
336c977
Compare
spalladino
force-pushed
the
spl/a-1434-inbox-constants-gen
branch
from
July 19, 2026 15:10
c49ff84 to
eaae5fb
Compare
spalladino
force-pushed
the
spl/a-1435-regen-dedup
branch
2 times, most recently
from
July 19, 2026 15:36
7b88209 to
de28e00
Compare
spalladino
force-pushed
the
spl/a-1434-inbox-constants-gen
branch
2 times, most recently
from
July 19, 2026 17:57
2d2d3cf to
a63553a
Compare
spalladino
force-pushed
the
spl/a-1435-regen-dedup
branch
2 times, most recently
from
July 19, 2026 18:02
7b4f10a to
5539a94
Compare
spalladino
force-pushed
the
spl/a-1434-inbox-constants-gen
branch
2 times, most recently
from
July 19, 2026 18:08
17bdffa to
9d89bdc
Compare
spalladino
force-pushed
the
spl/a-1435-regen-dedup
branch
2 times, most recently
from
July 19, 2026 20:30
2e84e2e to
a6dbe2a
Compare
spalladino
force-pushed
the
spl/a-1434-inbox-constants-gen
branch
from
July 19, 2026 20:30
9d89bdc to
b6660d3
Compare
spalladino
force-pushed
the
spl/a-1435-regen-dedup
branch
from
July 19, 2026 20:48
a6dbe2a to
bd8896e
Compare
…neration (A-1435) Make the prover-client regenerate_rollup_sample_inputs suite the sole owner of every block-root, block-merge, checkpoint, tx-merge, and root rollup Prover.toml, and stop the e2e full.test dump from writing the block-root and checkpoint samples it overlapped on. The two paths previously both wrote rollup-block-root-first, rollup-block-root-first-single-tx, rollup-checkpoint-root-single-block, rollup-checkpoint-merge, and rollup-root, so the committed fixtures drifted depending on which ran last. The e2e dump now regenerates only what needs real client-proved transactions the simulated orchestrator cannot produce: the private-kernel circuits and the transaction-base rollups. A dedicated three-tx scenario restores rollup-tx-merge coverage (dropped when orchestrator_single_checkpoint.test.ts was replaced), so the suite covers every rollup circuit at or above the transaction merge. Update the regen docs (barretenberg cpp CLAUDE.md, update-prover-toml and gate-counts skills) to the two-command split and drop the dead orchestrator_single_checkpoint references.
…en and fix stale regen command patterns (A-1435) Post-flip a zero-tx non-first block carrying a message bundle is a live block shape routed through the msgs-only block root, so the regen suite gains a scenario with a per-block message distribution that dumps rollup-block-root-msgs-only, and the circuit joins the CI nargo-execute list. The first regen run creates crates/rollup-block-root-msgs-only/Prover.toml, which must be committed alongside the other regenerated tomls. Also fixes the documented e2e regen command: the prover full test lives at single-node/prover/server/full.test.ts, so the old e2e_prover/full.test jest pattern matches nothing.
…-1435) makeCheckpoint concentrates every scenario message into the first block, whose bundle pads to MAX_L1_TO_L2_MSGS_PER_BLOCK (256), so seeding scenarios with the per-checkpoint cap (1024) threw on regeneration. Also distribute messages across both blocks of the rollup-block-root scenario so the committed non-first block-root sample carries a non-empty bundle.
spalladino
force-pushed
the
spl/a-1434-inbox-constants-gen
branch
from
July 19, 2026 20:51
05ce596 to
ab7ddb2
Compare
spalladino
force-pushed
the
spl/a-1435-regen-dedup
branch
from
July 19, 2026 20:51
bd8896e to
05b40c5
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Deduplicates how the committed rollup protocol-circuit sample inputs (
noir-projects/noir-protocol-circuits/crates/rollup-*/Prover.toml) get regenerated. Two paths previously both wroterollup-block-root-first,rollup-block-root-first-single-tx,rollup-checkpoint-root-single-block,rollup-checkpoint-merge, androllup-root, so the committed fixtures drifted depending on which ran last.regenerate_rollup_sample_inputs.test.tssuite the sole owner of every rollup circuit at or above the transaction merge: the block-root variants, block-merge, both checkpoint roots, checkpoint-merge, tx-merge, and root.full.test.tsdump from writing the block-root and checkpoint samples it overlapped on. The e2e dump now regenerates only what needs real client-proved transactions the simulated orchestrator cannot produce: the private-kernel circuits and the transaction-base rollups (rollup-tx-base-private,rollup-tx-base-public).rollup-tx-mergecoverage, which was dropped whenorchestrator_single_checkpoint.test.tswas deleted and replaced by this suite. A block with three txs forces one tx-merge before the two-input block root, whereas one- or two-tx blocks feed the block root directly.barretenberg/cpp/CLAUDE.md, theupdate-prover-tomlandgate-countsskills, and theupdateProtocolCircuitSampleInputsJSDoc) to the two-command split and removes the deadorchestrator_single_checkpoint.test.tsreferences.Ownership after this change (each committed rollup
Prover.tomlhas exactly one writer, no overlap):AZTEC_GENERATE_TEST_DATA=1 yarn workspace @aztec/prover-client test regenerate_rollup_sample_inputs): the 11 block-root / block-merge / checkpoint / tx-merge / root tomls.AZTEC_GENERATE_TEST_DATA=1 FAKE_PROOFS=1full.test): private-kernel circuits plusrollup-tx-base-private/rollup-tx-base-public.Part of the Fast Inbox (AZIP-22) cleanup stack, on top of #24784..#24794.
Validation: neither regeneration path runs in this environment (the prover-client build here has stale artifacts and e2e needs a full L1/anvil stack), so the actual fixture regeneration and the downstream
nargo executechecks are validated on CI. Locally verified statically that the suite's scenariodumparrays plus the e2e list exactly cover all 13 committed rollup tomls with no overlap, and that a three-tx block routes throughgetTxMergeRollupProofand capturesrollup-tx-mergetest data.Review follow-up (phase-2 final review)
Post-flip a zero-tx non-first block carrying a bundle is a live shape routed through the msgs-only block root (wired in #24789), so the regen suite gains a per-block-distribution scenario dumping
rollup-block-root-msgs-only, and the circuit joins the CInargo executelist — the first regen run must create and commit itsProver.toml. The documented e2e regen command also moves to the file's real location (single-node/prover/server/full.test; the olde2e_prover/full.testjest pattern matches nothing).