Reviewing Designs
Review brief
Pass this section to a fresh, read-only Explore subagent. Substitute the
artifact directory docs/plans/<id>/ for $ARGUMENTS. The reviewer must first
read references/review-brief.md completely; it
owns the full criteria, exceptions, and output rules.
Review $ARGUMENTS/6-design.md with no author conversation. Use only Read,
Grep, and Glob. Never edit files or run state-changing commands.
Call the Skill tool with technical-design-doc, reviewing-code,
engineering-standards, and documenting-decisions. Call the Skill tool with
cross-model-review only when the prompt carries an ## External review input
section. Call the Skill tool with conventional-comments for findings and
writing-prose for STE-flavored prose and Self-lint.
Review process
- Locate the document. Read
6-design.md and present siblings
1-task.md, 2-questions.md, 4-repos.md, and 5-research.md.
- Evaluate structure. Check the applicable
technical-design-doc or
design-author template: current/desired state, patterns, decisions, scope,
edge cases, open questions, trade-offs, and rollout.
- Audit the decisions. For each decision, require a real alternative,
rejected cost, chosen risk, reconstructable reason, and blast radius across
callers, siblings, and co-changing surfaces.
- Verify edge-case enumeration. Require boundary values, invalid inputs,
failure paths, concurrency, authorization, and resource limits. Deferred
cases belong in Out of scope or Non-Goals.
- Check every rule reaches every surface it must. For multiple entry modes,
standalone sections, or process boundaries, check each safeguard separately.
A rule present on one surface and not another without a stated reason is
blocking. Read each claimed self-contained section alone.
- Check specificity. Require concrete
file:line citations and spot-check
claims. Missing, false, or unverifiable citations are blocking.
- Apply engineering standards. Check Hickey, Carmack, Armstrong, Knuth,
Liskov, and Ousterhout; prioritize isolation and contract failures.
- Check scope discipline. Silent subsystem or multi-repo expansion is
blocking.
Calibration
Size the bar to the class of change. A refactor design is legitimately thin on
edge cases, concurrency, and authorization, because the change adds no behavior
there. Blocking means one thing: acting on the design as written produces a
wrong or incomplete result. Prose imprecision, a citation off by a line, and a
claim resting on vendor documentation outside the repo are not that. Never
manufacture a blocking finding to justify another round.
Output format
Use Conventional Comments for every finding with a file:line. When external
input exists, emit one paraphrase-only ### Cross-model disposition that
classifies every claim or skip per cross-model-review.
End with exactly one terminal verdict line; nothing follows:
- APPROVE — complete structure, justified alternatives, enumerated edge
cases, accurate citations, and no blocking issue.
- REQUEST CHANGES — any required section, decision basis, edge case,
citation, scope boundary, or cross-surface rule is blocking.
- COMMENT — only non-blocking suggestions or nitpicks.
Brief rules
- Do not rewrite or edit the design. The producer owns it.
- Do not invent intent. Ambiguity is a finding.
- Cite the exact decision and failed criterion.
- Review design, not implementation correctness.
- Remain read-only.
1---2name: reviewing-designs3description: Defines adversarial design review and verdicts. Load when a fresh-context reviewer evaluates `6-design.md`.4---56# Reviewing Designs78## Review brief910Pass this section to a fresh, read-only `Explore` subagent. Substitute the11artifact directory `docs/plans/<id>/` for `$ARGUMENTS`. The reviewer must first12read [references/review-brief.md](references/review-brief.md) completely; it13owns the full criteria, exceptions, and output rules.1415Review `$ARGUMENTS/6-design.md` with no author conversation. Use only Read,16Grep, and Glob. Never edit files or run state-changing commands.1718Call the Skill tool with `technical-design-doc`, `reviewing-code`,19`engineering-standards`, and `documenting-decisions`. Call the Skill tool with20`cross-model-review` only when the prompt carries an `## External review input`21section. Call the Skill tool with `conventional-comments` for findings and22`writing-prose` for STE-flavored prose and Self-lint.2324### Review process25261. **Locate the document.** Read `6-design.md` and present siblings27 `1-task.md`, `2-questions.md`, `4-repos.md`, and `5-research.md`.282. **Evaluate structure.** Check the applicable `technical-design-doc` or29 `design-author` template: current/desired state, patterns, decisions, scope,30 edge cases, open questions, trade-offs, and rollout.313. **Audit the decisions.** For each decision, require a real alternative,32 rejected cost, chosen risk, reconstructable reason, and blast radius across33 callers, siblings, and co-changing surfaces.344. **Verify edge-case enumeration.** Require boundary values, invalid inputs,35 failure paths, concurrency, authorization, and resource limits. Deferred36 cases belong in Out of scope or Non-Goals.375. **Check every rule reaches every surface it must.** For multiple entry modes,38 standalone sections, or process boundaries, check each safeguard separately.39 A rule present on one surface and not another without a stated reason is40 blocking. Read each claimed self-contained section alone.416. **Check specificity.** Require concrete `file:line` citations and spot-check42 claims. Missing, false, or unverifiable citations are blocking.437. **Apply engineering standards.** Check Hickey, Carmack, Armstrong, Knuth,44 Liskov, and Ousterhout; prioritize isolation and contract failures.458. **Check scope discipline.** Silent subsystem or multi-repo expansion is46 blocking.4748### Calibration4950Size the bar to the class of change. A refactor design is legitimately thin on51edge cases, concurrency, and authorization, because the change adds no behavior52there. Blocking means one thing: acting on the design as written produces a53wrong or incomplete result. Prose imprecision, a citation off by a line, and a54claim resting on vendor documentation outside the repo are not that. Never55manufacture a blocking finding to justify another round.5657### Output format5859Use Conventional Comments for every finding with a `file:line`. When external60input exists, emit one paraphrase-only `### Cross-model disposition` that61classifies every claim or skip per `cross-model-review`.6263End with exactly one terminal verdict line; nothing follows:6465- **APPROVE** — complete structure, justified alternatives, enumerated edge66 cases, accurate citations, and no blocking issue.67- **REQUEST CHANGES** — any required section, decision basis, edge case,68 citation, scope boundary, or cross-surface rule is blocking.69- **COMMENT** — only non-blocking suggestions or nitpicks.7071### Brief rules7273- Do not rewrite or edit the design. The producer owns it.74- Do not invent intent. Ambiguity is a finding.75- Cite the exact decision and failed criterion.76- Review design, not implementation correctness.77- Remain read-only.