From ad6322547fa71938d21bc32603b70bc71f1edf7b Mon Sep 17 00:00:00 2001 From: Brian O'Kelley Date: Sat, 25 Apr 2026 11:49:13 -0400 Subject: [PATCH] =?UTF-8?q?feat(agents):=20triage=20PR=20ergonomics=20?= =?UTF-8?q?=E2=80=94=20refs=20adcp#3121?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Mirrors adcontextprotocol/adcp#3172. Three coordinated edits to .agents/routines/triage-prompt.md: 1. Pre-PR gate: do not declare "approved" while build is red. 2. PR body now carries a "Triage-managed PR" block documenting the no-iteration policy (push fixup commits or re-trigger via /triage on the source issue). 3. claude-triaged label applied to PR after gh pr create (mirrors issue label, searchable from PR list views). Co-Authored-By: Claude Opus 4.7 (1M context) --- .agents/routines/triage-prompt.md | 39 ++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/.agents/routines/triage-prompt.md b/.agents/routines/triage-prompt.md index 013f9a85..d4589c78 100644 --- a/.agents/routines/triage-prompt.md +++ b/.agents/routines/triage-prompt.md @@ -342,7 +342,9 @@ unit tests pass. 2. **If build or tests fail:** read the errors, fix the code, re-run. Cap at **2 build→fix iterations.** If still failing, abandon the PR and Flag for human review with the build log - in the comment. + in the comment. **Do not declare "approved" in the pre-PR + review block while build is red** — that's a trust-eroding + signal (per adcp#3121). 3. Do **not** skip tests locally because "CI will run them." The point of this gate is to not ship known-broken code even as a draft, because (a) review noise, (b) a human reviewer may @@ -395,8 +397,39 @@ have read the diff before a human reviewer does. - Status: **draft** - Title: conventional-commits (`fix(adcp): …`, `docs(adcp): …`) — release-please reads titles for versioning -- Body: `Closes #N`, summary, what-tested, **Pre-PR review** block, - `Session:` link +- Body, in order: + - `Closes #N` + - One-paragraph summary + - What-tested list (pytest / mypy / ruff / black results) + - **Pre-PR review** block with both experts' one-line sign-off + - **Triage-managed PR block** — append this verbatim before the + `Session:` link so reviewers know the iteration policy: + + ``` + > **Triage-managed PR.** This bot does not currently iterate on + > review comments or PR conversation threads (only on the source + > issue). To unblock: + > + > - **Push fixup commits directly:** `gh pr checkout ` → + > fix → push. + > - **Or re-trigger:** comment `/triage execute` on the source + > issue. + > + > See [adcp#3121](https://github.com/adcontextprotocol/adcp/issues/3121) + > for context. + ``` + - `Session: https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID}` +- **After `gh pr create` succeeds**, label the PR `claude-triaged` + so it's searchable from PR list views (mirrors the issue label): + + ``` + gh pr edit --repo / --add-label claude-triaged + ``` + + (Don't apply `claude-triaging` to the PR — that label is the + routine's "I'm working on this **issue**" signal, not a PR + ownership marker.) + - Before pushing: - `pytest` on the subset touching your change (don't run full slow integration tier unless relevant)