open-telemetry / open-telemetry/shared-workflows
PR Dashboard: Add opt-in stale labeling and automatic closure
Nobody has claimed this yet.
- Dominant language
- No language data
- Stars
- 7
- Forks
- 18
- Avg merge
- 22h 1m
- Merged PRs (30d)
- 75
Description
Problem
The PR dashboard already tracks rich routing signal — which party a pull request is waiting on and how long it has been idle in that state. That signal is a good foundation for an opt-in feature that labels pull requests stale and eventually closes them when they stay inactive while waiting on the author. Stale labeling and automatic closure carry additional state, label-ownership, activity-reset, permission, and recovery concerns, so they should be delivered separately from the nudge rollout.
Dependencies
- #26 provides the author nudges and their persisted lifecycle state.
- #112 provides the
/dashboard route:reviewersoverride command (usable by the pull request author or an approver-team member) and the dashboard-owneddashboard:route-overriddenlabel.
Proposal
Add a separate repository-level opt-in for stale labeling and automatic closure after the nudge lifecycle:
- After the nudge, require one quiet week while the pull request remains in Waiting on authors, then apply a dashboard-managed
Stalelabel. - After one more quiet week, close the pull request with guidance that the author can comment
/dashboard reopento reopen it. - Introduce a
/dashboard reopencommand that reopens a pull request the dashboard closed. It reopens the pull request directly and does not route it to reviewers or maintainers. It is accepted from the pull request author or an approver-team member. - Substantive human comments, reviews, or pushes restart the current quiet stage. Bot activity, reactions, label or assignment changes, checks, and edits to existing comments do not.
- Leaving Waiting on authors cancels escalation and removes only a
Stalelabel owned by the dashboard. A label that existed before dashboard escalation must not be removed. - A
/dashboard route:reviewersoverride stops stale/close escalation because the pull request is no longer routed to the author. - Mutations must remain idempotent across workflow retries.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading dependencies #26 and #112, then trace the existing PR dashboard routing and nudge lifecycle. Done means an opt-in stale/closure flow with the specified quiet-stage resets, dashboard-owned label handling, reopen and routing commands, permission checks, recovery behavior, and idempotent workflow retries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github
- Domain
- ci-cd, devops, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100