Carol — back to Apps ← Apps

Carolopedia

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

📖 CarolopediaServicesBuild InitiativesAll activitiesINI-999900258
📋

CAROL-INI-2026-00: Fix Radagast verify circular dependency on the initiatives writer

Initiative
Open in Initiatives →

📖About

When Elronds initiatives writer/relay is down, Radagasts admin verify refuses every action because it reads the initiative through that very writer - a circular dependency that makes the sanctioned admin path useless exactly when it is needed (e.g. to restart the writer). A relay-independent snapshot mirror already exists but two gaps defeat it: (1) verify only falls back to the snapshot when the relay raises an exception, not when a down relay returns an empty result, and (2) the snapshot mirror does not populate the reviewed flag, so even the fallback fails the reviewed check. Fix: make verify fall back to the snapshot whenever the relay errors OR returns no row, and make the snapshot mirror the reviewed flag accurately (set on passing review, backfill existing rows). Result: Radagast can verify and act even with the writer down.

⚖️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)
  • [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

  • Radagast verify falls back to the relay-independent snapshot when the relay errors OR returns no row (must_have)
  • The snapshot mirror populates the reviewed flag accurately (set on passing review; existing rows backfilled) (must_have)
  • With the writer stopped, a request_sudo for a valid reviewed-and-active initiative verifies and runs (no false refusal) (must_have)