Skip to content

fix(stale): mark awaiting-reporter issues stale, never auto-close - #1269

Open
DeusData wants to merge 1 commit into
mainfrom
fix/stale-never-close
Open

fix(stale): mark awaiting-reporter issues stale, never auto-close#1269
DeusData wants to merge 1 commit into
mainfrom
fix/stale-never-close

Conversation

@DeusData

Copy link
Copy Markdown
Owner

Problem

The stale workflow closed awaiting-reporter issues as not_planned after 35 days (21 to stale + 14 to close). That label is applied by hand and is meant to signal "the reporter owes the next step" — but it was also being used to mean "we will come back to this", and in that second case the automation closed issues the project itself owed work on.

#56 is the concrete case. Its last comment was a maintainer commitment, not a request: the promised reproduction landed via #667 (36d83280) and lives in-tree as tests/repro/repro_issue56.c. The bug is confirmed, reproduced, guarded against regression — and unfixed. It was three days from closing as not planned purely because a maintainer had the last word.

That was 1 mislabel in a sample of 9. 13 of the 22 currently labelled issues are priority/high.

Change

  • days-before-issue-close: -1 — closing is disabled entirely. Closing as "not planned" is a maintainer judgement, so the bot no longer makes it. The stale label becomes a review queue swept by hand during triage.
  • exempt-issue-labels: security,task,maintainer-notes — belt-and-braces so these are never flagged even if awaiting-reporter is applied by mistake. task covers the umbrella/epic issues including the pinned roadmap index 📌 Epics / Roadmap — umbrella task index #595; maintainer-notes is the explicit "we owe the next step" escape hatch.
  • Removed close-issue-message and close-issue-reason, now unreachable.
  • Rewrote the stale notice, which promised a closure that no longer happens.
  • Documented the reasoning in a header comment so the next person does not restore the countdown without knowing why it went.

Unchanged: trigger (daily cron + dispatch), only-labels, remove-stale-when-updated, PRs still never touched, permissions, operations-per-run.

Scope / risk

Non-gating — scheduled workflow, blocks nothing. No build-cost or flake-surface change; same single job on the same schedule. Permissions unchanged (issues: write, still needed to apply the label). Behavioural change is strictly less destructive: the bot can now only add a label.

Trade-off worth stating: the backlog no longer self-clears, so the stale set needs a periodic sweep. That is the intended exchange — a mislabel now costs a stale tag instead of a silently discarded bug.

Follow-up

#56 has already been de-armed by hand (label removed, maintainer-notes applied, reporter told the next step is ours). The remaining 21 labelled issues stay flagged but are no longer on a countdown.

The stale workflow closed `awaiting-reporter` issues as `not_planned` after 35
days. That label is applied by hand and means "the reporter owes the next step",
but it was also being used to mean "we will come back to this" -- and in that
second case the automation closed issues the project itself owed work on.

#56 is the concrete case: a confirmed bug whose reproduction landed in-tree via
#667 (tests/repro/repro_issue56.c), queued to close as `not_planned` purely
because a maintainer had the last word. 13 of the 22 currently labelled issues
are priority/high.

Closing as "not planned" is a maintainer judgement, so the bot no longer makes
it. days-before-issue-close: -1 disables closing entirely; the `stale` label
becomes a review queue that a human sweeps during triage. A mislabel now costs a
stale tag instead of a silently discarded bug.

Also adds exempt-issue-labels for security, task (umbrella/epic issues incl. the
pinned roadmap index #595) and maintainer-notes, so those are never flagged even
if mislabelled. Drops the now-unreachable close-issue-message and
close-issue-reason, and rewrites the stale notice, which promised a closure that
no longer happens.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
@DeusData DeusData added bug Something isn't working github_actions Pull requests that update GitHub Actions code labels Jul 28, 2026
@DeusData DeusData added this to the 0.9.1-rc milestone Jul 28, 2026
@DeusData DeusData added ux/behavior Display bugs, docs, adoption UX priority/high Needs near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker. labels Jul 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working github_actions Pull requests that update GitHub Actions code priority/high Needs near-term maintainer attention; high-impact bug, regression, safety issue, or release blocker. ux/behavior Display bugs, docs, adoption UX

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant