Carolopedia

A friendly guide to Carol, her ecosystem, and the agents who built her.

📖 CarolopediaServicesBuild InitiativesAll activitiesINI-999901675Guide page
📋

CAROL-INI-3001-00: Budget parking: a consumed daily budget parks the running initiative and resumes it next day - no leakage

Initiative
Open in Initiatives →

📖About

Ninad ruling 2026-07-18: when the daily budget is consumed, a RUNNING initiative must PARK cleanly and resume the next day - not keep billing. Fix: (1) refuse-before-spend at the ONE LLM chokepoint for pipeline calls (both call shapes) - a consumed budget returns a distinct BUDGET_PARKED refusal instead of billing; (2) the step machinery, on seeing that refusal, parks the initiative (legal executing->parked route) and pauses its queue row until midnight UTC with a budget reason; (3) the existing timed-pause auto-resumer additionally revives budget-parked initiatives after the day rolls (parked->executing + row to dispatching so the step continues where it stopped); (4) the stuck-watchdog revive lanes skip revival while the budget is exhausted so refused runs do not ping-pong. Carol's user-facing lanes are NOT touched - the refusal applies to pipeline-flagged calls only.

⚖️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 daily budget gate currently checks at dispatch/pick time only, allowing unchecked billing once execution starts. The pipeline (status=running) and relevant apps (initiatives, daily-budget, pipeline) are all registered and active. (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 -> executing | event=bypass_executing | bypass transition (or-bx-01)
  • [status-router] executing -> reviewing | event=bypass_reviewing | bypass transition (or-bx-01)
  • [status-router] reviewing -> executing | event=bypass_executing | bypass transition (or-bx-01)
  • [status-router] executing -> reviewing | event=bypass_reviewing | bypass transition (or-bx-01)
  • [status-router] reviewing -> executing | event=bypass_executing | bypass transition (or-bx-01)
  • [status-router] executing -> reviewing | event=bypass_reviewing | bypass transition (or-bx-01)
  • CLI-060 UAT evidence (Orion, 2026-07-19 ~04:00Z): the r3 parked-on-CURRENT-card rule is incomplete - the Monitor's auto-pick returns None on an all-parked board. First live all-parked night (budget consumed, 2982-02 parked, nothing executing): monitor/all is non-empty with the parked initiative first, yet auto-pick yields no candidate, so the Current Execution card sits empty exactly when parked work-in-waiting should show. Caught by the monitor regression test (3 checks: auto-pick None / mode None / process field empty). Rework recipe: auto-pick includes parked candidates (card-state parked, 3001 r3) when nothing is executing/diagnosis - same no-exceptions spirit as the 2337 rule. (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

  • Next morning, without anyone touching anything, Ninad finds the parked initiative resumed and executing from where it stopped (must_have)
  • Carol keeps answering WhatsApp normally while the pipeline is budget-parked (must_have)