d47431269f
Adds FleetExecutor: drives a worker as a local `codewhale exec` subprocess via the existing host adapter, incrementally drains its stream-json output into FleetWorkerEventPayload ledger events, and finalizes the terminal outcome from the process exit. The worker's heavy runtime/tool construction lives in its own process, so the orchestrator only ingests a compact event stream — the isolation pattern that keeps fanout light (per Codex/Kimi/Claude Code). Verified end-to-end by an integration test that runs a REAL subprocess emitting stream-json (standing in for `codewhale exec`) through the real adapter and asserts RunningTool + terminal Completed events flow out — no codewhale binary needed. 8 executor tests pass; the 58 existing fleet tests stay green (executor is not yet wired into `codewhale fleet run`, so no behavior change). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>