Metadata
| Status | done |
|---|---|
| Assigned | agent-934 |
| Model | pi:openai-codex:gpt-5.6-sol |
| Created | 2026-07-29T14:11:25.070567803+00:00 |
| Started | 2026-07-29T14:11:31.900144885+00:00 |
| Completed | 2026-07-29T14:54:06.602284197+00:00 |
| Tags | lifecycle, regression, park-resume |
| Tokens | 18759769 in / 38556 out |
Description
An external older-cluster incident reported: a worker parked while external Slurm jobs ran, operator/condition resume overlapped the still-live parked process owning its isolated worktree, repeated ownership refusals charged the per-task spawn breaker, and the ready replacement stayed suppressed for hundreds of ticks even though jobs 5111221 and 5111243 completed successfully. A clean-room probe against main 1a585a2c passed: overlap was breaker-neutral, no competitor launched, and one exact-session/worktree resume occurred after owner exit. Preserve that proof permanently.
Implement a credential-free smoke regression for the exact overlap, preferably by extending resume_waiting_operator.sh or adding a narrowly named scenario. The fake Pi worker must call wg wait, remain alive and retain the isolated worktree until the test explicitly releases it, while an operator immediately runs wg resume. Hold the overlap across at least max_spawn_failures dispatcher ticks. Assert: no competing resumed process launches; task spawn_failures remains zero; no breaker is surfaced/tripped; ownership/preparation deferrals do not corrupt lifecycle authority; dirty WIP and the attested Pi session remain intact. Then release the old process and assert exactly one resumed attempt launches, in the same generation, exact session/session leaf, same worktree, with preserved WIP and no breaker repair/manual graph edit. Make synchronization deterministic rather than relying on a short fixed sleep. Keep all scratch state isolated and preserve failure evidence. Do not change production behavior unless this test exposes a current-main defect; if it does, diagnose and fix narrowly. Add scenario ownership metadata as required.
Incident provenance to mention in test comments: Clean G2 Slurm 5111221 COMPLETED 0:0 in 3:01; Fault G2 Slurm 5111243 COMPLETED 0:0 in 2:02; recovery task complete-v21-current-rc-2n under agent-1688 reconciled preserved artifacts. Do not encode cluster-specific paths or secrets.
Validation
- Run the new/extended scenario at least three consecutive times to catch race sensitivity.
- Run tests/smoke/scenarios/resume_waiting_operator.sh.
- Run tests/smoke/scenarios/spawn_circuit_breaker_self_heal.sh.
- Run cargo fmt --check.
- Run focused Rust tests for any touched production module; if production Rust changes, also run cargo clippy.
Depends on
- (none)
Required by
- (none)
Log
- 2026-07-29T14:11:25.039753506+00:00 Task paused
- 2026-07-29T14:11:30.811459796+00:00 Task published
- 2026-07-29T14:11:32.291272424+00:00 Spawned by coordinator --executor pi --model openai-codex:gpt-5.6-sol --isolation required-worktree
- 2026-07-29T14:11:46.977497837+00:00 Starting implementation: inspecting prior WIP and existing park/resume smoke patterns.
- 2026-07-29T14:17:41.522049597+00:00 Added narrowly scoped live-owner overlap smoke + manifest ownership; running first live candidate probe.
- 2026-07-29T14:30:18.696562419+00:00 Current-source candidate 1a585a2c exposed a narrow defect hidden by the stale PATH binary: Pi watchdog authorizes an exact session but never persists task.session_id, so exact-session resume cannot be constructed without graph surgery. Implementing attestation-bound persistence in wait only.
- 2026-07-29T14:46:43.638831070+00:00 Candidate regression now passes 3/3 consecutive runs (source base 1a585a2c, binary sha256 4f57207b...), plus resume_waiting_operator and spawn_circuit_breaker_self_heal. Focused wait attestation test, cargo fmt --check, cargo build, and cargo clippy pass. Full cargo test exposes unrelated stale-profile/legacy-route test failures; focused reruns pass where flaky.
- 2026-07-29T14:52:02.281586919+00:00 Committed and pushed f74e5385. Final candidate: source f74e53857ff04e352f77d86bf9f3bb648b37468b, target/debug/wg sha256 4f57207bc9c3a0ccf44097685ea50a04177cc283c402f96af5d5d4d861bff614. Validated new scenario 3/3 consecutive; companion resume and breaker scenarios pass; focused Rust test/fmt/clippy/build pass; global binaries installed from this commit.
- 2026-07-29T14:54:06.602284367+00:00 Task marked as done