docs(pr-template): owner-qualify cross-repo closing keywords - #402
Merged
Conversation
…oc/backend#930) GitHub auto-closes an issue in another repository only when the PR body names it owner-qualified. A bare `repo#N` merely cross-references and closes nothing -- and the template's own hint taught `Ref tracebloc/other-repo#456`, which is not a closing keyword at all. Eight code-complete issues stayed open for days-to-weeks this way (tracebloc/backend#1171-#1176, #376, tracebloc/cli#393), dragging two epics to 0% and 14% when the true figures were 67% and 24%. Someone had to notice and close all eight by hand. Makes the qualified form the visible example in Related, and adds one checklist item. No other changes -- a template nobody reads because it grew is worse than the bug. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
Author
|
bugbot run |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit e326263. Configure here.
Contributor
Author
|
👋 Heads-up — Code review queue is at 34 / 30 Above the WIP limit. The team convention is to review existing PRs before opening new work. Open PRs currently in Code review (oldest first):
Pull from review before opening new work. (This is a nudge from the kanban WIP check, not a block.) |
saadqbal
approved these changes
Jul 27, 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
GitHub auto-closes an issue in another repository only when the PR body uses an owner-qualified closing keyword. A bare
repo#N— or a plain#Naimed at another repo — creates a cross-reference and closes nothing. This template's own hint taughtRef tracebloc/other-repo#456, andRefis not a closing keyword at all, so the template was part of the problem rather than the fix.Two lines change: the
Relatedhint now shows the qualified form as the visible example, and one checklist item turns it into a gate. Nothing else — a template nobody reads because it grew is worse than the bug.One extra wrinkle specific to this repo. Its default branch is
main, but every PR targetsdevelopper the org rule. GitHub fires closing keywords only on merges into the default branch, so a correctly-writtenCloses #Nhere will not auto-close on merge todevelopeither — not just cross-repo ones. TheRelatedhint says so, and asks the author to confirm the issue actually closed. That matches the observed evidence: #376 is an issue in this repo that stayed open behind a merged PR.Related
Epic: tracebloc/backend#930 (developer feedback loop)
Evidence
Eight code-complete issues with merged PRs sat open for days-to-weeks:
Two epics consequently under-reported their progress by a wide margin. Someone had to notice and close all eight by hand.
Type of change
Test plan
Markdown-only change to
.github/pull_request_template.md; no code paths touched, no installer scripts touched (so noscripts/gen-manifest.shre-run needed).One thing worth stating explicitly, since it is the reason the example can be concrete rather than a placeholder: closing keywords inside an HTML comment are inert. These templates have carried
<!-- Closes #123 -->since they were written and have never once touched issue #123. So the newFixes tracebloc/<repo>#456example teaches the shape without ever firing.Deployment notes
None. Takes effect on the next PR opened after merge.
Checklist
Fixes tracebloc/<repo>#N— a barerepo#Ncloses nothingNote
Low Risk
Markdown-only change to the PR template; no runtime, auth, or deployment behavior.
Overview
Pull request template guidance is tightened so authors stop using cross-repo references that GitHub will not auto-close.
The Related HTML comment now shows
Closes #123for same-repo work andFixes tracebloc/backend#456for cross-repo work, with an explicit warning that barebackend#456closes nothing. It also notes that PRs here merge intodevelop, not the default branch, so even correctCloses #Nmay not fire until someone confirms the issue state.A new checklist item requires cross-repo links to use
Fixes tracebloc/<repo>#Ninstead of unqualifiedrepo#N.Reviewed by Cursor Bugbot for commit e326263. Bugbot is set up for automated code reviews on this repo. Configure here.