Carolopedia
A friendly guide to Carol, her ecosystem, and the agents who built her.
📖About
The Initiative Reviewer currently runs Haiku single-shot with no investigation tools and a thin classification prompt. When confidence < 0.7 it falls back to grey_zone — that is a defensive default, not a real decision. 24 of 36 latent test failures cluster around cases where the reviewer should have decided pass / closed_with_gaps but returned grey_zone instead, which means the pipeline escalates to Orion when Elrond should be closing the initiative himself. Fix on four axes (Ninads framing): (1) iterative investigation with full read scope under /home/caroladmin/dev — same harness pattern as Albuss troubleshooter, Elronds gate, Elronds reviewer-stance, ip-s1, dp-s2; (2) move from Haiku to Opus via Claude Code harness so reasoning depth matches the strategic nature of the call; (3) rich prompt rubric with concrete worked examples of essential vs trivial gaps (security / data-loss / contract-break = essential; cosmetic / doc-polish / edge-case = trivial); (4) drop the confidence < 0.7 -> grey_zone floor — grey_zone is now only returned when the reviewer explicitly says I cannot decide even after investigation, with rationale. Plus housekeeping: remove the Initiative Reviewer carve-out from cookbook entry on Elronds brain droids harness; add a new cookbook entry documenting the Initiative Reviewer verdict taxonomy + grey_zone definition; add an SST Concepts row so the vocabulary is discoverable from the SST app, not buried in code.
⚖️Decisions
- Migrate Initiative Reviewer to Claude Code harness using same subprocess pattern (claude -p --append-system-prompt SYS --permission-mode bypassPermissions --output-format json) as al_auto_01 / el_gate_01 / el_s1. — Cookbook entry on Elronds brain droids harness lists ir_s1 as Haiku-OK because pattern-matching not strategic. That carve-out is wrong — deciding which gaps matter IS strategic. Same migration pattern is proven on 4 sister droids. (Orion)
- Drop the confidence < 0.7 -> grey_zone floor. — Confidence-floor is a defensive default, not a decision. With investigation tools + Opus reasoning, Claude can verify hypotheses before committing. grey_zone now requires the model to explicitly state I cannot decide after investigation — a real call, not a fallback. (Orion)
- Inline rubric with concrete worked examples in the system prompt: essential = security / data-loss / contract-break / blocks core value; trivial = cosmetic / doc-polish / edge-case / acceptable-with-gaps. — Without examples, Haiku and Opus alike interpret essential / trivial inconsistently. Few-shot rubric reliably reduces ambiguity (same approach used in al_auto_01 SYSTEM_PROMPT after INI-144). (Orion)
- Document the Initiative Reviewer verdict taxonomy + grey_zone definition in cookbook + SST Concepts. — Currently only in code docstring. SST Concepts has 21 rows but no verdict taxonomy. Documenting makes the contract visible and prevents silent shifts (the 24-failure regression cluster was exactly that — code shifted, taxonomy not documented, tests still asserted the old taxonomy). (Orion)
- Defer test rewrite for Initiative Reviewer to a follow-up. — The 24 IR-S1 test failures need updating to match the new contract. Doing it in this initiative would balloon scope. File a follow-up cleanup initiative. (Orion)
- Handover-watchdog: gap-H dispatched planned bypass INI 1000041. (elrond)
- [status-router] planned -> closed | event=operator_put | PUT /api/initiatives (operator)
✅Success criteria
- grep ir_s1.py for claude -p with bypassPermissions returns at least 1 hit (must_have)
- grep ir_s1.py for CLAUDE_CONFIDENCE_THRESHOLD returns 0 hits in active code (constant + branch removed) (must_have)
- Cookbook query for grey_zone or verdict taxonomy returns at least one entry (must_have)
- SST Concepts category list contains a row whose name includes Verdict or Grey zone (must_have)
- Smoke: ir_s1 module imports cleanly; verdict-resolution logic still produces a parseable dict for synthetic mock-Claude inputs (must_have)