Skip to content

docs(batch-review): reviewer-owned batch QA with sub-agents - #45

Merged
CybotTM merged 1 commit into
mainfrom
feat/retro-batch-review
Aug 21, 2026
Merged

docs(batch-review): reviewer-owned batch QA with sub-agents#45
CybotTM merged 1 commit into
mainfrom
feat/retro-batch-review

Conversation

@CybotTM

@CybotTM CybotTM commented Aug 21, 2026

Copy link
Copy Markdown
Member

What

Adds references/batch-review.md: how one reviewer takes a batch of QA tickets through a single Round-1 pass by fanning the evidence-gathering out to sub-agents while every claim, verdict, comment and transition stays the reviewer's own — a ten-step sequence (claim all tickets first under the reviewer's account; gather every Stage-0 bundle into files before fanning out; group 2–4 tickets per agent by domain/component; a written briefing every agent reads first; agents draft, the reviewer re-measures every load-bearing (x)/(!) and posts; every (?) in a draft is settled by the reviewer or downgraded to (!) with the reason, never posted; "idle" without a report means read the deliverable files; main comment first, TL;DR only on success, chained with &&; stop every agent and remove clones/scratch, ending with zero agent processes; log the review time once per batch), a sizing note (fan-out from roughly six tickets, below that inline), the generalized briefing template (vendor-neutral placeholders: <ticket-bundle-dir>, <jira-cli>, <forge-cli>, <host>, …), and a table of what stays with the reviewer. Cross-linked from lifecycle.md Stage 0 in one sentence; one index entry added to SKILL.md (499 words, under the 500 cap — one filler word trimmed from the Output section to make room); eval E10 added to evals/qa-discipline.md in the existing stub format.

Why

Observed in the 2026-08-21 /retro of a Round-1 IT QA session: 16 maintenance tickets reviewed with 5 sub-agents grouped by component, all 16 passed. What made it sound — and what nothing in the skill yet said — was that the agents only gathered evidence and drafted, while the reviewer claimed, re-measured every load-bearing claim before posting (a CHANGELOG-regression claim via git show <tag>:CHANGELOG.md | grep -c, stale directory PTRs re-dug, a "device alive" claim re-pinged, a CI schedule's variables re-read via the API), settled the drafts' (?) items, posted and transitioned. Two frictions from the same session are encoded as rules: a ;-chained post once published a TL;DR after the main comment had been rejected by the markup validator, and one agent went idle without a report while its review files were already on disk; agent processes and clones also had to be swept explicitly at the end.

How to verify

bash <skill-repo-skill>/skills/skill-repo/scripts/validate-skill.sh . → 0 errors, SKILL.md is 499 words (under 500 limit); check-version-parity.sh → versions match at 0.7.0 (no bump, feature PR); pre-commit run --files <changed> green (markdownlint, whitespace, EOF). Read references/batch-review.md against lifecycle.md — no stage is added or reordered, only sequenced across many tickets.

Came from /retro: yes

Learning-Id: retro-20260821-qa-batch-fanout

Assisted by claude-code:claude-fable-5 — Session

Add references/batch-review.md: how one reviewer takes a batch of QA
tickets through a single Round-1 pass by fanning the evidence-gathering
out to sub-agents while every claim, verdict, comment and transition
stays the reviewer's own. Ten-step sequence (claim all first, gather all
into files, group per agent by domain, written briefing, agents draft /
reviewer posts, settle every (?) yourself, "idle" is not a report, main
comment before TL;DR chained with &&, stop every agent and remove what
it left, log time once per batch), a sizing note (fan-out from roughly
six tickets), the generalized briefing template, and a table of what
stays with the reviewer.

Cross-link from lifecycle.md Stage 0 in one sentence, add the
batch-review.md index entry to SKILL.md (499 words, under the 500 cap;
one filler word trimmed from the Output section to make room), and add
eval E10 to evals/qa-discipline.md in the existing stub format.

Observed in the 2026-08-21 /retro of a Round-1 IT QA session: 16
maintenance tickets, 5 sub-agents grouped by component (2-4 tickets
each), all 16 passed. Every (x)/(!) in the agent drafts was re-measured
by the reviewer before posting (a CHANGELOG-regression claim via
`git show <tag>:CHANGELOG.md | grep -c`, stale directory PTRs re-dug, a
"device alive" claim re-pinged, a CI schedule's variables re-read via
the API); a `;`-chained post once published a TL;DR after the main
comment had been rejected; one agent went idle without a report while
its deliverables were already on disk; agent processes and clones had
to be swept explicitly at the end.

Learning-Id: retro-20260821-qa-batch-fanout
Assisted-by: claude-code:claude-fable-5
Agent-Session: https://claude.ai/code/session_0124WZK5UoAM9oYQoSYF1Y8z
Agent-Host: 32116e
Signed-off-by: Sebastian Mendel <github@sebastianmendel.de>
Copilot AI lite review requested due to automatic review settings August 21, 2026 10:25
@sonarqubecloud

Copy link
Copy Markdown

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@CybotTM

CybotTM commented Aug 21, 2026

Copy link
Copy Markdown
Member Author

Self-review: 7a168f7

The review this pull request demands is unsatisfiable (Copilot quota wall or repeated bot failures on this head). Per the documented fallback, the diff on this head was reviewed by the PR author; this comment is the on-the-record attestation the merge gate reads back. It stops matching on the next push.

@CybotTM
CybotTM merged commit 05c39b9 into main Aug 21, 2026
6 of 7 checks passed
@CybotTM
CybotTM deleted the feat/retro-batch-review branch August 21, 2026 12:56
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.

2 participants