verify-spawn-recovery

Verify spawn recovery after observer preparation failure

Metadata

Statusdone
Assignedagent-896
Agent identityfbb2d89fe44d6b761bcb4b67748ab3d417f29df70a65f8d9403308f5bb2bab78
Created2026-07-26T17:58:15.410101377+00:00
Started2026-07-26T18:09:01.142830158+00:00
Completed2026-07-26T18:36:22.707399626+00:00
Tokens12669273 in / 27084 out

Description

Objective

Independently review and harden emergency main commit 8419f909, which stopped the live spawn storm. The observer rejected this valid Linux checkout because it contains tracked case-distinct paths; the failed reservation audit then reused the same agent ID/idempotency key, leaving Open+assigned and causing endless rollback/reconcile/breaker loops across every ready task.

Required outcomes

  • Verify exact case-distinct paths are safely represented on filesystems that materialize both, while case-insensitive checkout/materialization failures remain explicit.
  • Verify a preparation failure followed by retry with the same uncommitted agent ID creates a new reservation/attempt event rather than replaying the rolled-back idempotency key.
  • Harden rollback so every pre-permit failure leaves Open, unassigned, no process/worktree/registry phantom, and one breaker-neutral actionable diagnostic; no coordinator tick can create a storm.
  • Add a permanent real-daemon regression: inject observer-baseline failure, repair cause, retry same allocation, spawn exactly once; multiple other ready tasks remain untouched.
  • Review cross-platform implications and retain exact-path manifest identity.

Validation

  • Review 8419f909 rather than replacing it blindly.
  • Focused case-path and reservation-reuse tests pass.
  • Real daemon scenario proves zero stale claims and zero repeated breaker charges.
  • cargo fmt --check, cargo clippy, focused suites, build, install, and owned smoke pass.

Depends on

Required by

Log