Introduce a simple, mechanical daily sweep that closes issues with lifecycle labels past their timeout: - needs-repro: 7 days - needs-info: 7 days - needs-votes: 30 days - stale: 30 days The sweep checks when the label was last applied via the events API, and closes the issue if the timeout has elapsed. No AI, no comment checking — if the label is still there past its timeout, close it. Removing a label (by a triager, slash command, or future AI retriage) is what prevents closure. Each close message directs the reporter to open a new issue rather than engaging with the closed one. The script supports --dry-run for local testing: GITHUB_TOKEN=$(gh auth token) \ GITHUB_REPOSITORY_OWNER=anthropics \ GITHUB_REPOSITORY_NAME=claude-code \ bun run scripts/sweep.ts --dry-run ## Test plan Ran --dry-run against anthropics/claude-code. Correctly identified 3 issues past their timeouts (1 needs-repro at 12d, 2 needs-info at 14d and 26d). No false positives. |
||
|---|---|---|
| .. | ||
| auto-close-duplicates.yml | ||
| backfill-duplicate-comments.yml | ||
| claude-dedupe-issues.yml | ||
| claude-issue-triage.yml | ||
| claude.yml | ||
| issue-opened-dispatch.yml | ||
| lock-closed-issues.yml | ||
| log-issue-events.yml | ||
| oncall-triage.yml | ||
| remove-autoclose-label.yml | ||
| stale-issue-manager.yml | ||
| sweep.yml | ||