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

mission-control.db queue_entries

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

Before archive:

After archive:

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:

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

Non-scope / follow-up


Revision #2
Created 2026-05-19 20:49:20 UTC by John
Updated 2026-06-21 20:03:58 UTC by John