Loading workspace insights... Statistics interval
7 days30 daysLatest CI Pipeline Executions
b3e91708 feat: maintainer toolset — scheduled triage sweep + daily Discord scorecard
Adds two stateless, API-only scheduled workflows driven by a fixture-tested
TypeScript toolkit in scripts/maintainer/:
- maintainer-sweep.yml (every 3h): routes and assigns open PRs/issues to
maintainers via .github/maintainers.json area globs with least-loaded
rotation and per-maintainer caps, posts a one-time ack comment with a
deterministic pre-review checklist (CI, conflicts, changeset, E2E),
requests reproductions on bug reports lacking one, and reconciles
waiting-on / ready-to-merge / needs-repro / has-pr labels. Suspected
drive-by/bounty PRs (new account + trivial diff + no linked issue) are
left untouched for human judgment.
- maintainer-scorecard.yml (daily): posts a to-do digest to Discord —
SLA breaches (24h first response / 48h follow-up), ready-to-merge PRs,
per-maintainer queues with fresh contributor replies, new/flagged/stale
items, unanswered discussions, same-author PR clusters, and stats
(open deltas, first-response median/p90, merges, pending changesets).
All metrics are recomputed from GitHub timelines each run (no stored
state); idempotency comes from HTML markers in bot comments plus visible
assignment/label state. PR code is never checked out or executed — no
pull_request_target. Unit tests wire into CI via the root test:maintainer
nx target.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>