Check every consumer's pin when a release is cut - #49
Merged
Conversation
The drift check warns a repository that its pin is behind, but only once there is a pull request to warn on. A repository quiet enough for GitHub to have disabled its schedule -- sixty days without activity, done silently -- is producing none, so the warning waits until somebody starts work there, which is after an agent has read that repository's stale AGENTS.md and worked under it. From this side the answer is available for every repository at once, quiet or not, and at the moment somebody is already looking. It is one command, and it resolves the roster from repos.json so adding a repository does not date it. The step says what a hit means, which is not always a problem: every repository is behind for a day or two after a tag, and that is the schedule working. What it is looking for is one that stayed behind across releases. Recovery is the existing dispatch or `sync.sh`, pointed at rather than restated. Documentation only. No script, workflow, or block moves, so this cuts no release and needs no changelog entry -- nothing a consumer of 0.3.0 can observe changed. Closes #48
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.
Adds one step to Changing a block, after the tag is pushed: check what each consumer is actually carrying.
Why here, when
check_drift.pyalready warnsThe warning needs a pull request to appear on. A repository quiet enough for GitHub to have disabled its schedule — sixty days without activity, done silently — is producing none, so the warning waits until somebody starts work there. By then an agent has read that repository's stale
AGENTS.mdand done a piece of work under it; the signal arrives one step late.From this side the answer is available for every repository at once, quiet or not, and at the moment somebody is already looking at the roster because they just cut a release. It is the only check that sees a stopped schedule while the repository is still quiet.
The step
The roster comes from
repos.json, so nothing in the README needs editing when a repository is added.The step also says what a hit means, because most hits are not a problem: every repository is behind for a day or two after a tag, which is the schedule working. What it is looking for is one that stayed behind across releases. Recovery is the dispatch or
scripts/sync.sh <tag> <repo>— both already documented, so they are pointed at rather than restated.Deliberately not here
GITHUB_TOKENis scoped to this repository and most consumers are private, so reading their pins from a workflow here needs a cross-repo read token. This repository holds no secrets today, which is what lets it be public and what makes both reusable workflows callable with nothing but the caller's own token. Trading that is a decision for when the manual step has actually been skipped.check_drift.pyfail rather than warn. It covers less than this step does — it cannot fire in a repository that is not producing pull requests — and it would risk turning thirteen repositories red at once, since the workflow and its scripts come from@main.Verification
README.mdmoves.Closes #48