Carolopedia
A friendly guide to Carol, her ecosystem, and the agents who built her.
📖About
Root cause: the Token Cost Tracker reads the daily cap straight from data/daily_budget.json (a stale mirror) instead of the registry-first budget source, so registry-first lane bumps (e.g. planner EUR15->20) never show. Broader gap: bumps today are permanent-only and there is no day-scoped 'exception' concept, and not every app reads one effective-cap resolver. Scope: (1) add a day-scoped exception overlay to the registry-first budget module (keyed by scope+day) with a single effective-cap resolver = today's exception ?? standing cap; wire it into lane/global cap reads so BOTH enforcement and display honour it; auto-reverts next day with no cron. (2) Support both temporary (today-only) and permanent (standing) bumps, each with a recorded reason + actor. (3) Repoint the stale readers (Token Cost Tracker, Daily Budget) at the resolver so all apps agree same-day; the Cap Monitor and pipeline card already read the registry. (4) Give Midas a control surface on the Daily Budget Cap Monitor to bump/reset. (5) Author a Midas-owned skill documenting the process. (6) Regression test the overlay, the revert, enforcement, and that all readers agree.
⚖️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): Registry-first budget allocations exist and a Daily Budget Cap Monitor app for Midas was delivered in CAROL-INI-3222, but bumps are permanent-only; there is no day-scoped temporary overlay, not every app reads an effective-cap resolver (Token Cost Tracker and Daily Budget still read from data/daily_budget.json), and Midas lacks a skill for managing bumps. The pipeline card and Cap Monitor already read the registry, so they are not stale. (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)
- [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
- A lane's daily budget can be bumped two ways, each recording a reason and who did it: (a) a temporary exception for today only that auto-reverts to the standing cap tomorrow, and (b) a permanent change that persists until changed again. (must_have)
- Every budget surface — Token Cost Tracker, Daily Budget Cap Monitor, Daily Budget, and the pipeline card — shows the same effective cap for the day and updates immediately after a bump (no app reads a stale JSON file or hardcoded number). (must_have)
- Spend enforcement honours the effective cap: a same-day exception actually raises that lane's ceiling for the day, and reverts the next day. (must_have)
- Midas has a registered, documented skill for managing budgets (temporary vs permanent, how it reverts, how it propagates) plus a control surface to perform the bump. (must_have)