Carol — back to Apps ← Apps

Carolopedia

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

📖 CarolopediaServicesBuild InitiativesAll activitiesINI-999900432
📋

CAROL-INI-0044-02: Audit Carol artifacts for remaining laptop references (enforce VM-native rule)

Initiative
Open in Initiatives →

📖About

After CAROL-INI-043 moved the regression runner to carol-vm, sweep all Carol code/data/docs/configs for any other laptop-side references. The VM-native artifact rule (Ninad 2026-04-29, captured in Carol induction): all Carol artifacts live on carol-vm; the laptop hosts ONLY Orion infrastructure (memory, vault, bypass shim, hooks) + Personal Apps.

CATEGORIES TO CHECK: 1. Hardcoded laptop paths in Carol .py / .md / .json / .sh / .service files: /Users/, /Users/ninadjoshi/, ~/.claude/projects/, ~/Documents/GitHub/. 2. Subprocess / SSH calls FROM carol-vm BACK to laptop (reverse direction — should be zero, except for carol-vm-backup pulls which are fine). 3. References to laptop-only scripts in cookbook entries, design docs, initiative descriptions, agent identity files. 4. Hardcoded laptop ports / endpoints (e.g. localhost:7092 To Do app on laptop). 5. Anything still pointing to the old ~/.claude/projects/-Users-ninadjoshi/memory/regression/ runner path.

OUT-OF-SCOPE:

  • Bypass shim references (laptop-side by design — Orion runs on laptop).
  • Vault references (/tmp/claude_vault/id_azure_agent — laptop-side ephemeral vault is correct).
  • Backup orchestration (laptop pulls FROM VMs — correct direction).

TRIAGE PER FINDING: must-move (port to carol-vm) | must-stay-document-why (legitimate laptop dependency) | dead-reference (delete or update).

