Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e8c3a34

Browse files
authored
fix(pr-management-triage): show stable per-PR drill-in progress (#1118)
Generated-by: Codex (GPT-5) Co-authored-by: CAOShurong <[email protected]>
1 parent 9d5382c commit e8c3a34

16 files changed

Lines changed: 125 additions & 3 deletions

File tree

skills/pr-management-triage/interaction-loop.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,7 @@ because its group mandates per-PR), present the full detail:
197197

198198
```text
199199
─────────────────────────────────────────────────────
200+
[3/27] #65471 — step: classify → propose draft
200201
PR #65471 "Add support for new db dialect"
201202
Author: @eve (tier: new, 2 merged / 5 total on this repo)
202203
Age: opened 4d ago, last push 6h ago
@@ -237,6 +238,36 @@ approval PR, and it's gated on the maintainer asking for it.
237238
"pulled-out-and-left-pending". The maintainer can come back
238239
to it after finishing the rest of the group.
239240

241+
### Per-PR progress header
242+
243+
The first line of every individual drill-in must show the PR's stable
244+
position in its group and the pipeline transition currently being presented.
245+
Use a one-based position and the original group size:
246+
247+
```text
248+
[3/27] #65471 — step: classify → propose draft
249+
```
250+
251+
The position is the PR's row index in the group that was presented, not the
252+
number of PRs already handled in the session. Keep it stable throughout the
253+
drill-in and when returning to the group:
254+
255+
- `[E]` uses the current PR's row index in the group.
256+
- `[P]NN` records PR `NN`'s row index before pulling it out; do not renumber
257+
the remaining group or change the denominator.
258+
- A skipped, pending, or previously pulled-out PR still counts toward the
259+
original group size.
260+
261+
`classify → propose <action>` means that the classification from Step 2 is
262+
being surfaced together with the suggested action for the maintainer's
263+
decision; it does not trigger a second classification fetch. If the
264+
optimistic-lock check finds that the contributor pushed since Step 1, replace
265+
the marker with `re-classify → propose <action>` after the live state has been
266+
re-evaluated. The subsequent confirmation and mutation are shown by the
267+
per-PR action prompt and batch progress lines, not by changing the saved group
268+
position. If the maintainer overrides the suggested action, update the
269+
`<action>` part of the header before asking for confirmation.
270+
240271
---
241272

242273
## Group action override

tools/skill-evals/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Suites are currently implemented for:
3030
- **pr-management-code-review**: 117 cases across 27 suites (selector-resolution, step-1-selectors-match-chips, step-2.5-slop-detection, step-3-security-disclosure-scan, step-3-ai-authorship-disclosure, step-4-* checks, step-5-adversarial-integration, step-6-disposition, step-7b-review-body-attribution, review-risk-classify, injection-guard, review-disposition, review-handoff)
3131
- **pr-management-mentor** — 20 cases across 2 steps (tone-checks, hand-off)
3232
- **pr-management-stats** — 13 cases across 2 steps (classify, pressure-weight)
33-
- **pr-management-triage**35 cases across 4 steps (pre-filter, decision-table, terminal-links, pagination-dedup)
33+
- **pr-management-triage**39 cases across 5 steps (pre-filter, decision-table, terminal-links, pagination-dedup, interaction-progress)
3434
- **list-skills** — 7 cases across 2 steps (step-1-command, step-2-present)
3535
- **setup-isolated-setup-verify** — 12 cases across 3 steps (runtime-routing, step-1-classify, step-2-recommend)
3636
- **setup-isolated-setup-update** — 14 cases across 4 steps (runtime-routing, step-snapshot-drift, step-tool-freshness, step-after-report)

tools/skill-evals/evals/pr-management-triage/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@
55

66
Behavioral evals for the `pr-management-triage` skill.
77

8-
## Suites (35 cases total)
8+
## Suites (39 cases total)
99

1010
| Suite | Step | Cases | What it covers |
1111
|---|---|---|---|
1212
| pre-filter | Step 2 (pre-filters) | 10 | F1 (collaborator), F2 (bot), F3 (draft recent), F4 (already ready), F5a (active maintainer comment), F5b (maintainer ping unanswered), F6 (maintainer co-drafted), row-6 (viewer is author), row-7a (fresh PR); clean contributor continues |
1313
| decision-table | Step 2 (decision table) | 18 | Rows 3/4 (already-triaged via body-fold block→skip), 7b (security signal), 9 (conflict→draft), 10 (all systemic→rerun), 11 (partial systemic→rerun), 12 (static-only→comment), 13 (flaky ≤2→rerun), 14a (author confirmed→mark-ready), 14b (pending confirmation→skip), 14c (threads addressed→request-author-confirmation), 15 (threads→ping), 16 (no CI→rebase), 18 (changes-requested+new-commits→ping), 19 (already ready→skip), 20 (passing→mark-ready), 21 (stale draft sweep→close), 22 (rollup anomaly→skip) |
1414
| terminal-links | Golden rule 10 | 5 | Short, context-short, and full PR references use the canonical target; `NO_COLOR` and `TERM=dumb` select the plain-text fallback |
1515
| pagination-dedup | Step 1 (full pagination) | 2 | A PR that moves to a later page is emitted once at its freshest occurrence; distinct PRs keep their fetched order |
16+
| interaction-progress | Interaction loop | 4 | Per-PR drill-ins retain the original one-based group position at the first, middle, and last rows and show the active classify-to-propose transition for `[E]` and `[P]` entry |
1617

1718
The two body-fold cases (`case-17-fold-already-triaged`,
1819
`case-18-fold-stale-after-push`) are the regression guard for the denoise
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"header": "[3/27] #65471 — step: classify → propose comment",
3+
"position": 3,
4+
"group_size": 27,
5+
"stage": "classify → propose comment"
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<!-- SPDX-License-Identifier: Apache-2.0
2+
https://www.apache.org/licenses/LICENSE-2.0 -->
3+
4+
The maintainer chose `[E]ach` on a group containing 27 PRs. The current PR is
5+
`#65471`, the third row in the original group, and the group's suggested
6+
action for it is `comment`. No optimistic-lock re-check has been triggered.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"header": "[5/27] #65505 — step: classify → propose draft",
3+
"position": 5,
4+
"group_size": 27,
5+
"stage": "classify → propose draft"
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<!-- SPDX-License-Identifier: Apache-2.0
2+
https://www.apache.org/licenses/LICENSE-2.0 -->
3+
4+
The maintainer chose `[P]NN` to pull a PR out of a group containing 27 PRs.
5+
The selected PR was `#65505`, the fifth row before it was pulled out, and the
6+
group's suggested action for it is `draft`. The remaining group stays pending.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"header": "[1/27] #65401 — step: classify → propose rerun",
3+
"position": 1,
4+
"group_size": 27,
5+
"stage": "classify → propose rerun"
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<!-- SPDX-License-Identifier: Apache-2.0
2+
https://www.apache.org/licenses/LICENSE-2.0 -->
3+
4+
The maintainer chose `[E]ach` on a group containing 27 PRs. The current PR is
5+
`#65401`, the first row in the original group, and the group's suggested
6+
action for it is `rerun`. No optimistic-lock re-check has been triggered.
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"header": "[27/27] #65499 — step: classify → propose mark-ready",
3+
"position": 27,
4+
"group_size": 27,
5+
"stage": "classify → propose mark-ready"
6+
}

0 commit comments

Comments
 (0)