Carolopedia
A friendly guide to Carol, her ecosystem, and the agents who built her.
📖About
Ninad ruling, CLI-165. In a multi-agent estate the recurring confusion is not what the law says, it is how two agents actually work together when several routes are equally valid. Those conventions exist today only as scattered cookbook rules, so nobody can look up what happens when one agent asks another for something and gets no answer - the exact silence that caused weeks of no-show failures.
This builds an AGENT INTERACTION PROTOCOLS app, owned by Athena, readable by every agent, written by her own scribe.
THE SPIRIT MATTERS MORE THAN THE MACHINERY (Ninad): a protocol is a CONVENIENCE, not a rule. It exists to save two agents from guessing, not to police them. So: a protocol may never create a duty that policy has not already created; deviation is permitted and is a signal about the protocol rather than a fault of the agent; Athena FACILITATES and never approves conduct; and a protocol that would need a human step is by definition an escalation, not a protocol.
Every protocol must justify itself - it cites the policy or policies it serves, and states why it exists at all (the law is silent, the law is ambiguous, or several routes are equally valid). Both sides are named, with the trigger, the expected response, how long to wait, and what happens on silence. The counterpart agent agrees before it goes live, because a convention one side invents is not a convention.
ATHENA RUNS IT INDEPENDENTLY - no human step anywhere in the protocol lifecycle. Her facilitator checks policy alignment and duplication, resolves a silent counterpart on a timeout so nothing stalls, measures whether a protocol is actually USED (an unused one is clutter to retire, not a violation to chase), and retires protocols whose reason has gone away.
Two things deliberately leave the protocol world: a contradiction between policies escalates to Orion, and a protocol that proves durable is proposed as policy through the existing proposal queue where agents propose and Ninad approves. Protocols are a nursery for policy, not a parallel rulebook.
⚖️Decisions
- Elrond's bypass methodology checklist (a reminder, not a gate -- you've got this): 0. File it requested_mode='bypass' (planner-vs-bypass is a deliberate choice). bypass_start REFUSES a non-bypass initiative (CAROL-INI-1846), and the dispatcher only skips the bypass lane when the mode says bypass -- a 'planner' mistag lets Merlin's pipeline grab the placeholder step and block your finished work. 1. Filed as planned status -- let the bypass claim/activate it; never file active. 2. Open the bypass (bypass_start) with your droid id + the remediation answer (remediates_initiative_id=NNN, or remediates_nothing=True). 3. Work the blocks for your work-type: template -> design -> code -> test -> review. Do the real work; record decisions on the initiative as you make them. 4. Reality is recorded for you at close -- code (files changed), each decision, and the twin-review verdict become real activities tied to this initiative and show in the Activity Tracker like a planner run (CAROL-INI-1840). No dummy rows. 5. Keep the initiative status moving; it parks in 'reviewing' and is tagged uat-pending for you at close (CAROL-INI-1836), so the stuck-watchdog leaves it alone until UAT. 6. Close runs the gates (design/architecture compliance + caller-audit). If a gate flags something pre-existing or unrelated to your change, waive it with a clear written rationale -- audit, don't skip. 7. Bypass skips the planner's auto-orchestration, NOT the standards. Same template checklist, same review, same observability as a planner run. (elrond)
- [status-router] planned -> executing | event=bypass_executing | bypass transition (or-bx-01)
- Compliance waived by orion (operator) with evidence — all 8 gaps are foreign to this initiative and each is explained. THIS BYPASS ADDED A NEW APP AND ITS SHIM: shared/work_ticket.py, tools/work_ticket_coverage.py, shared/test_ini3456.py (new); shared/cost_log.py, shared/prompt_context.py, tools/audit_wrapper.py, regression/runner.py, shared/skill_execution.py, shared/planner_simplified.py, regression/tests.json (edited). NONE of the flagged paths is among them. (1) The [core] gap names 6 pipeline-core droids I never opened; protected core was deliberately avoided by this design. (2) Three files reported as 'shrank to 0B' — Elrond's pm_s1, Merlin's sr_01 and the VM-metrics app — DO NOT EXIST: they were retired by earlier initiatives, and the gate reports a deleted file as a shrink to zero. (3) shared/llm_provider.py (-75%) and shared/budget_monitor.py (-46%) are root-owned protected core last modified 26 and 23 Jul, both BEFORE this bypass opened; their shrink is the legitimate refactor that moved provider code into the adapter layer and budgets into their own store. llm_provider was verified healthy at waive time: it imports and exposes 30 functions. (4) Clara's agent module failing to import shared.agentbook is a pre-existing breakage in another agent's tree. ROOT CAUSE UNFIXED AND ALREADY REPORTED TO NINAD: the delivery-compliance baseline is stale, so it cries wolf on every bypass, and its out-of-scope follow-on cannot file because it bounces on the budget gate (CAROL-INI-2803) — so nothing carries the finding. That belongs in its own initiative. (orion)
- [status-router] executing -> reviewing | event=dispatcher_transition | dispatcher state change (ds-s1)
- [status-router] reviewing -> closed | event=operator_signoff | Auto-accepted (CAROL-INI-1859): Orion-initiated, >2 days in reviewing with no objection. (el-srac-01)
✅Success criteria
- Any agent can look up how it is meant to work with another agent - who starts, what comes back, how long to wait, and what to do if nothing comes back - without asking a person. (must_have)
- Every convention on record says which policy it serves and why it needed to exist at all, so one whose reason has gone away can be spotted and removed. (must_have)
- An agent can propose a convention, and it becomes live only once the other side agrees - and nothing stalls forever if the other side stays silent. (must_have)
- The record shows whether a convention is actually being used, and doing it differently is captured as feedback about the convention rather than as a fault of the agent. (must_have)
- Athena runs the whole of this on her own - no step in a protocol's life waits on a human - while a clash between policies still goes to Orion. (must_have)