Grow the Claude issue automation from a conservative classifier into a
surface-aware dev-loop, and make PR review more constructive.
claude-triage.yml (2 jobs → 4):
- auto-label now also applies an area:* surface label from keywords.
- triage-ai is no longer a pure classifier — it adds a hedged probable
cause, likely files, and a suggested direction (one ≤180-word note),
and invites the triage:deep label. Injection hardening preserved.
- deep-dive (new, opt-in via the triage:deep label) investigates the
codebase and posts a root-cause hypothesis, a fix plan, a
surface-specific verification plan, and a maintainer worktree
quick-start.
- triage-followup (new) re-reads a bug thread on reporter replies and
escalates to needs-maintainer-review + the maintainer after ~2 rounds.
Not gated on commenter write-access, so external reporters get
follow-up; bot-authored comments are excluded so it can't self-trigger.
claude-code-review.yml: keep the /code-review plugin depth, add a
constructive "Maintainer's-eye verdict" header and use_sticky_comment so
re-pushes update one comment instead of stacking.
scripts/start-issue.sh: local bridge — pulls an issue into a pre-briefed
git worktree (fix|feature|docs/issue-N-slug off origin/dev) with an
ISSUE-BRIEF.md carrying the body, the bot triage notes, and the surface's
verification commands.
docs/dev-loop.md documents the loop, the verification matrix, the label
setup, and the default-branch activation lag. .gitignore ignores the
generated ISSUE-BRIEF.md.
All jobs stay read-only against the repo; an auto-fix (contents: write)
path was intentionally left out as an injection risk.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>