Skip to content

Commit ff6e26e

Browse files
authored
fix(ce-code-review): annotate model tier in Stage 3 team announce; read it at Stage 4 dispatch (#979)
1 parent 16442e8 commit ff6e26e

1 file changed

Lines changed: 19 additions & 12 deletions

File tree

skills/ce-code-review/SKILL.md

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -306,22 +306,24 @@ Stack-specific personas are additive when runtime behavior warrants them. A Hotw
306306

307307
For `deployment-verification-agent`, use the same migration-artifact gate when the change is risky (destructive DDL, backfills, NOT NULL without default, column renames/drops).
308308

309-
Announce the team before spawning:
309+
Announce the team before spawning. Tag each reviewer with its model tier (`[session model]` or `[mid-tier]`) — this annotation is the authoritative input Stage 4 reads to apply the dispatch-time override, so it must be present and accurate before any agent is dispatched:
310310

311311
```
312312
Review team:
313-
- correctness (always)
314-
- testing (always)
315-
- maintainability (always)
316-
- project-standards (always)
317-
- agent-native-reviewer (always)
318-
- learnings-researcher (always)
319-
- security -- new endpoint in routes.rb accepts user-provided redirect URL
320-
- julik-frontend-races -- Stimulus controller with async DOM updates
321-
- data-migration -- adds migration 20260303_add_index_to_orders
322-
- deployment-verification-agent -- destructive migration with backfill
313+
- correctness (always) [session model]
314+
- testing (always) [mid-tier]
315+
- maintainability (always) [mid-tier]
316+
- project-standards (always) [mid-tier]
317+
- agent-native-reviewer (always) [mid-tier]
318+
- learnings-researcher (always) [mid-tier]
319+
- security -- new endpoint in routes.rb accepts user-provided redirect URL [session model]
320+
- julik-frontend-races -- Stimulus controller with async DOM updates [mid-tier]
321+
- data-migration -- adds migration 20260303_add_index_to_orders [mid-tier]
322+
- deployment-verification-agent -- destructive migration with backfill [mid-tier]
323323
```
324324

325+
Tag `[session model]` only for `correctness-reviewer`, `security-reviewer`, and `adversarial-reviewer`; every other persona and CE agent gets `[mid-tier]` (see Model tiering below for the rationale).
326+
325327
This is progress reporting, not a blocking confirmation.
326328

327329
### Stage 3b: Discover project standards paths
@@ -360,7 +362,12 @@ Pass `{run_id}` to every persona sub-agent so they can write their full analysis
360362

361363
Omit the `mode` parameter when dispatching sub-agents so the user's configured permission settings apply. Do not pass `mode: "auto"`.
362364

363-
**Model override at dispatch time.** Pass the platform's mid-tier model on every dispatch except `correctness-reviewer`, `security-reviewer`, and `adversarial-reviewer`, which inherit the session model (per the Model tiering subsection above). In Claude Code, that is the Sonnet class. In Codex, use the current mini/mid-tier model exposed by `spawn_agent` when known. On platforms where the dispatch primitive has no model-override parameter or the available model names are unknown, omit the override — a working review on the parent model beats a broken dispatch on an unrecognized name. Check this on every Agent / `spawn_agent` / subagent call in the parallel dispatch; omitting it on a top-tier parent session can multiply review cost.
365+
**Model override at dispatch time — check this before every dispatch call.** Omitting it on a top-tier parent session (e.g. Opus) silently multiplies review cost. For each reviewer, read the `[session model]` / `[mid-tier]` tag from the Stage 3 team announce and apply it — do not re-derive the tier from the rules at dispatch time:
366+
367+
- `[session model]` → no override; the reviewer inherits the session model. This covers `correctness-reviewer`, `security-reviewer`, and `adversarial-reviewer`.
368+
- `[mid-tier]` → pass the platform's mid-tier model. In Claude Code, that is the Sonnet class. In Codex, use the current mini/mid-tier model exposed by `spawn_agent` when known. On platforms where the dispatch primitive has no model-override parameter or the available model names are unknown, omit the override — a working review on the parent model beats a broken dispatch on an unrecognized name.
369+
370+
The Stage 3 annotation is the single source of truth for model assignment; apply it on every Agent / `spawn_agent` / subagent call in the parallel dispatch.
364371

365372
**Bounded parallel dispatch.** Respect the current harness's active-subagent limit. Queue selected reviewers, dispatch only as many as the harness accepts, and fill freed slots as reviewers complete. Treat active-agent/thread/concurrency-limit spawn errors as backpressure, not reviewer failure: leave the reviewer queued and retry after a slot frees. Record a reviewer as failed only after a successful dispatch times out/fails, or when dispatch fails for a non-capacity reason.
366373

0 commit comments

Comments
 (0)