fix(lab): relaunch a run once on transport-class child failure

↗ view on GitHub · Eli Ziff · 2026-08-06 · 6f65dd42

Second undici "TypeError: terminated" death tonight (employment gen-4)
happened mid-generation, where the adapter's zero-progress round retry
correctly rethrows (a post-emission retry would duplicate streamed
text into the persisted turn). Cover that gap at the run level: when
the child exits non-zero and its run-state.json carries status
"failed" with a transport-class error, the parent re-execs itself once
with the same --run-id (results dir reused, fresh isolated data home
via the normal env-building path). A marker env caps it at one
relaunch; typed outcomes (context_overflow / quota_exhausted /
compaction_limit) and timeout kills never relaunch. Also: MIKE_DRAFT_EDIT
joins the fail-closed env block (audit F8 doctrine - ambient flags must
not leak into frozen arms), and deepseek.ts joins the harness source
fingerprints beside openai.ts now that it carries retry behavior.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011pfUVhNFTRvhYGXBwoKNj6
Repository eliziff/Beaver
Author Eli Ziff <eliasziff@gmail.com>
Authored
Parents 6e841c9e
Stats 1 file changed , +50 , -1
Part of Evaluation harness: Beaver-CAN and LegalBench-RAG adapters

Capture this commit into my fork

Download a Markdown prompt that tells Claude how to port this exact commit into your working tree. Run it via claude -p < capture-commit-6f65dd42.md from inside the repo you want the change in.

⬇ Download capture-commit-6f65dd42.md