Carol — back to Apps ← Apps

Carolopedia

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

📖 CarolopediaServicesBuild InitiativesAll activitiesINI-999900348
📋

CAROL-INI-2115-00: Elrond verifies a permanently-failed step then cascades failed to phase + attempt before blocking

Initiative
Open in Initiatives →

📖About

Contract (Ninad): when a step fails permanently (Albus's troubleshooter attempts exhausted), Merlin signals Elrond. Today Elrond's block consumer rubber-stamps the signal and sets the initiative blocked with NO independent verification and NO cascade. Add: (1) Elrond's reviewer independently verifies the step actually failed (reuse _verify_criterion_independently); if criteria actually PASS (contradicting Merlin) do NOT block, return to reviewing. (2) On confirmed/indeterminate failure, cascade: write a failed phase verdict (initiative_reviews verdict=failed for the step's phase, reviewer el-s1), mark the current attempt status=failed, then set the initiative blocked (reuse blocked as the terminal per Ninad; no new status). (3) Update the cookbook to document the step->phase->attempt->blocked cascade + Elrond-verifies-first contract.

⚖️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)
  • Implemented the failed-step cascade in Elrond's handshake (block-request) consumer. (1) VERIFY-FIRST: Elrond independently re-runs the failed step's success criteria (reusing the Initiative Reviewer's _verify_criterion_independently, short-circuit on the first concrete fail). Confirmed/indeterminate -> cascade+block; criteria-actually-pass -> return to reviewing + audited decision (Merlin's signal no longer blindly trusted). (2) CASCADE for visibility: phase gets a failed initiative_reviews verdict (reviewer el-s1), the current attempt gets status=failed, and the initiative goes to 'blocked' (reused terminal per Ninad — no new 'failed' status). (3) Cookbook #377 documents the contract; #106 now points to it. Verified live: Elrond confirmed INI-14's failed step. Cascade writes run on the next real permanent failure. carol-elrond restart required (handshake_consumer is import-cached in the daemon). (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)

Success criteria

  • On a step_recovery_exhausted/albus_no_show signal, Elrond independently re-verifies the step's success criteria before changing initiative status (must_have)
  • If Elrond's verification shows the criteria actually pass (contradicting Merlin), the initiative is NOT blocked — it returns to reviewing with an audited decision (must_have)
  • On confirmed/indeterminate failure the cascade marks the step's phase failed (initiative_reviews verdict=failed) and the current attempt status=failed, then sets the initiative blocked (must_have)
  • The cookbook documents the step->phase->attempt->blocked cascade and the Elrond-verifies-first contract (must_have)