Skip to content

feat(agents): triage defer subtypes + partial-rollout linkage rule#273

Merged
bokelley merged 1 commit intomainfrom
bokelley/triage-defer-flavors
Apr 25, 2026
Merged

feat(agents): triage defer subtypes + partial-rollout linkage rule#273
bokelley merged 1 commit intomainfrom
bokelley/triage-defer-flavors

Conversation

@bokelley
Copy link
Copy Markdown
Contributor

Aligns this repo's triage prompt with the canonical change in adcontextprotocol/adcp: broader detection of child-of-open-parent issues, a three-flavor split of the Defer outcome, and an explicit linkage rule for partial-rollout PRs.

What changes

Step 1 — broader child-of-open-parent detection. Now triggers on:

  • Fixes #N / Closes #N references (existing)
  • Body text references like "after #N", "follow-up to #N", "depends on #N", "extends #N"
  • Acceptance criteria referencing files that exist in an open PR's diff but not on main

Outcome 4 — Defer split into three flavors:

  • Out of cycle (no specific blocker) — silent for MEMBER+; ack for NONE / FIRST_TIME_CONTRIBUTOR. (Unchanged behavior.)
  • Blocked on a specific open PR/issue — always posts Blocked-on: #N — resurfaces on merge regardless of author tier. The comment is the audit trail and the resurfacing trigger.
  • Fold candidate — same as Blocked-on, plus comments on the parent PR suggesting scope be folded before merge (when same-author / active-contributor / still-iterating / file-overlap). Skip if parent is approved/awaiting-merge.

Linkage rule for partial-rollout PRs. When the issue proposes multiple items and the PR ships a subset, the body uses Refs #N, not Closes #N. Closes is reserved for PRs that fulfill the entire issue scope. Motivated by adcp-client#937, which closed #935 despite shipping only 1 of 5 proposed StoryboardStepHint kinds — the Bundling spirit said "leave the parent open," but the PR-drafting step emitted Closes #N by reflex. The new rule makes it explicit.

Why now

The motivating gap: triage runs that defer an issue blocked on an open PR currently apply claude-triaged and go silent for repo members. The dependency disappears — when the parent PR merges, nothing resurfaces the child issue. Same shape as the linkage bug, just on the opposite side: bot's intent ("track this work") and bot's wire-output ("close it / silently defer") were misaligned.

No PR-creation logic changes. No expert cycles burned on deferred issues. Just better dependency tracking and clearer linkage discipline.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

Step 1 broadens child-of-open-parent detection (prose references and
file-overlap, not just Fixes/Closes). Outcome 4 splits Defer into Out-of-cycle
/ Blocked-on / Fold candidate so blocked issues always leave a resurfacing
trigger comment. Bundling adds an explicit Refs-vs-Closes rule for
partial-rollout PRs (motivated by adcp-client#937 closing #935 despite
shipping only 1 of 5 kinds).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bokelley bokelley merged commit c97aa95 into main Apr 25, 2026
10 checks passed
@bokelley bokelley deleted the bokelley/triage-defer-flavors branch April 25, 2026 10:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant