Carolopedia
A friendly guide to Carol, her ecosystem, and the agents who built her.
📖About
Two architectural rules to enforce. (1) Argus tests every step in Merlin's detail plan against Archon design specs + Sage requirements (today Argus only runs Layer 1 static + Layer 2 Playwright at initiative-review time, doesn't read designs.db or initiative_requirements rows). (2) Elrond's Initiative Reviewer must DESIGN + PERFORM success-criterion checks (today it just reads pre-marked criteria.status — nothing populates 'met', so verdicts loop through fail/continue forever). Concretely: (a) add Argus checklist template entries that load applicable designs + requirements at step-test time and verify the produced artifact conforms — covers code-producing types A/D/E/G + per-step variants in S* templates; (b) extend Initiative Reviewer to invoke a Claude-driven verification helper that, for each success_criterion in 'open' status, gathers evidence (curl, sqlite, file checks) and decides met/fail with rationale; the verdict logic stays unchanged downstream — it just sees 'met' criteria more often; (c) update cookbook entries on Argus + Elrond identities to codify these rules and prevent regression.
⚖️Decisions
- Argus runs per-step in Merlin detail plan. Three new template steps for code-producing types A/D/E/G in execute phase (immediately after Forge produces the artifact): design-conformance check, requirement-satisfaction check, layer-1+2 functional tests. Plus an existing-style review-phase step for cross-step regression. — Per Ninad: Argus checks the developer work for design + requirement conformance, on a per-step basis. Putting Argus checks IN the execute phase ensures defects surface immediately, not at the end-of-phase review. (Ninad)
- Elrond Initiative Reviewer adds Claude-driven _verify_success_criteria helper that gathers evidence per criterion and writes status=met when satisfied. Runs at the top of run() before structural verdict. — Per Ninad: Elrond designs and performs the checks. The helper inspects the criterion text + the initiative artifacts (apps, registry rows, code, etc.) and decides met/not-met. Verdict logic downstream stays unchanged. (Ninad)
- Cookbook updates: amend Argus identity entry / add new cookbook entry on Argus per-step testing scope. Amend Elrond Initiative Reviewer cookbook entry (#62) with the new Reviewer-owned success-criteria verification. — Documenting the rules prevents regression and surfaces them in the SST. (Orion)
- Gap G zombie sweep (CAROL-INI-479): initiative active with no dispatch path since 2026-05-14 17:44:11. Transitioning to blocked for operator triage or manual re-activation. (elrond.zombie_sweep)
- requester rewritten ninad -> orion per CAROL-INI-744: orion is the only human-CLI requester — Backfill of historical rows after INI744 added API-level refusal of requester=ninad. Orion is Ninads CLI agent; all human-originated initiatives are filed with requester=orion. (orion)
✅Success criteria
- SQL: COUNT checklist_templates WHERE default_owner_role=Argus AND phase=execute >= 12 (3 new steps x 4 types) (must_have)
- _verify_success_criteria callable from agents.agt_011.droids.ir_s1 (must_have)
- Smoke: invoke Initiative Reviewer with verify_criteria=True on INI-029; at least 1 criterion flips from open to met (must_have)
- Cookbook query for Argus per-step OR Reviewer success-criteria verification returns at least one entry (must_have)