Close Implements #N tracker gap in PR bodies and cleanup regex #110

Closed
opened 2026-07-02 18:07:42 -05:00 by sysadmin · 0 comments
Owner

Summary

Fix tracker drift caused by PR bodies using Implements #N instead of Gitea-closing keywords like Closes #N or Fixes #N.

Problem

Tracker hygiene has drifted because Implements #N does not close issues in Gitea and is not currently recognized by the cleanup helper.

Observed impact:

  • A merged PR using Implements #N left the issue open (issue #67 / PR #83 incident).
  • Release/changelog audit had to untangle issue state manually.
  • extract_linked_issue_numbers() misses Implements #N.
  • refs #N currently releases status:in-progress, even though referencing an issue does not necessarily mean finishing it.

Proposed changes

  1. Update workflow docs/templates to require closing keywords in PR bodies:
Use `Closes #N` or `Fixes #N`.
Do not use `Implements #N` if the PR should close the issue.
Do not rely on `Refs #N` to close or complete work.
  1. Update tracker cleanup parsing:
  • optionally recognize implement, implements, implemented if the project wants it to release status:in-progress
  • reconsider whether refs #N should release status:in-progress
  • avoid over-releasing claims for merely referenced issues
  1. Add tests for closing-keyword behavior.

Scope

Likely areas:

  • PR body templates
  • workflow docs
  • extract_linked_issue_numbers()
  • tracker hygiene tests

Non-goals

  • Do not change Gitea server behavior.
  • Do not broaden issue closure semantics without tests.
  • Do not touch release tags.
  • Do not bundle release SOP work.

Acceptance criteria

  • PR templates explicitly require Closes #N or Fixes #N for issue-closing PRs.
  • Docs state that Implements #N and Refs #N do not close issues.
  • Tracker cleanup behavior is clarified and tested.
  • refs #N does not release a claim unless that is explicitly approved and tested.
  • Tests cover:
    • Closes #N
    • Fixes #N
    • Implements #N
    • Refs #N
    • branch-name fallback like issue-123

Related: #98 (merged; cleanup-status surfacing), #56/#58 (auto-release on close/merge).

## Summary Fix tracker drift caused by PR bodies using `Implements #N` instead of Gitea-closing keywords like `Closes #N` or `Fixes #N`. ## Problem Tracker hygiene has drifted because `Implements #N` does not close issues in Gitea and is not currently recognized by the cleanup helper. Observed impact: - A merged PR using `Implements #N` left the issue open (issue #67 / PR #83 incident). - Release/changelog audit had to untangle issue state manually. - `extract_linked_issue_numbers()` misses `Implements #N`. - `refs #N` currently releases `status:in-progress`, even though referencing an issue does not necessarily mean finishing it. ## Proposed changes 1. Update workflow docs/templates to require closing keywords in PR bodies: ```text Use `Closes #N` or `Fixes #N`. Do not use `Implements #N` if the PR should close the issue. Do not rely on `Refs #N` to close or complete work. ``` 2. Update tracker cleanup parsing: * optionally recognize `implement`, `implements`, `implemented` if the project wants it to release `status:in-progress` * reconsider whether `refs #N` should release `status:in-progress` * avoid over-releasing claims for merely referenced issues 3. Add tests for closing-keyword behavior. ## Scope Likely areas: * PR body templates * workflow docs * `extract_linked_issue_numbers()` * tracker hygiene tests ## Non-goals * Do not change Gitea server behavior. * Do not broaden issue closure semantics without tests. * Do not touch release tags. * Do not bundle release SOP work. ## Acceptance criteria * PR templates explicitly require `Closes #N` or `Fixes #N` for issue-closing PRs. * Docs state that `Implements #N` and `Refs #N` do not close issues. * Tracker cleanup behavior is clarified and tested. * `refs #N` does not release a claim unless that is explicitly approved and tested. * Tests cover: * `Closes #N` * `Fixes #N` * `Implements #N` * `Refs #N` * branch-name fallback like `issue-123` Related: #98 (merged; cleanup-status surfacing), #56/#58 (auto-release on close/merge).
sysadmin added the bugtestingworkflowtracker labels 2026-07-02 18:08:13 -05:00
jcwalker3 added the status:in-progress label 2026-07-02 18:33:12 -05:00
sysadmin removed the status:in-progress label 2026-07-02 18:51:07 -05:00
Sign in to join this conversation.