Skip to content

feat: merge-train/barretenberg#23652

Merged
AztecBot merged 2 commits into
nextfrom
merge-train/barretenberg
May 29, 2026
Merged

feat: merge-train/barretenberg#23652
AztecBot merged 2 commits into
nextfrom
merge-train/barretenberg

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

@AztecBot AztecBot commented May 28, 2026

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

…-flows, downloaded once at build (#23644)

## 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-tests` →
`bb-cpp-chonk-inputs` → `download_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_dir` → `barretenberg/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.
Copy link
Copy Markdown
Collaborator

@ludamad ludamad left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Auto-approved

@AztecBot AztecBot added this pull request to the merge queue May 29, 2026
@AztecBot
Copy link
Copy Markdown
Collaborator Author

🤖 Auto-merge enabled after 4 hours of inactivity. This PR will be merged automatically once all checks pass.

Merged via the queue into next with commit 4963d05 May 29, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants