Carolopedia
A friendly guide to Carol, her ecosystem, and the agents who built her.
📖About
Ninad (2026-07-19, CLI-059): four changes to the Token Cost Tracker (port 7174, /dev/carol-costs/). 1) The daily spend chart must show SUBSCRIPTION-level lanes only — DeepSeek, GPT (OpenAI), Claude — never model-level labels like 'opus (deepseek)', which read ambiguously. 2) Selecting a day's bar opens a second chart: that day's cost broken down by SERVICE (cost rows attribute via droid -> building block -> parent service from the registry; service_override wins; unmappable rows show honestly as Unmapped). 4) Selecting a service's bar lists the top 3 initiatives and top 3 agents for that service on that day, sorted by cost, in the existing list style — agent names must be the intuitive registry names, never agt_nnn ids.
⚖️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)
- Current state at filing (Elrond validity check): The Token Cost Tracker shows model-level labels like 'opus (deepseek)' instead of subscription-level lanes; it lacks a day-to-service drill-down, daily budget line, and per-service top-3 lists. The Daily Budget app exists but its day-scoped operator override is explicitly ignored for this line. (elrond)
- [status-router] planned -> executing | event=bypass_executing | bypass transition (or-bx-01)
- [status-router] executing -> reviewing | event=bypass_reviewing | bypass transition (or-bx-01)
- UAT FAIL r1 (Ninad, 2026-07-19): (1) the by-service chart must IGNORE the CLI lane entirely (Orion CLI droids per llm_config cli_lane_droids + the subscription exclude list) — bars, budget share and top-3 lists all CLI-free; (2) the x-axis must showcase ALL services from the Services Catalogue (zero-spend services included with their budget points), not only services with spend that day. — Ninad UAT on the live page, recorded by Orion (CLI-059) (ninad)
- UAT fail round 1 (acceptor ninad) (uat)
- [status-router] reviewing -> planned | event=uat_fail_rework | pipeline_uat uat_fail_rework (ninad)
- [status-router] planned -> executing | event=bypass_executing | bypass transition (or-bx-01)
- Handover-watchdog: planner-pending nudge for phase 2 (auto-invoked Elrond planner). (elrond)
- Handover-watchdog: planner-pending nudge for phase 2 (auto-invoked Elrond planner). (elrond)
- [status-router] executing -> reviewing | event=bypass_reviewing | bypass transition (or-bx-01)
- UAT FAIL r2 (Ninad, 2026-07-19): (1) the Daily Spend stacked-by-subscription chart must also IGNORE the CLI lane; (2) superimpose a curved line of the NUMBER OF INITIATIVES each day (distinct initiatives with LLM activity that day, CLI-excluded) on a second axis. — Ninad UAT r2, recorded by Orion (CLI-059) (ninad)
- UAT fail round 2 (acceptor ninad) (uat)
- [status-router] reviewing -> planned | event=uat_fail_rework | pipeline_uat uat_fail_rework (ninad)
- [status-router] planned -> executing | event=bypass_executing | bypass transition (or-bx-01)
- [status-router] executing -> reviewing | event=bypass_reviewing | bypass transition (or-bx-01)
- UAT round 3 comments (Ninad, 2026-07-19): (1) Unattributed (ambient calls) is showing as the TOP token-consuming initiative in the day->service drill-down top-3 — it is not an initiative and must never rank in the top-initiatives list; show ambient spend as a separate non-ranked line. (2) Top initiatives must focus on AUTOMATED lanes only: planner initiatives + Albus bypass (Orion bypass and chat-lane spend excluded). (3) Attribution root cause filed separately: Palantir story narration and Elrond topic-tagger calls work ON a specific initiative and must stamp it in the cost log (Carol chat is genuinely ambient and stays unattributed). — Ninad UAT feedback on 3002 top-3 drill-down (ninad)
- UAT fail round 3 (acceptor ninad) (uat)
- [status-router] reviewing -> planned | event=uat_fail_rework | pipeline_uat uat_fail_rework (ninad)
- [status-router] planned -> executing | event=bypass_executing | bypass transition (or-bx-01)
- [delivery-check] 4 pending must-have criteria stamped met at bypass_end on live re-performance evidence (CAROL-INI-3020): test test_ini3002.py: PASS (9 passed in 1.02s) (orion)
- [status-router] executing -> reviewing | event=bypass_reviewing | bypass transition (or-bx-01)
- [status-router] reviewing -> closed | event=operator_signoff | Auto-accepted (CAROL-INI-1859): Orion-initiated, >2 days in reviewing with no objection. (el-srac-01)
- Orion remediated: INI-999902635 bypass closed — CAROL-INI-696 close-marker: the Orion bypass INI-999902635 filed against this parent reached terminal state (closed). This row's literal prefix Orion remediated: is the canonical signal the cookbook-155 dispatcher gate looks for. (shared.bypass.bypass_end)
✅Success criteria
- The Token Cost Tracker daily chart shows spend stacked by subscription only (DeepSeek, GPT, Claude) — Ninad sees no model-level label such as opus (deepseek) anywhere on it. (must_have)
- When Ninad clicks a day bar, a second chart appears showing that day cost broken down by service. (must_have)
- (must_have)
- When Ninad clicks a service bar, he sees the top 3 initiatives and top 3 agents for that service that day sorted by cost, and every agent is shown by its intuitive name, never an agt_nnn id. (must_have)