Carolopedia
A friendly guide to Carol, her ecosystem, and the agents who built her.
📖About
Ninad, 2026-08-04: asked Scriber what one story plus its video costs, and Scriber could only point at the Token Cost Tracker. Grounding only reads apps an agent OWNS, and the cost record is Midas's, so an agent's own spend is structurally invisible to it. Rule 1062 already settles who is at fault: every agent knows its own ledger, and where an agent cannot answer for itself the defect is in the RECORDS, not the agent.
Scriber's own pictures are attributed (his media call charges sc-story-01), but calls that reach the Image Generator without naming a buyer are recorded anonymously, so that spend can never be tied to any agent or any story. The generator already accepts an agent_id and resolves a payer from the work ticket - the callers simply do not say who they are, and nothing complains.
SCOPE: (1) an agent's own spend becomes a source of SELF-KNOWLEDGE through the briefing register - one entry, so it reaches every agent at once and needs no per-agent wiring, scoped to that agent's own droids and tasks only (confidential means own-records-only, P.01.03.05.16). (2) The anonymous media callers name themselves, and a call that names nobody is LOGGED rather than silently recorded to no one.
NOT IN SCOPE: pricing a single named story end to end. That needs a unit-of-work id on every row, which is a larger change; what this delivers is per-task spend and a per-unit average, stated as an average rather than dressed up as a precise price.
⚖️Decisions
- [status-router] planned -> executing | event=bypass_executing | bypass transition (or-bx-01)
- 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)
- [delivery-check] 1 pending must-have criteria stamped met at bypass_end on live re-performance evidence (CAROL-INI-3020): test test_ini3658.py: PASS (5 passed in 3.66s) (orion)
- [status-router] executing -> reviewing | event=bypass_reviewing | bypass transition (or-bx-01)
- [delivery-check] 1 pending must-have criteria stamped met at bypass_end on live re-performance evidence (CAROL-INI-3020): test test_ini3658.py: PASS (5 passed in 4.11s) (orion)
- [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
- Every agent can state what its own work has cost, broken down by its own tasks, without being wired up per agent. (must_have)
- An agent sees ONLY its own tasks' spend - never another agent's, and never the estate total. (must_have)
- Scriber can answer roughly what a story costs him, from live data, in his own chat. (must_have)
- Image and video calls name the agent that asked; a call that names nobody is logged, not silently recorded to no one. (must_have)
- A per-unit figure is presented as an average over real work, never as a precise price for one item. (must_have)
- Regression test covering the self-knowledge scoping and the anonymous-media check. (must_have)