refactor: split noir-projects into fnd/ and labs/ - #25007
Merged
Conversation
nchamo
force-pushed
the
nchamo/noir-projects-split
branch
from
July 27, 2026 15:59
1bef4ed to
f2de9b9
Compare
nchamo
force-pushed
the
nchamo/noir-projects-split
branch
3 times, most recently
from
July 27, 2026 17:09
13be31e to
e9e20b4
Compare
Pure git mv, no content changes. fnd/ gets mock-protocol-circuits, noir-protocol-circuits, the protocol contracts (with their codegen list), gates_report.sh and the circuit-list JSONs; labs/ gets aztec-nr, contract-snapshots, protocol-fuzzer, the remaining contract groups and the noir-contracts build harness (workspace, bootstrap, pinned standard-contracts tarball, scripts). Does not build on its own: path references and the harness split catch up in the next two commits.
Mechanical path updates only: every noir-projects/<project> reference gains its fnd/ or labs/ group segment (scripts, docs, CI hash patterns, CODEOWNERS, Makefile), harness references default to labs/noir-contracts (the fnd consumers are repointed in the next commit), and aztec-nr's protocol_types dep crosses into fnd/. Historical docs (versioned snapshots, migration notes, old-tag examples) keep the old layout since their links pin release tags that predate the move.
nchamo
force-pushed
the
nchamo/noir-projects-split
branch
from
July 27, 2026 17:18
e9e20b4 to
6bac190
Compare
fnd/noir-contracts gets its own workspace (the three protocol contracts) and a trimmed bootstrap: compile machinery only, no TXE tests (protocol packages have none), no docs flow, no pinned standard contracts. The protocol-contracts data and aztec.js protocol contract type generators (the artifact consumers #24998 left reading the old harness root) point at its target. labs/noir-contracts keeps the canonical harness: TXE test wiring, the docs/examples flow, gen_test_token, the pinned standard-contracts tarball, and (per review) test_aztec_process.sh and bench_artifact_sizes.sh, which move under its scripts/. Also: relative-depth fixes (../../ -> ../../../) in moved projects' scripts, run_test.sh anchors NARGO at the repo root, contract-snapshots' repo_root() gains a level, orchestration/Makefile lists name the new pipelines, fixes for path references that were already stale before the move, and the constructed paths the rewrite pass could not see: the root bench list's brace expansion, the aztec-up counter scaffold's dep-path sed, and the cli-wallet claim flow's FeeJuice artifact lookup (now an explicit path into the fnd target).
nchamo
force-pushed
the
nchamo/noir-projects-split
branch
from
July 27, 2026 18:00
6bac190 to
7daf4d8
Compare
nchamo
marked this pull request as ready for review
July 27, 2026 18:56
nchamo
requested review from
a team,
IlyasRidhuan,
LeilaWang,
MirandaWood,
charlielye and
nventuro
as code owners
July 27, 2026 18:56
nventuro
approved these changes
Jul 28, 2026
nventuro
left a comment
Contributor
There was a problem hiding this comment.
The contract_class_registry crate holds tests (plain nr tests, not txe) which are no longer being run. These just need nargo test.
This was referenced Jul 28, 2026
feat(fast-inbox): per-block L1-to-L2 message bundles, move parity to checkpoint root (A-1374)
#24603
Closed
Closed
Closed
Closed
AztecBot
added a commit
to noir-lang/noir
that referenced
this pull request
Aug 3, 2026
aztec-packages moved noir-projects into fnd/ and labs/ subdirectories in AztecProtocol/aztec-packages#25007, so every pinned project path in the external-library and benchmark configs now points at a directory that no longer exists at the newly pinned commit. - noir-projects/aztec-nr -> noir-projects/labs/aztec-nr - noir-projects/noir-contracts -> noir-projects/labs/noir-contracts - noir-projects/noir-protocol-circuits/... -> noir-projects/fnd/noir-protocol-circuits/... The expected-failure files under .github/critical_libraries_status are keyed by project path, so they move alongside the config entries.
rangozd
pushed a commit
to rangozd/aztec-packages
that referenced
this pull request
Aug 5, 2026
BEGIN_COMMIT_OVERRIDE refactor: split noir-projects into fnd/ and labs/ (AztecProtocol#25007) fix(aztec-nr): restrict raw note-enqueue sink to pub(crate) (AztecProtocol#24974) END_COMMIT_OVERRIDE
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.
First step of splitting noir-projects by owner, ahead of the repo split: Foundation owns the protocol circuits and protocol contracts, Labs owns aztec-nr and the application-layer contracts and tooling. Grouping the sources by owner now makes the eventual extraction a clone-and-delete of one directory per repo. This PR is Noir-side only: the JS packages already got their matching split in #24998.
The change
Split into commits best reviewed one at a time (the intermediate states intentionally do not build; only the final state does, and PRs squash on merge):
5d291c2 — moves only. Pure
git mv, no content changes.fnd/: mock-protocol-circuits, noir-protocol-circuits, the protocol contracts (with their codegen list), gates_report.sh, and the chonk/rollup circuit-list JSONs.labs/: aztec-nr, contract-snapshots, protocol-fuzzer, the account, app, fees, standard, test, libs and protocol_interface contract groups, and the noir-contracts build harness (workspace, bootstrap, pinned standard-contracts tarball, scripts).7e37e09 — mechanical path rewrites. Every
noir-projects/<project>reference gains itsfnd/orlabs/segment (scripts, docs, CI hash patterns, CODEOWNERS, Makefile), and aztec-nr'sprotocol_typesdep crosses intofnd/. Historical docs keep the old layout since their links pin release tags that predate the move.7daf4d8 — splits the noir-contracts pipeline in two.
fnd/noir-contractsgets its own workspace (the three protocol contracts) and a trimmed bootstrap (no TXE tests, no docs flow, no pinned standards); the protocol-contracts data and aztec.js protocol contract type generators (the artifact consumers chore!: move protocol contracts out of noir-contracts.js #24998 left reading the old harness root) point at its target.labs/noir-contractskeeps the canonical harness: TXE test wiring, the docs/examples flow, gen_test_token, the pinned standard-contracts tarball, and the aztec_process + artifact-size scripts under its scripts/. Plus relative-depth fixes in moved scripts, orchestration/Makefile updates, fixes for path references that were already stale before the move, and the constructed paths the rewrite pass could not see (the root bench list's brace expansion, the aztec-up counter scaffold's dep-path sed, the cli-wallet claim flow's FeeJuice artifact lookup).757b135d861aa25999600b21b52436861d70e83b — per-side orchestration + protocol contract tests (review follow-up). Replaces the top-level
noir-projects/bootstrap.shwithfnd/bootstrap.shandlabs/bootstrap.sh, driven directly by the root Makefile:generate_variantsmoves intofnd/noir-protocol-circuits, and the format check runs the two sides serially in one target since they share the nargo dependency cache. Addstest_cmdstofnd/noir-contractsand aprotocol-contracts-testsMakefile target, restoring thecontract_class_registrynargo tests the split had dropped.8a98624ab4652da5b93b64eee1becbd7ba5aca27 — cache-key fixes. Restores
noir-projects/.rebuild_patterns(yarn-project and boxes hash it via a brace expansion the reference sweep could not see) and repoints noir-protocol-circuits'circuits_hashpattern at thefnd/path so protocol-circuit test and bench cache keys vary with circuit sources again.Each side compiles its contracts into its own
target/, so nothing atnoir-projects/top level remains except shared helpers (precommit.sh,scripts/run_test.sh); the root Makefile drives the two sides directly. The only cross-group source dep is aztec-nr →protocol_types, the boundary a follow-up PR turns into a versioned dependency.