1e74b2c95e
Phase 3 Task 18 (G16 closure). Spec §4.6 — direct Opus API fallback for the
brain-retro reviewer when the Claude Code subagent
.claude/agents/reviewer-agent.md crashes / times out.
- tools/brain-retro-opus-reviewer.mjs (NEW — G16: file did not exist):
+ buildReviewPrompt(episode) — adaptive prompt:
v4 → full (alternatives_considered + self_assessment + chain_gaps cues)
v3 → omits alternatives_considered
v2 → omits both alternatives + self_assessment
+ parseReview(text) — strips ```json fence, requires the 7 review
fields (node_quality / chain_quality / gap_assessment /
agent_self_assessment_accuracy / error_root_cause / outcome_reviewed /
reasoning) + alternative_better (nullable). Passes through
reviewer_error escalations from the subagent verbatim.
+ reviewViaDirectApi(episode, options) — async wrapper around
callAnthropicAPI with REVIEWER_MODEL. Returns parsed review or null.
- tools/brain-retro-opus-reviewer.test.mjs (NEW): 9 tests (4 prompt +
5 parse: complete / fence / malformed / missing field / reviewer_error
escalation).
- Reviewer subagent verified: .claude/agents/reviewer-agent.md exists
with frontmatter spec §4.6 (tools: Read/Grep/Glob/Skill; model: opus;
8-dim review contract). No edits to the agent file (this Task 18
step 1 is a verify, not a rewrite — agent already conforms).