Skip to main content

Claude Builder Durable Runner Triage

Claude Builder Durable Runner Triage

Date: 2026-05-19
MC: #101542

Verdict

durable-runner.db is healthy. The 2,945 failed rows were not durable-runner failures; they were historical mission-control.db.queue_entries records from the old claude-builder queue mechanism. Failed rows were archived and removed from the live table. Remaining cleanup is tracked separately in MC #101545.

Corrected counts

durable-runner.db

Path: /Users/makinja/system/databases/durable-runner.db

  • steps total: 297
  • completed: 295
  • failed: 1
  • pending: 1
  • Status: healthy, not modified

mission-control.db queue_entries

Path: /Users/makinja/system/databases/mission-control.db

Before archive:

  • failed: 2,945
  • waiting: 15
  • completed: 3
  • total: 2,963
  • date range: 2026-02-22 to 2026-03-19

After archive:

  • failed: 0
  • waiting: 15
  • completed: 3
  • total: 18

Archive path:

/Users/makinja/system/databases/_archive/queue-entries-claude-builder-historical-20260519.sql

Archive SHA-256:

f1433d402f96c26d5a479c14f7523ca93fee6454795927d2883df757c6a486dd

Task status cross-check

Joining the archived failed rows back to live tasks gives:

  • done: 2,938
  • blocked: 7
  • missing task rows: 0

This corrects the earlier inconsistent evidence text that said 2937/2944.

Root cause

queue_entries was populated by the old mc.js queue/enqueue dispatch path during Feb-Mar 2026. That mechanism was superseded by the pi-orchestrator task_scheduling path. There is no active consumer for queue_entries, and the failed rows were stale historical records, not active workflow failures.

Actions taken

  1. Confirmed durable-runner.db state and preserved it unchanged.
  2. Archived historical queue_entries rows to _archive.
  3. Deleted 2,945 status='failed' rows from live queue_entries.
  4. Confirmed live queue_entries is now failed=0, waiting=15, completed=3.
  5. Opened MC #101545 for decommission follow-up: 15 stale waiting rows plus obsolete table cleanup.

Evidence

  • /tmp/alai/701de49c/evidence-101542/verification.json
  • /tmp/alai/701de49c/evidence-101542/decision-rationale.md
  • /tmp/alai/701de49c/evidence-101542/db-paths.txt
  • /tmp/alai/701de49c/evidence-101542/table-schemas.txt
  • /tmp/alai/701de49c/evidence-101542/queue-entries-full-dump.sql
  • /tmp/alai/701de49c/evidence-101542/durable-runner-backup-20260519T222840.db

Non-scope / follow-up

  • queue_entries table still exists with 18 rows. Full decommission belongs to MC #101545.
  • dead_letter_queue has 22 pi-orchestrator rows and is separate from this triage.
  • This MC should not be reported as schema cleanup complete; it is triage + failed-row archive only.