Skip to content

Process hygiene: PR-title 'closes #N' doesn't trigger auto-close — body-only #90

@rubenvdlinde

Description

@rubenvdlinde

Context

Multiple PRs that landed today specified (closes #N) in their title but referenced issues stayed open until manually closed during the 2026-05-19 issue-sweep:

  • procest#497 (feat(pdok): route PDOK lookups through openconnector (closes #404)) — #404 stayed open
  • procest#498 (fix(#323): clear 6 mechanical ESLint source errors) — #323 stayed open
  • softwarecatalog#232 (...closes #230 in body and title) — #230 still open (probable cause: closes keyword inside a parenthesised qualifier in body, parser-edge-case)
  • 33 of 33 feat/fix PRs sampled today had closingIssuesReferences = empty

GitHub's auto-close requires Closes #N / Fixes #N as a top-level token in the PR body (not title, not parenthesised), targeting the default branch.

Action

  • Document the requirement in CONTRIBUTING / PR template
  • Update the PR template to include a ## Closes section that prompts the keyword in the body
  • Consider a CI lint that warns when PR title says 'closes #N' but body lacks the keyword
  • (Optional) GraphQL sweep over last N days of merged PRs to manually close stragglers

Why this matters

Issues stay falsely open → assignees underestimate completed work → unreliable backlog metrics.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions