v1.22.0 — never orphan a run on a manifest hiccup
Fix: launch failed: mkdir …/runs/<id> could still orphan a run (follow-up to 1.21.0)
1.21.0's MkdirAllResilient (75ms) didn't fully stop it: the run is created but run.json is missing → the deterministic failure is runmanifest.Write, whose mkdir on the already-existing run dir fails under a virtio-fs stale cache that outlasts 75ms.
Two-part hardening:
- Longer retry window —
MkdirAllResilient75ms → ~1.9s (8 attempts) to outlast a virtio-fs ~1s cache timeout. Healthy path unchanged; permission fails fast. - Best-effort manifest —
runcontrol.Createno longer aborts the launch if the manifest write hiccups; it recordsrun.manifest_deferredand continues. Orphaning is now deterministically impossible (the run is defined byevents.jsonl;run.jsonis optional metadata).
Reviewed via Parley Deck (codex/agy/hermes — all ACCEPT).
Upgrade (macOS): brew update && brew upgrade parley-deck-cli — then fully quit any open parley TUI and start a fresh one (an already-running TUI is still the old binary).
Windows: x64 / arm64 .exe below.