Repository navigation
feat(upstream): record why each tracked PR is tracked - #442
Merged
Merged
Conversation
The tracked upstream PR list held bare numbers, so the reports could
not say why the fork was waiting on a change or when an entry could be
removed.
Each entry is now `{ "pr": 123, "reason": "..." }`. The decoder rejects
entries without a reason. `upstream-queue.ts status` prints the reason
under each PR, and the tracked PR report gains a "Why tracked" column.
Drop the four entries already recorded as imported, and add the
GitHub stack merge chain. The runbook now says to remove an entry once
it is recorded or its reason no longer applies, and to write PR
references as `pingdotgg#123` or `#123`.
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.
The tracked upstream PR list held bare numbers. The reports showed each PR's intake status, but not why the fork was waiting on it or when the entry could be removed.
Each entry in
.github/upstream-tracked-prs.jsonis now{ "pr": 123, "reason": "..." }, and the decoder rejects an entry without a reason.upstream-queue.ts statusprints the reason under each PR, and the tracked PR report in the Upstream lag report and promotion summaries has a new "Why tracked" column.List changes:
pingdotgg/t3code#9511,#9753,#9773and#9807, which are already recorded as imported.pingdotgg/t3code#10839,#10870,#10875and#11486, plus the open follow-up#12645. The fork's merge button uses GitHub's legacy merge endpoint, which GitHub documents as unable to merge stacked PRs;#10875adds a merge stack action and replaces the fork's stack section.The runbook now says to remove an entry once the report shows it recorded or once its reason no longer applies, and that a reason writes a fork PR as "fork #123" while a bare number means an upstream PR.
Validation
node scripts/upstream-queue.ts statusandnode scripts/upstream-tracked-prs-report.tsagainst freshly fetched fork and upstream refs. All 13 entries show their reason; 11 are pending and#10845and#12645are open upstream.Written by an agent (Claude Code, claude-opus-5-5).