Carol — back to Apps ← Apps

Carolopedia

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

📖 CarolopediaServicesBuild InitiativesAll activitiesINI-999916
📋

CAROL-INI-0028-00: Worker droid status-string normalization (fix dr-s1 / en-ar-01 0% success)

Initiative
Open in Initiatives →

📖About

GAP: po_s1.py treats only status in (success, pass) as worker success. dr-s1 and en-ar-01 return status=ok. Every Archon design run and every Albus remediation run is incorrectly flagged as failed even when the work succeeded. Confirmed empirically: dr-s1 historical record = 0/3 success.

SCOPE: two-pass fix.

PHASE 1 (Forge — quick fix, unblocks Archon work today): expand po_s1 worker-success check from (success, pass) to (success, pass, ok). One-line change. Re-run an Archon-bearing exec end-to-end and verify dr-s1 lands in droid_runs status=completed.

PHASE 2 (Sage + Forge — normalize): standardize all worker droids to return status in (success, fail). Update dr-s1, en-ar-01, ct-s1, pe-dev-01 to use the canonical strings. Update po_s1 to accept only the canonical set. Update cookbook entry on droid contract.

NON-GOALS: no change to pf-ar-01 (preflight already handled separately and works). No change to Claude prompt content. No change to dispatch logic.

VERIFICATION: re-run INI-026 step 1 (Archon design); confirm dr-s1 droid_run status=completed and worker phase succeeds without Albus retry loop.

⚖️Decisions

  • Two-pass fix: tolerant patch first (Phase 1), canonical normalization second (Phase 2). — Phase 1 unblocks Archon work today with a one-line po_s1 change. Phase 2 standardizes all worker droids on canonical (success, fail) so the contract is enforceable. Splitting avoids holding up urgent unblocking on cleanup work. (Orion)
  • Phase 1 expands po_s1 worker-success check from (success, pass) to (success, pass, ok). One-line change. — dr-s1 and en-ar-01 currently return 'ok'. Adding it to the accepted set is the minimum change to make Archon runs report correctly. Already landed in Session 1 of 2026-04-27. (Orion)
  • Phase 2 standardizes all worker droids on canonical (success, fail). Updates dr-s1, en-ar-01, ct-s1, pe-dev-01. — Two values is enough — success vs fail. Other variants (ok, pass) are noise. Cookbook entry on droid contract gets the canonical set. (Orion)
  • Non-goals: no change to pf-ar-01 (preflight handled separately and works); no change to Claude prompt content; no change to dispatch logic. — Scope discipline. pf-ar-01 has its own contract; prompts/dispatch are separate concerns. (Orion)

Success criteria

  • Phase 1: an Archon-bearing exec runs end-to-end and dr-s1 lands in droid_runs status=completed (not failed) (must_have)
  • Phase 2: dr-s1, en-ar-01, ct-s1, pe-dev-01 all return status in (success, fail) — verified by static grep + runtime sample (must_have)
  • Phase 2: po_s1 worker-success check matches only (success, fail) — no tolerance (must_have)
  • Cookbook entry on droid contract published and references this initiative (must_have)
  • INI-026 step 1 re-run shows worker phase succeeds without Albus retry loop (must_have)