Parent
docs/issues/unic-pr-review/PRD.md
What to build
Add the other five review aspect sub-agents (silent-failure-hunter, type-design-analyzer, pr-test-analyzer, comment-analyzer, code-simplifier) and grow changed-file-analyser.mjs into the full spawn-decision table so each agent only runs when the diff actually touches its concern.
Per ADR-0008: code-reviewer always runs; the others are conditional. Each agent has its own distinctive name + colour, embeds the same Confidence-Score rubric, and emits Findings with the same structured schema as #145.
Clean-slate doctrine. No prompt copying from pr-review-toolkit or apps/claude-code/pr-review/. Each agent's prompt is written fresh against the PRD's "review aspects" guidance.
Acceptance criteria
Blocked by
Parent
docs/issues/unic-pr-review/PRD.mdWhat to build
Add the other five review aspect sub-agents (
silent-failure-hunter,type-design-analyzer,pr-test-analyzer,comment-analyzer,code-simplifier) and growchanged-file-analyser.mjsinto the full spawn-decision table so each agent only runs when the diff actually touches its concern.Per ADR-0008:
code-revieweralways runs; the others are conditional. Each agent has its own distinctive name + colour, embeds the same Confidence-Score rubric, and emits Findings with the same structured schema as #145.Clean-slate doctrine. No prompt copying from
pr-review-toolkitorapps/claude-code/pr-review/. Each agent's prompt is written fresh against the PRD's "review aspects" guidance.Acceptance criteria
agents/silent-failure-hunter.mdexists with distinct name + colour, looks for swallowed errors / inappropriate fallback / try-catch antipatterns; spawned when error-handling code changed.agents/type-design-analyzer.mdexists with distinct name + colour, looks for weakly-encapsulated types and missing invariants; spawned when type definitions changed.agents/pr-test-analyzer.mdexists with distinct name + colour, looks for test-coverage gaps and missing edge cases; spawned when test files changed.agents/comment-analyzer.mdexists with distinct name + colour, looks for comment rot / inaccurate docs / over-documentation; spawned when comments or docs changed.agents/code-simplifier.mdexists with distinct name + colour, looks for opportunities to reduce complexity; spawned when a complexity heuristic fires on any changed file.scripts/lib/changed-file-analyser.mjsexports a pure functiondecideSpawnSet(changedFiles) → Set<string>returning agent names. Table-driven, classifies files by path/extension/diff content.tests/changed-file-analyser.test.mjscovers each spawn predicate with at least one positive and one negative fixture.Blocked by