Repository navigation
v0.15.0 - Pipeline reliability and failure evidence
Autosentry 0.15.0 makes unattended pipelines recoverable and leaves the evidence needed to explain a failure in your existing Codex or Claude conversation.
Pipeline control
- Independent stage deadlines. The controller runs separately from each monitor, so a blocked monitor or healer cannot disable the deadline. Timeout returns exit 124, cancels owned work, records cleanup failures, and skips later stages.
- Checked resume.
autosentry run --resumestarts at the first incomplete stage.--from-stage NAMEreruns a named stage and its successors. Completed stages are skipped only when their recorded configuration matches; every invocation preserves its own history. - Launch preflight.
autosentry run --checkandautosentry doctorcheck executables, working directories, and declared environment and script dependencies using the child's effective PATH. - Restart limits. Persistent rolling rate limits complement the consecutive identical-failure guard. Verified fixes do not clear the rolling window.
Evidence for your agent
Each run archives stage logs, an event timeline, launch requirements, state snapshots, recovery attempts, and incident reports under .autosentry/runs/<run-id>/.
autosentry explain -o .autosentry/failure.md
autosentry explain --run-id <run-id> --jsonOpen the exported bundle in Codex or Claude and ask why the pipeline stopped. It cites source paths and timestamps, distinguishes observed stop reasons from root-cause hypotheses, and marks omitted evidence. Autosentry makes no LLM provider calls for this export. Redaction is best-effort; inspect exported logs before sharing outside your trusted tools.
Fixes
- Fast replacement children with identical exit codes each trigger detection.
- Incidents created in the same second keep distinct evidence folders.
- Operator and recovery aborts return nonzero and prevent pipeline advancement.
- Final process output is retained even when the detector queue fills.
- iCloud checkouts keep their development virtualenv outside the synced tree.
Upgrade notes
- Stage deadlines and rolling rate caps are opt-in. Configure
process.max_stage_seconds,restart_policy.max_restarts_in_window, andrestart_policy.restart_window_seconds; see the README's unattended-pipeline example. max_identical_failuresdefaults to 5; set it to 0 to disable that guard.- Resume requires configuration fingerprints from this version. Older runs must start fresh. Resume does not verify output files or source-code identity.
- Pipeline logs now live in per-run stage directories.
autosentry watchfollows them, andautosentry statusshows the run ID and stop reason. - Docker and SLURM launch checks inspect the controller host, not remote images or compute nodes. Attached processes remain externally owned.
Validated with all 380 local tests, formatting, lint, type checks, and distribution checks.
Full changelog: v0.14.0...v0.15.0