feat(labs): one command, one page — scripts/labs, REPO.md and the labs-workflow skill - #25352
Open
ludamad wants to merge 11 commits into
Open
feat(labs): one command, one page — scripts/labs, REPO.md and the labs-workflow skill#25352ludamad wants to merge 11 commits into
ludamad wants to merge 11 commits into
Conversation
…s-workflow skill The labs workflow read as a sequence of scripts to remember; this collapses it: - `scripts/labs <verb>`: apply, status, export, check, bump <ref> [--commit|--pr], upstream <n>.. [--push], port <pr> [--push], run <cmd>, test. - `apply` marks the labs gitlink skip-worktree, so git status, `git add -u` and `git commit -a` leave the permanently-ahead submodule alone and a bare `git add labs` is a no-op; the pin moves only with bump. The pre-commit guard reads the index with --ignore-submodules=none so a deliberately staged patch commit is still refused. - `apply` installs a post-commit hook in labs/ that re-exports the series, so the .patch files cannot lag the checkout (the marker commit and the tooling's own commits opt out). - `--push` on upstream/port runs the printed push and gh pr create; `bump --commit` records gitlink, foundry locks and series in one commit, `--pr` pushes it as labs-bump/<short> and opens the PR, listing the patches upstream absorbed. - REPO.md: the cross-repository workflow (foundation, private, labs) on one page; the `labs-workflow` skill points at it; CLAUDE.md and the README point at both. Lifecycle test covers the hidden gitlink, the auto-export hook and bump --commit.
ludamad
force-pushed
the
ad/labs-workflow
branch
from
August 28, 2026 21:14
40c4548 to
5049679
Compare
added 6 commits
August 31, 2026 12:04
… no pushes to aztec-node upstream loses --push and its printed push/PR commands: the labs team drains the .patch files with git am; the branch it builds is a local preview. port keeps --push for someone with aztec-node write access; the foundation side itself never pushes to aztec-node.
…the drain model" This reverts commit cf1172e.
…s/labs — no pushes to aztec-node" This reverts commit 53a997e.
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.
Stacked on #25347 → #25348 → #25346. Makes the cross-repo workflow terse enough to fit on one page, then writes that page.
Tooling
scripts/labs <verb>—apply,status,export,check,bump <ref> [--commit|--pr],upstream <n>.. [--push],port <pr> [--push],run <cmd>,test.labsgitlink is skip-worktree afterapply:git statusis quiet,git add -u/commit -askip it, a baregit add labsis a no-op; onlybumpmoves the pin (itsupdate-indexclears the bit;applyre-sets it). The pre-commit guard reads the index with--ignore-submodules=none, so a deliberately staged patch commit is still refused.applyinstalls apost-commithook inlabs/that re-exports the series (hook unsets git'sGIT_DIR; marker and tooling commits opt out viaLABS_PATCHES_NO_AUTO_EXPORT=1).--pushonupstream/port(needs aztec-node write access — labs employees run that step);bump --commit(one commit: gitlink + foundry locks + patches) andbump --pr(pushlabs-bump/<short>, open the PR, list patches absorbed upstream).bump --commit(16 checks).Docs
REPO.md: build/test, change labs from the foundation, port a PR, take labs changes in, public ↔ private, "if this happens" — one page, every command real..claude/skills/labs-workflow/SKILL.mdpoints at it with the verb table and the rules that prevent real mistakes.<labs_submodule_patches>/<git_staging>andlabs-patches/README.mdupdated to match.