Skip to content

fix(bb): store pinned Chonk inputs under barretenberg as chonk-pinned-flows, downloaded once at build#23644

Merged
ludamad merged 4 commits into
merge-train/barretenbergfrom
cb/d444fe729991
May 28, 2026
Merged

fix(bb): store pinned Chonk inputs under barretenberg as chonk-pinned-flows, downloaded once at build#23644
ludamad merged 4 commits into
merge-train/barretenbergfrom
cb/d444fe729991

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

@AztecBot AztecBot commented May 28, 2026

Problem

bbapi/chonk_pinned_inputs.test.js fails consistently in the merge-train with ENOENT on a flow's ivc-inputs.msgpack mid-run (CI log d7647a841ee811a0): the native backend proves several flows, then the inputs directory disappears underneath it.

The pinned inputs were read from yarn-project/end-to-end/example-app-ivc-inputs-out — a working-tree directory under yarn-project/, shared across the parallel CI jobs and not owned by the barretenberg build. A concurrent yarn/e2e job cleaning that tree wipes the inputs out from under the bb test.

Fix

Make the pinned inputs a barretenberg build artifact, downloaded once, read everywhere, and give the directory a meaningful name:

  • The canonical download/read directory is now barretenberg/cpp/chonk-pinned-flows (renamed from example-app-ivc-inputs-out), gitignored and owned by the barretenberg build — never touched by yarn-project/e2e jobs.
  • The build already downloads it once via make bb-cpp-native-testsbb-cpp-chonk-inputsdownload_chonk_inputs; that now populates the new location, and the per-test chonk_inputs.sh download is an idempotent no-op against it.
  • Every consumer reads the one canonical path: the bb.js and C++ test defaults, the IVC/browser/concurrency bench scripts, batch_verifier.bench.test.ts, plus docs/skills/launch.json.
  • Live capture (refresh) is produced by the e2e stack, so it uses yarn-project/end-to-end/chonk-pinned-flows via a separate chonk_capture_dir(); chonk_inputs.sh update uploads from there. Read path and capture path are distinct.

download_pinned_chonk_inputs is a plain extract (no symlink/store layer).

Testing

No native bb build here, so not the prove loop itself, but the path/wiring is exercised:

  • chonk_inputs.sh download creates a real barretenberg/cpp/chonk-pinned-flows with all flows; it is gitignored.
  • pinned_chonk_inputs_dirbarretenberg/cpp/chonk-pinned-flows, chonk_capture_dir → e2e path.
  • All shell scripts parse; repo-wide scan confirms no remaining example-app-ivc-inputs-out references.

@AztecBot AztecBot added ci-barretenberg Run all barretenberg/cpp checks. claudebox Owned by claudebox. it can push to this PR. labels May 28, 2026
@AztecBot AztecBot changed the title fix(bb): read pinned Chonk inputs up front to avoid mid-run ENOENT fix(bb): extract pinned Chonk inputs once into a stable cache May 28, 2026
@AztecBot AztecBot changed the title fix(bb): extract pinned Chonk inputs once into a stable cache fix(bb): store pinned Chonk inputs under barretenberg, downloaded once at build May 28, 2026
@AztecBot AztecBot changed the title fix(bb): store pinned Chonk inputs under barretenberg, downloaded once at build fix(bb): store pinned Chonk inputs under barretenberg as chonk-pinned-flows, downloaded once at build May 28, 2026
@ludamad ludamad marked this pull request as ready for review May 28, 2026 23:04
@ludamad ludamad enabled auto-merge (squash) May 28, 2026 23:05
@ludamad ludamad merged commit 9cab305 into merge-train/barretenberg May 28, 2026
25 checks passed
@ludamad ludamad deleted the cb/d444fe729991 branch May 28, 2026 23:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-barretenberg Run all barretenberg/cpp checks. claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants