chore: open every standard release in every repository - #54
Merged
Merged
Conversation
Until now a release reached only the three template repositories. The other six repositories updated only when an agent session happened to need something from a new release, so they drifted to five different releases. The documented Renovate path could not work: Renovate is not installed, and it cannot bump vendored file: dependencies. Publish standard replaces Publish template. On each release tag, by hand, and daily for the latest release, it opens one self-merging pull request in every repository listed in standards/repositories.json. Consumers run the release's own updater, so a repository several releases behind needs one pass. Older update pull requests are closed, a branch someone fixed is kept, and a rerun with nothing new proposes nothing. Standard status runs daily and after each publication and fails when a repository has drifted: behind the latest release for more than three days, an unreleased vendored commit on main, a failing update, a stale plugin ref, or merge settings that differ from the standard. Both workflows authenticate as a GitHub App instead of an expiring personal access token; the setup guide gives every value. Missing release notes for 0.2.9 and 0.4.5 are backfilled, and a test now requires them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
TL;DR
Every release of the standard now opens a pull request in every LVBT repository, and that pull
request merges itself once
Validatepasses. A daily check fails when any repository falls behind,so drift gets noticed within days, not weeks.
Overview of Changes
Why
On 2026-09-27 the six non-template repositories sat on five different releases, from v0.2.8 to
v0.4.5. None of them had edited its vendored copy. They had simply never been updated.
Publish template.organization. It also cannot bump vendored
file:dependencies.standards:checkproves only that the vendored copy isintact.
new release. With eight releases on 2026-09-23 alone, three repositories were already out of date
when their update merged.
How it works now
Publish standardreplacesPublish template.latest release.
standards/repositories.json, the newstandards/propagate.tsapplies the release and opens one pull request onautomation/repository-standard-<tag>, then turns on auto-merge.kind:templaterepositories are regenerated from their example.consumerrepositories run the release's own updater. A repository several releases behindtherefore gets every migration in one pass, including the ones that used to need a second run
below v0.3.5.
mainis rebuilt.Standard statusruns daily and after every publication. The newstandards/status.ts(alsopnpm standards:status) writes one table of every repository to the job summary. It fails when arepository:
missed;
main;A dated exception in
repositories.jsoncan silence one rule for one repository, with a reason.Decisions
token went missing for 18 consecutive releases and would expire anyway. App tokens also make
Validaterun on the pull requests they open.docs/how-to/set-up-the-standard-bot.mdgives every value for creating and installing it.pnpm checknowfails when a stable release has no
docs/reference/release-<version>.md.repository.
Testing
pnpm checkpasses: 240 node tests plus the web-platform suite..githubeach got one commit.pnpm standards:statusagainst the live organization reported the drift the audit found.Follow-ups
ref), and remove
cias a commit type and scope, in the next release.🤖 Generated with Claude Code