perf(lab): persistent claude-p session is the lane default for arm runs

↗ view on GitHub · Eli Ziff · 2026-08-05 · f1b5bc28

The stateless claude-p mode spawns a fresh CLI process per tool round and
re-uploads the ENTIRE conversation each time - a 20-round run pays process
spawn + full-context re-upload + prefix re-ingest 20 times. ClaudePSession
(already built, behind MIKE_CLAUDE_P_PERSIST) keeps one live process and
sends only the new tool results per round, with stateless full-replay
recovery on any session death. Our arms' fixed tool schemas never trigger
the session-killing schema-change condition, so the arm launcher now sets
MIKE_CLAUDE_P_PERSIST=1 whenever the model is claude-p:*. Transport-level,
not an experimental variable; contextRounds receipts record continuation
"provider" vs "none" per round so the mode stays visible in metrics.

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 736d6c7c
Stats 1 file changed , +11
Part of claude-p transport: alternative LLM backend via the Claude CLI

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-f1b5bc28.md from inside the repo you want the change in.

⬇ Download capture-commit-f1b5bc28.md