Dispatch Loop for Agentic Dev (DLAD)
· Zi Wang · 2 min read
TL;DR
Multi-day Fable 5 devcycles emit ~10 pg self-reported diff status. I have been using a basic "event bus" harness to hand-carry large diffs into a 2nd LLM for review — human RPC.
DLAD automates the loop: headless CC session → machine evidence → stateless LLM audit → deterministic code gate → auto-dispatch next runbook OR escalate decisions-only card to a human. Sr eng stop reading reports; they answer queued decisions. No LLM in the safety path. L2 ships wk1; L3 (CI-verified claims) is a config flip, not new code.
Problem
-
Bandwidth: No sr eng capacity for line-by-line review of hundreds of concurrent agent streams. Nobody can read 10hrs/day of reports.
-
Current stopgap fails structurally: paste-report-into-2nd-LLM produces (a) claim laundering — unverified agent claims exit review stamped "approved"; (b) plan echo — reviewer paraphrases the agent's own next-steps. Paying model B to agree with model A.
-
Root cause: the human conflates 3 jobs. Transport (zero value) + verification trust (should be machines) + judgment (only part needing a human). Unit of trust today = narrative. Industry standard (and Anthropic's own 80%+ model-authored merge rate) = diff + CI, humans as quality gate.
Solution — workflow
runbook_N ──► [CC headless: claude -p, tool-scoped] ──► report_N
│
[evidence: pytest | lint | alembic | git diffstat]─┤ ledger.json
▼ (open claims)──┐
[REVIEWER · stateless API · T=0]◄─┘
out: claims{VERIFIED…OUT_OF_SCOPE},
risks, decisions, runbook_N+1
│
[GATE · pure fn]
┌────────────────────┬───────────┴──────────┐
DISPATCH ESCALATE HALT_DONE
commit, N+=1, loop Slack card: decisions exit
ONLY (never the report)
human answers → resume