Repository navigation
v3.3.0
Production Hardening + Reliability Tooling
Hook behavior and safety:
- Strict fail-closed semantics for on-add/on-modify: no
{}fallbacks; errors exit non-zero without stdout JSON. - on-exit now verifies parent
nextLinkafter update and dead-letters on CAS mismatch. - Retry backoff updated to exponential + jitter for task subprocess retries.
- Lock stale detection requires dead PID and aged lock to prevent false unlocks.
Queue durability and observability:
- Optional
NAUTICAL_DURABLE_QUEUE=1fsyncs queue/dead-letter writes and queue staging replace. - Queue lock contention now tracked via
.nautical_spawn_queue.lock_failed.count.
Operational guidance:
- Documented break-glass mode (
task rc.hooks=off ...) and durable queue trade-offs in the manual. - Hook versions are now stamped into dead-letter entries for forensic debugging.
Reliability tooling:
- Added
tools/nautical_reliability_smoke.pywith load and limit-finder modes. - In local testing, sustained 8,000 tasks under load with no failures; users can run the tool to verify on their systems.