⚖️Decisions

  • Follow-on to parent INI 999900428 (orion)
  • Scope inherited verbatim from parent INI 999900428 per CAROL-INI-361. (elrond.initiative_author)
  • [status-router] planned -> dispatched | event=dispatch | dispatcher queued (ds-s1)
  • [status-router] dispatched -> planned | event=dispatch_retract | No longer in the top-3 dispatch window (CAROL-INI-1972). (spb-01)
  • [status-router] planned -> dispatched | event=dispatch | Backfilled into the 3-deep dispatch queue (CAROL-INI-1972); queued for operator push, not auto-executed. (spb-01)
  • Gap J (CAROL-INI-771): stuck-dispatched with queue.status='cancelled'; flipped to blocked so Escalation card surfaces it. Reason: (elrond.handover_watchdog)
  • [status-router] dispatched -> blocked | event=stuck_10min_no_activity | Elrond safety net: initiative has had no activity for 10+ minutes. Blocking under the parallel safety mechanism. (el-watchdog)
  • Elrond blocked initiative under the CAROL-INI-2162 dead-Albus protocol. Albus was supposed to wake for step 0 (cause=albus_no_show) but did not respond. Cause: albus_no_show. Reason: Elrond safety net: initiative stranded 10+ min. Albus wake failed or produced no useful result. (el-s1)
  • Orion remediated: Albus RSI group diagnosis (via INI 999900406): [procedural, confidence high] The initiative blocked because it was set to 'reviewing' by an operator at 2026-06-30 03:57:49, but no executor (Albus or operator) ever performed the code changes described in the initiative; the Elrond safety net triggered after 10+ minutes of inactivity, and subsequent attempts to diagnose the block reused Albus-dependent processes that themselves failed to execute, creating a self-reinforcing procedural deadlock. (orion)
  • Orion remediated: Albus RSI group diagnosis (via INI 999900328): [procedural, confidence high] The Albus executor failed to wake for initiative 999900328, as evidenced by the 'albus_no_show' decision at 2026-07-02 23:03:06 and the subsequent 'stuck_10min_no_activity' block. The execution history is empty, confirming no work was ever started. The RSI loop log (rsi_loop.log) shows no successful wake call for this initiative, and the initiatives DB (initiatives table) shows status 'blocked' with no associated plan or execution record. (orion)
  • [rsi-group] cause=stuck_10min_no_activity members=[999900432, 999900502, 999900522, 999900546, 999900542, 999900572, 999900575, 999900593, 999900608, 999900625, 999900628, 999900630, 999900644, 999900649, 999900651, 999900652, 999900661, 999900582, 999900584, 999900606, 999900641, 999900646, 999900650, 999900653, 999900663, 999900669, 999900674, 999900709, 999900579, 999900587, 999900589, 999900619, 999900638, 999900642, 999900676, 999900697, 999900703, 999900734, 999900595, 999900609, 999900629, 999900657, 999900731, 999900735, 999900739, 999900621, 999900637, 999900737, 999900740, 999900742, 999900743, 999900675, 999900736, 999900738, 999900748, 999900749, 999900730, 999900746, 999900747, 999900751, 999900752, 999900626, 999900741] (leverage-first pick: largest same-cause group, 63 members) (elrond.rsi_loop)
  • [status-router] blocked -> diagnosis | event=diagnosis_start | RSI loop: leverage pick cause=stuck_10min_no_activity group_size=63 (blocked since 2026-07-03 01:41:55); Albus diagnosis INI 999900761 (el-rsi-loop-01)
  • Orion remediation in progress: INI-999900761 bypass opened — CAROL-INI-696: an Orion-driven bypass has been opened to remediate this parent. The canonical Orion remediated: marker will be posted on close — see cookbook 156 / 155. (shared.bypass.bypass_start)
  • Albus RSI diagnosis (root cause): [procedural, confidence high] Albus executor did not wake to process the initiative after dispatch, as confirmed by the empty execution history and the Elrond safety net block at 2026-07-03 01:41:55 with cause=albus_no_show (see decision 'Elrond blocked initiative under the CAROL-INI-2162 dead-Albus protocol' and rsi_loop.log entries around that time). This is a procedural failure: the executor never started work, matching a systemic pattern affecting 63 other initiatives in the same block group. (albus)
  • Albus RSI recommendations: - 1. Check /home/caroladmin/dev/logs/initiatives.log and /tmp/carol_claude_concurrency.log around 2026-07-03 01:41 for concurrency lock or timeout preventing Albus from waking; ensure the executor service (elrond.wake_albus) is healthy. - 2. Verify the dispatch queue state for this initiative (id 999900432) via the relay: `cd /home/caroladmin/dev && python3 -c "from shared.initiatives_db import iconnect; cur=iconnect().cursor(); print(cur.execute('SELECT queue_status, priority, created_at FROM dispatch_queue WHERE initiative_id=999900432').fetchone())"` to confirm it was correctly queued and not cancelled. - 3. As part of the group fix (63 initiatives), retrigger this initiative after confirming the wake mechanism works, possibly with a forced non-concurrent wake to bypass lock contention. || Next attempt succeeds because: The work itself is a well-scoped grep sweep with clear triage rules (must-move, must-stay, dead-reference). Once Albus wakes and the procedural gate is cleared, the analysis can be completed without further blockers. (albus)
  • Orion remediated: INI-999900761 bypass closed — CAROL-INI-696 close-marker: the Orion bypass INI-999900761 filed against this parent reached terminal state (closed). This row's literal prefix Orion remediated: is the canonical signal the cookbook-155 dispatcher gate looks for. (shared.bypass.bypass_end)
  • [rsi-group-member-failed] 999900502 retrigger refused: {'ok': False, 'reason': 'create_returned_no_id: {\'error\': \'INI2205_BAD_CRITERIA: All success criteria appear process-only (LLM confirmed). Each must describe a measurable user-visible outcome. FAIL\', \'criteria\': ["The original initiative carrie (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900522 retrigger refused: {'ok': False, 'reason': 'create_returned_no_id: {\'error\': \'INI2205_BAD_CRITERIA: All success criteria appear process-only (LLM confirmed). Each must describe a measurable user-visible outcome. FAIL\', \'criteria\': [\'Every actionable audit findin (elrond.rsi_loop)
  • [rsi-group-member-done] 999900546 -> retriggered as 999900765 (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900542 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900572 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900575 retrigger refused: {'ok': False, 'reason': 'create_returned_no_id: {\'error\': \'INI2205_BAD_CRITERIA: All success criteria appear process-only (LLM confirmed). Each must describe a measurable user-visible outcome. FAIL\', \'criteria\': [\'All cross-build Carol initiat (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900593 retrigger refused: {'ok': False, 'reason': 'create_returned_no_id: {\'error\': \'INI2205_BAD_CRITERIA: All success criteria appear process-only (LLM confirmed). Each must describe a measurable user-visible outcome. FAIL\', \'criteria\': [\'INI-0015 closed (properly del (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900608 retrigger refused: {'ok': False, 'reason': 'create_returned_no_id: {\'error\': \'INI2205_BAD_CRITERIA: All success criteria appear process-only (LLM confirmed). Each must describe a measurable user-visible outcome. FAIL\', \'criteria\': ["The original initiative carrie (elrond.rsi_loop)
  • [rsi-group-member-done] 999900625 -> retriggered as 999900766 (elrond.rsi_loop)
  • [rsi-group-member-done] 999900628 -> retriggered as 999900768 (elrond.rsi_loop)
  • [rsi-group-member-done] 999900630 -> retriggered as 999900772 (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900644 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900649 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900651 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900652 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900661 retrigger refused: {'ok': False, 'reason': 'create_returned_no_id: {\'error\': \'INI2205_BAD_CRITERIA: All success criteria appear process-only (LLM confirmed). Each must describe a measurable user-visible outcome. FAIL\', \'criteria\': [\'Glover code is uploaded to gl (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900582 retrigger refused: {'ok': False, 'reason': 'create_returned_no_id: {\'error\': \'INI2205_BAD_CRITERIA: All success criteria appear process-only (LLM confirmed). Each must describe a measurable user-visible outcome. FAIL\', \'criteria\': [\'Retrigger files step-creation (elrond.rsi_loop)
  • [rsi-group-member-done] 999900584 -> retriggered as 999900778 (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900606 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900641 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-done] 999900646 -> retriggered as 999900779 (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900650 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900653 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900663 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900669 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-done] 999900674 -> retriggered as 999900782 (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900709 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900579 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900587 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900589 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-done] 999900619 -> retriggered as 999900787 (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900638 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900642 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900676 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900697 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-done] 999900703 -> retriggered as 999900791 (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900734 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900595 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900609 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900629 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-done] 999900657 -> retriggered as 999900800 (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900731 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900735 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900739 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900621 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900637 retrigger refused: {'ok': False, 'reason': 'create_returned_no_id: {\'error\': \'INI2205_BAD_CRITERIA: All success criteria appear process-only (LLM confirmed). Each must describe a measurable user-visible outcome. FAIL\', \'criteria\': [\'Authored initiatives include (elrond.rsi_loop)
  • [rsi-group-member-done] 999900737 -> retriggered as 999900801 (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900740 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900742 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900743 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900675 retrigger refused: {'ok': False, 'reason': 'create_returned_no_id: {\'error\': \'INI2205_BAD_CRITERIA: All success criteria appear process-only (LLM confirmed). Each must describe a measurable user-visible outcome. FAIL\', \'criteria\': [\'Research initiative INI-99990 (elrond.rsi_loop)
  • [rsi-group-member-done] 999900736 -> retriggered as 999900802 (elrond.rsi_loop)
  • [rsi-group-member-done] 999900738 -> retriggered as 999900803 (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900748 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900749 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-done] 999900730 -> retriggered as 999900806 (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900746 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900747 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900751 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900752 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • [rsi-group-member-done] 999900626 -> retriggered as 999900807 (elrond.rsi_loop)
  • [rsi-group-member-failed] 999900741 error: BrokenPipeError(32, 'Broken pipe') (elrond.rsi_loop)
  • Orion remediated: Albus RSI diagnosis: [procedural, confidence high] Albus executor did not wake to process the initiative after dispatch, as confirmed by the empty execution history and the Elrond safety net block at 2026-07-03 01:41:55 with cause=albus_no_show (see decision 'Elrond blocked initiative under the CAROL-INI-2162 dead-Albus protocol' and rsi_loop.log entries around that time). This is a procedural failure: the executor never started work, matching a systemic pattern affecting 63 other initiatives in the same block group. (orion)
  • [status-router] diagnosis -> closed | event=operator_put | PUT /api/initiatives (operator)
  • Closed: superseded by follow-on INI 999900808 (CAROL-INI-0044-03: Audit Carol artifacts for remaining laptop references (enforce VM-native rule)) (elrond.initiative_author)

Success criteria

  • Grep sweep report documents all laptop references found across Carol code/data/docs with classification (must-move, must-stay-document-why, dead-reference). Zero UNPROCESSED laptop references remain — each is assigned a disposition. (must_have)
  • Documented exceptions list (must-stay-document-why) is small and each entry has a clear justification. (must_have)
  • New cookbook entry exists under category architecture with the grep checklist for future PR review. (must_have)