getff docs
Framework reference (raw)

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-review pipeline 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-review skill-context override — census E16 records the same wiring); C6 (compliance-verifier peer).

Anchors

  • agents/review-sidecar.md:2 — name: review-sidecar
  • agents/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-sidecar sub-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 at
  • agents/review-sidecar.md:29 — ## What to look for
  • agents/review-sidecar.md:31 — ### 1. Tautological tests
  • agents/review-sidecar.md:61 — **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:125 — ### 7. Next.js-specific anti-patterns
  • plugin/agents/review-sidecar.md:2 — name: review-sidecar
  • setup.d/20-agents.sh:15 — # - review-sidecar — still collides with AIF's. copy_safe DEFAULT (no --force) intentionally
  • setup.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).

On this page