Highlights
This patch release improves dispatcher stability for large project graphs and long-running worker executions.
Cairn now avoids OS argument-size failures by passing large graph snapshots through files inside the worker container, while keeping worker
command argv small and preserving the existing dispatcher execution flow.
What's New
- Store large graph snapshots in worker containers via Docker archive copy instead of embedding full graph YAML in command arguments
- Keep completed/stopped container cleanup from being repeatedly enqueued once cleanup has already succeeded
- Preserve orphan project containers after server-side deletion so operators can inspect them manually
- Close Docker exec streams explicitly to avoid noisy urllib3 cleanup errors after timeout or cancellation
- Add clipboard copy fallback for the snapshot preview UI when the browser Clipboard API is unavailable
- Add
ripgrepandfdto the worker container image for faster in-container file discovery - Improve
dispatch.yamlcomments and document supported worker backends
Notes
- This release fixes the
argument list too longfailure seen when large graph YAML snapshots were passed through worker CLI argv - Graph snapshot files are written under
/tmp/cairn-prompts/<phase>-<uuid>/graph.yamlinside the project worker container - Existing Claude Code, Codex, and Pi worker flows remain compatible
- Orphan containers are intentionally retained for manual debugging and inspection