etcd icon indicating copy to clipboard operation
etcd copied to clipboard

Proposal: Disable the Github stale bot after backlog cleanup; rely on explicit triage labels

Open zhijun42 opened this issue 1 week ago • 0 comments

What would you like to be added?

See details below.

Why is this needed?

Hi maintainers 👋

First of all, thank you for all the work you do on etcd — especially given how demanding infra maintenance is.

Issue

I wanted to share a perspective on the current stale bot setup. It seems clear that the stale bot has already delivered significant value:

  • it helped close a large historical backlog
  • it reduced open issue count to a much more manageable level
  • it lowered cognitive load for maintainers

In that sense, it worked well as a one-off house-cleaning tool.

However, now that the repository has down to ~100 active open issues, I think the cost/benefit has shifted.

At this stage:

  • many remaining issues are high-signal (bugs, design questions, infra edge cases)
  • inactivity often reflects maintainer bandwidth constraints (we all know how maintainers are heavily overloaded), not lack of value
  • auto-closing due to time alone can silently discard useful context and insights. As a curious contributor looking for meaningful work to do, I've found many good issues (I say good because the maintainer indicated it's worth addressing or at least triaging) lost due to auto-close, e.g. https://github.com/etcd-io/etcd/issues/20242, https://github.com/etcd-io/etcd/issues/20716, https://github.com/etcd-io/etcd/issues/13632, etc.

I’ve also noticed cases where maintainers removed the stale label added by the bot, and then the bot reapplied the label again after 21 days of inactivity, and then maintainers had to remove once again, and this goes on and on. This is a strong indication that this feature is hurting the project.

Many etcd issues involve distributed systems edge cases, need careful reproduction and require maintainer switch context to even triage. So apparently, Silence ≠ low value.

Proposal

  • Treat the stale bot as a completed one-off cleanup mission
  • Fully disable it going forward
  • Rely instead on explicit human intent via labels such as:
    • to-be-triaged
    • to-be-assigned
    • no-plan
  • Acknowledge the fact that some of the current issues might be silent for a long-time, because even adding labels (let alone writing code to fix the bug, etc) to issues requires maintainer's energy and attention. And silence is okay, and we shouldn't rely on any bot to auto remove it.

This keeps the issue tracker:

  • honest (closed = decision made)
  • information-preserving
  • aligned with etcd’s pace and depth as a foundational system
  • makes maintainers' life easier - don't need to fight with the bot anymore

Happy to hear thoughts — and thanks again for maintaining such an important project.

And happy Christmas everyone!

zhijun42 avatar Dec 25 '25 00:12 zhijun42