Skip to content

docs(pr-template): owner-qualify cross-repo closing keywords - #402

Merged
saadqbal merged 1 commit into
developfrom
docs/930-pr-template-cross-repo-closers
Jul 27, 2026
Merged

docs(pr-template): owner-qualify cross-repo closing keywords#402
saadqbal merged 1 commit into
developfrom
docs/930-pr-template-cross-repo-closers

Conversation

@LukasWodka

@LukasWodka LukasWodka commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

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 #N aimed at another repo — creates a cross-reference and closes nothing. This template's own hint taught Ref tracebloc/other-repo#456, and Ref is not a closing keyword at all, so the template was part of the problem rather than the fix.

Two lines change: the Related hint 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 targets develop per the org rule. GitHub fires closing keywords only on merges into the default branch, so a correctly-written Closes #N here will not auto-close on merge to develop either — not just cross-repo ones. The Related hint 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

  • Docs

Test plan

Markdown-only change to .github/pull_request_template.md; no code paths touched, no installer scripts touched (so no scripts/gen-manifest.sh re-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 new Fixes tracebloc/<repo>#456 example teaches the shape without ever firing.

Deployment notes

None. Takes effect on the next PR opened after merge.

Checklist

  • Docs updated if behavior or config changed
  • No secrets / credentials in the diff
  • Terminal output follows STYLE.md — n/a, no terminal output changed
  • Cross-repo issues use Fixes tracebloc/<repo>#N — a bare repo#N closes nothing

Note

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 #123 for same-repo work and Fixes tracebloc/backend#456 for cross-repo work, with an explicit warning that bare backend#456 closes nothing. It also notes that PRs here merge into develop, not the default branch, so even correct Closes #N may not fire until someone confirms the issue state.

A new checklist item requires cross-repo links to use Fixes tracebloc/<repo>#N instead of unqualified repo#N.

Reviewed by Cursor Bugbot for commit e326263. Bugbot is set up for automated code reviews on this repo. Configure here.

…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>
@LukasWodka

Copy link
Copy Markdown
Contributor Author

bugbot run

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ 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.

@LukasWodka

Copy link
Copy Markdown
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.)

@LukasWodka LukasWodka self-assigned this Jul 26, 2026
@saadqbal
saadqbal merged commit db300fe into develop Jul 27, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants