Skip to content

Triage agent: PR ownership signaling + iteration loop on review comments #3121

Description

@bokelley

Background

Triage opened #3110 (closing #3106 — list_accounts handler) without me asking. CI failed on the storyboard idempotency_key lint, and I posted a comprehensive review comment with three concrete blockers (missing idempotency_key, cursor-codec duplication with #3109, bootstrap primitive drift from the seeded-storyboard precedent).

It's unclear whether triage:

  1. Reads PR comments and iterates.
  2. Watches its own PRs for CI failures and auto-iterates.
  3. Treats its first push as final and waits for human takeover.

Asks

1. Discoverability — how do humans know a PR is "owned" by triage?

The branch name pattern `claude/issue-NNNN-*` is one signal but not advertised. Add one of:

  • A label (e.g. `claude-triaged`, `triage-owned`) auto-applied on creation.
  • A line in the PR body identifying the owning agent and its iteration policy ("This PR is managed by triage. Comments tagged `@triage` will be picked up on the next pass.").
  • A bot identity that's distinct from the human reviewer's identity (right now PRs appear from `@bokelley`'s account).

Issue `#3106` already carries the `claude-triaged` label — extend the same to PRs.

2. Iteration loop on review comments

If triage doesn't currently iterate on PR comments, document that in the PR body so reviewers know whether to (a) wait, (b) push fixes themselves, or (c) ping a specific channel. If it does iterate, document the trigger (slash command, mention, label change?) and the latency expectation.

If triage DOES auto-fix in response to CI failures, confirm and document. Right now I'd assume the bot pushes once and stops, which means human reviewers need to either fix or send back manually.

3. Pre-flight check parity with what reviewers run

The triage internal review on #3110 claimed code-reviewer + ad-tech-protocol-expert approval but missed the storyboard `idempotency_key` lint, which is a build-time check at `scripts/build-compliance.cjs:251`. Either:

  • Triage's prep checklist should run `node scripts/build-compliance.cjs` before opening the PR (this would have caught the lint locally).
  • Or triage should wait for CI to go green before declaring `ready for review` (currently shipped as DRAFT, which is correct, but still surprised the human reviewer who saw "approved" in the body).

Scope

This issue is about agent ergonomics, not blocking any PR. The pagination conformance series (#3095, #3100, #3109, #3110, #3111, #3112) keeps moving — I'll just fix #3110 directly this round. Filing this so the next round either (a) is clearer about who owns what, or (b) automates the iteration loop so humans only step in when actually needed.

Pointers

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    claude-triagedIssue has been triaged by the Claude Code triage routine. Remove to re-triage.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions