Own the runner's release-commit staging explicitly (audit step 2)#159
Merged
Conversation
Per the audit (#157, docs/pre_build_failure_audit.md): the notebooks step's bare `git add *.ipynb` was bash-glob-regime-dependent, and the Colab steps' `git add -A` swept the workspace catalogue (llms-full.txt, workspace_index.json) and README into a commit labeled "bump Colab URL tag refs" (verified 7e3c007). Notebooks step now stages notebooks/ + the catalogue it produces, with an honest message; both Colab bump steps use `git add -u` (tracked modifications only — exactly what the URL rewriter can produce). The activity-gate's "Release <version>:" message prefix is preserved. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This was referenced Jul 16, 2026
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.
Summary
Step 2 of the audit design (#156/#157; campaign #155): give the runner's swept artifacts an owner in
release.yml. Three staging changes, no new behaviour intended:git add *.ipynbchanged meaning with bash glob state (rootstart_here.ipynbpresent → stages only that, leavingnotebooks/to the latergit add -Asweep; absent → literal falls through to git's recursive pathspec). Replaced with explicitgit add -- notebooks/ llms-full.txt workspace_index.json(+ root*.ipynbbehind acompgenguard) — the catalogue files are committed where they are produced, and the commit message becomes honest (update notebooks and workspace catalogue).git add -A→git add -u. The bumper rewrites existing tracked*.rst/*.md/*.ipynb/*.pyin place; tracked-modifications-only is exactly its effect. This is thegit add -Athat sweptllms-full.txt/workspace_index.json/README into a mislabeled commit (verified:7e3c007in autofit_workspace).git add -A→git add -u.Preserved contracts, checked before editing: the
Release <version>:commit-message prefix is what PyAutoBrain's activity gate matches (its test's own comment) — both messages keep the prefix;bump_colab_urls.shis untouched; all six affected repos carry both catalogue files (verified);git add -- notebooks/stages deletions fromgenerate.py's rmtree-and-rebuild.Testing limits, stated honestly: workflow branches cannot be CI-exercised pre-merge — validation here is
yaml.safe_load(passes), the full PyAutoBuild suite (113/113; nothing parses release.yml), and the staging semantics argued above. The real proof is the next release run's commit contents; suggest checking that the "bump Colab URL tag refs" commits contain only URL rewrites after the next release/rehearsal.Shipped under the human-authorized corrective-PR exception for Heart RED (standing this session). PR-open only; merge stays human.
API Changes
None — CI workflow staging semantics only.
Test Plan
yaml.safe_load(release.yml)passes.compgenguard safe underbash -e.notebooks/+ catalogue files; Colab commit should carry only URL rewrites.Generated by the PyAutoLabs agent workflow.