You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
R3-core of the version-pinning design review (#118). Every release pushes "Update version to X" commits to all five library mains and "pin workspace version" / README-stamp commits to every workspace main — the noise engine behind the June/July accidental-release cascade (stale CI storms, email flood, org-wide cron pause). The wheels already get their version from sed at build time, so none of these commit-backs are needed for published artifacts. This task makes releases wheels+tags-only, and removes the scheduled run_number version fallback that produced the 2026.6.25.641 → 2026.7.6.649 accident.
Autonomy:--auto, effective supervised (feature cap — deliberate behavior change, not a pure refactor). Plan recorded here; ship sign-off will park with a batched question.
Plan
Scheduled releases version as <date>.1, never <date>.<run_number> (rehearsal uniqueness already comes from the .devN segment).
release job: keep build-tree sed stamp + annotated tag + git push --tags; drop the __init__.py commit-back and branch push to library mains.
release_workspaces: drop the "Write workspace version" step (obsolete under PyAutoConf#118 floor semantics) and the README version-stamp commit; keep notebook regen, Colab bumps, API baseline, workspace tags (their cadence is Q2 on research: version-pinning design review — exact pins vs daily release #118, decided separately).
Merge gate: merge only after PyAutoConf#118 (R2), so the release that stops writing pins also ships the floor check.
Detailed implementation plan
Affected Repositories
PyAutoBuild (only)
Branch Survey
Repository
Current Branch
Dirty?
./PyAutoBuild
main
clean
Note: active.md still carries a PyAutoBuild claim from morning-status-release-rehearsal, but all three of its PRs (Build#119, Heart#40, Mind#41) are merged — the claim is stale post-merge state, recorded here rather than deleting another session's entry.
.github/workflows/release.ymlversion_number job: VERSION="${DATE_FORMATTED}.${MINOR_VERSION:-1}" (both the live and rehearsal composition lines) — a same-day manual dispatch after a scheduled live release must pick its own minor_version (twine will loudly reject a duplicate otherwise).
release job: delete the Update version step's git commit; in Tag, drop git push (branch), keep git push --tags. The sed stamps stay (they version the build tree that produces the wheels; pyproject.toml sibling-pin sed unchanged).
release_workspaces: delete the Update version in README and Write workspace version steps; leave notebook regen / Colab bumps / API baseline / tag-and-push untouched.
Sanity: python -m pytest tests/ in PyAutoBuild; YAML-parse the workflow; grep the repo for consumers of the removed steps (verify_workspace_versions already removed in Add a release-execution skills root (pre_build) #110-era cleanup).
Library __version__ via importlib.metadata (parked to avoid conflicting with the in-flight PyAutoConf#118 worktree).
PyAutoHeart version_skew rework for floor semantics (compares workspace pins vs __init__ stamps; goes inert once both freeze — needs a new signal source, e.g. floor vs latest tag).
Original Prompt
Click to expand starting prompt
R3 of PyAutoBuild#118 (endorsed 2026-07-08): stop committing version bumps to main on every release — the wheel already gets its version from the VERSION env var at build time; runtime __version__ can come from importlib.metadata. Keep the git tags (they anchor Colab URLs and releases); drop the daily "Update version to X" / "pin workspace version" / Colab-bump commits, which were the noise-and-stale-CI engine of the incident. Plus the #39 residue: MINOR_VERSION still falls back to github.run_number on scheduled runs — R3 defaults it to 1 on schedule.
User go-ahead: "ok, those PRs are done so we can do this work now --auto"
Overview
R3-core of the version-pinning design review (#118). Every release pushes "Update version to X" commits to all five library mains and "pin workspace version" / README-stamp commits to every workspace main — the noise engine behind the June/July accidental-release cascade (stale CI storms, email flood, org-wide cron pause). The wheels already get their version from
sedat build time, so none of these commit-backs are needed for published artifacts. This task makes releases wheels+tags-only, and removes the scheduledrun_numberversion fallback that produced the2026.6.25.641 → 2026.7.6.649accident.Autonomy:
--auto, effectivesupervised(feature cap — deliberate behavior change, not a pure refactor). Plan recorded here; ship sign-off will park with a batched question.Plan
<date>.1, never<date>.<run_number>(rehearsal uniqueness already comes from the.devNsegment).releasejob: keep build-treesedstamp + annotated tag +git push --tags; drop the__init__.pycommit-back and branch push to library mains.release_workspaces: drop the "Write workspace version" step (obsolete under PyAutoConf#118 floor semantics) and the README version-stamp commit; keep notebook regen, Colab bumps, API baseline, workspace tags (their cadence is Q2 on research: version-pinning design review — exact pins vs daily release #118, decided separately).Detailed implementation plan
Affected Repositories
Branch Survey
Note:
active.mdstill carries a PyAutoBuild claim frommorning-status-release-rehearsal, but all three of its PRs (Build#119, Heart#40, Mind#41) are merged — the claim is stale post-merge state, recorded here rather than deleting another session's entry.Suggested branch:
feature/release-stamping-slimWorktree root:
~/Code/PyAutoLabs-wt/release-stamping-slim/Implementation Steps
.github/workflows/release.ymlversion_numberjob:VERSION="${DATE_FORMATTED}.${MINOR_VERSION:-1}"(both the live and rehearsal composition lines) — a same-day manual dispatch after a scheduled live release must pick its ownminor_version(twine will loudly reject a duplicate otherwise).releasejob: delete theUpdate versionstep'sgit commit; inTag, dropgit push(branch), keepgit push --tags. Thesedstamps stay (they version the build tree that produces the wheels;pyproject.tomlsibling-pin sed unchanged).release_workspaces: delete theUpdate version in READMEandWrite workspace versionsteps; leave notebook regen / Colab bumps / API baseline / tag-and-push untouched.python -m pytest tests/in PyAutoBuild; YAML-parse the workflow; grep the repo for consumers of the removed steps (verify_workspace_versionsalready removed in Add a release-execution skills root (pre_build) #110-era cleanup).Key Files
PyAutoBuild/.github/workflows/release.ymlOut of scope (follow-ups)
__version__viaimportlib.metadata(parked to avoid conflicting with the in-flight PyAutoConf#118 worktree).version_skewrework for floor semantics (compares workspace pins vs__init__stamps; goes inert once both freeze — needs a new signal source, e.g. floor vs latest tag).Original Prompt
Click to expand starting prompt
R3 of PyAutoBuild#118 (endorsed 2026-07-08): stop committing version bumps to
mainon every release — the wheel already gets its version from theVERSIONenv var at build time; runtime__version__can come fromimportlib.metadata. Keep the git tags (they anchor Colab URLs and releases); drop the daily "Update version to X" / "pin workspace version" / Colab-bump commits, which were the noise-and-stale-CI engine of the incident. Plus the #39 residue:MINOR_VERSIONstill falls back togithub.run_numberon scheduled runs — R3 defaults it to1on schedule.User go-ahead: "ok, those PRs are done so we can do this work now --auto"