review-sidecar
Reviews diff as an external reviewer with no memory of how the code was written. Catches tautological tests, mock-only assertions, missing edge cases, React/Next anti-patterns. Reports; does not fix.
review-sidecar
Status: shipped-beta · Ships to: npm lane — delivered into the consumer's .claude/agents/ by the setup delivery loop (setup.d/20-agents.sh:24) · Fires at: dispatched as a Claude Code sub-agent (frontmatter name:; the session's agent list carries its one-line description)
What it is
"> Authoritative for: review-sidecar sub-agent prompt — adversarial diff review as external reviewer; reporting-only." (agents/review-sidecar.md:9). The seat is memory-free by construction: "You are reviewing this diff as if you were an external reviewer who has NEVER seen this code before. …" (agents/review-sidecar.md:19). It is "the formalization of the two-AI review pattern: one model writes, a different model reviews without context." (agents/review-sidecar.md:23). The install story is the collision-resolution case: "# - review-sidecar — still collides with AIF's. copy_safe DEFAULT (no --force) intentionally" skips it when AIF's own is present (setup.d/20-agents.sh:15-17), while "# agents/review-sidecar.md remains the portable SSOT (@dual-pair anchor: review-sidecar)." (setup.d/20-agents.sh:22). A plugin twin at plugin/agents/review-sidecar.md is a generated byte-identical copy for the plugin marketplace channel (verified line-for-line at authoring time).
How it works
- Anti-tautology content still reaches AIF's
aif-reviewpipeline without overwriting AIF's agent — via the skill-context override: "also delivered into AI Factory's pipeline via the skill-context override at"packages/core/templates/shared/skill-context/aif-review/SKILL.md(agents/review-sidecar.md:13-17), and on the setup side "# instead of shipping colliding agents: aif-review gets our anti-tautology test-review content;" (setup.d/20-agents.sh:58). - "## What to look for" (line 29) — eight categories: "### 1. Tautological tests" (line 31), mock-only tests (line 63), missing edge cases (line 76), test name ≠ behavior (line 87), test independence (line 103), React-specific anti-patterns (line 113), "### 7. Next.js-specific anti-patterns" (line 125), React testing anti-patterns (line 134).
- The tautology heuristic: "Heuristic: for each
expect(...)in the diff, ask "if I removed this, what bug could now ship?" If the answer is "none" — it's tautological." (agents/review-sidecar.md:61). - Severity: "- BLOCKER — security/correctness/data integrity (allows silent breakage; e.g., tautological test on critical path)." (line 162); round-triggering findings need a
Failure-scenario:line per the severity contract (line 158). - Final verdict: "## Two-AI Review Summary" with "BLOCK MERGE — fix BLOCKER before proceeding." or "APPROVE — review passed." (lines 170-191).
Satellites & companions
- USES: the severity contract + triage rubric from
.claude/rules/reviewer-discipline.md§6/§6.1 (lines 158-160). - ADAPTS: itself into two other channels without losing the SSOT — the plugin twin (byte-identical, marketplace channel) and the skill-context override into AIF's
aif-review(line 14). - ADDS: the eight-category anti-tautology catalogue and the two-AI summary verdict — the diff-correctness seat compliance-verifier explicitly defers to (
agents/compliance-verifier.md:139). - Census family satellites: C22 (the
aif-reviewskill-context override — census E16 records the same wiring); C6 (compliance-verifier peer).
Anchors
agents/review-sidecar.md:2—name: review-sidecaragents/review-sidecar.md:3—description: Reviews diff as an external reviewer with no memory of how the code was written. Catches tautological tests, mock-only assertions, missing edge cases, React/Next anti-patterns. Reports; does not fix.agents/review-sidecar.md:9—> **Authoritative for:**review-sidecarsub-agent prompt — adversarial diff review as external reviewer; reporting-only.agents/review-sidecar.md:12—<!-- @dual-pair: review-sidecar -->agents/review-sidecar.md:14—also delivered into AI Factory's pipeline via the skill-context override atagents/review-sidecar.md:29—## What to look foragents/review-sidecar.md:31—### 1. Tautological testsagents/review-sidecar.md:61—**Heuristic:** for eachexpect(...)in the diff, ask "if I removed this, what bug could now ship?" If the answer is "none" — it's tautological.agents/review-sidecar.md:125—### 7. Next.js-specific anti-patternsplugin/agents/review-sidecar.md:2—name: review-sidecarsetup.d/20-agents.sh:15—# - review-sidecar — still collides with AIF's. copy_safe DEFAULT (no --force) intentionallysetup.d/20-agents.sh:22—# agents/review-sidecar.md remains the portable SSOT (@dual-pair anchor: review-sidecar).setup.d/20-agents.sh:48—copy_safe "$f" "$_dst"setup.d/20-agents.sh:58—# instead of shipping colliding agents: aif-review gets our anti-tautology test-review content;
All anchors at framework pin b069c59328aa8e08671d3a19fd25efa618dfc1c5 (fetched 2026-09-11 from artyhoo/getff staging; ancestry of census pin a1337cb301 verified).
living-docs-auditor
Runs scripts/audit-ai-docs.sh and reports findings. Catches backward Living-Documentation drift — whether AGENTS.md/RULES.md rules still hold in the actual code. Reports; does not fix.
memory-codification-auditor
Audits user-scope agent memory for durable conventions that live only in memory and were never codified into the repo. Flags stage-0 entries; reports candidates with a codify-or-leave verdict. Reports; does not fix.