T-P6E5-task-work-heartbeat-survives-async-waits
Status: closed/superseded · Impact: medium · Complexity: small
/sdlc:task-work’s Step 6 background heartbeat loop is reaped at each harness
turn boundary, so the lifecycle lease can lapse during a long async sub-agent
implementation. Make the heartbeat survive async sub-agent waits so the lease
stays alive across turn boundaries without manual intervention.
task-work’s Step 6 background heartbeat loop is reaped at each harness turn boundary, letting the lifecycle lease lapse during the long async sub-agent implementation; the runner had to manually re-run a one-shot ‘sdlc lease heartbeat’ before the Step 10 transition. Make the heartbeat survive async sub-agent waits — keep the lease alive across turn boundaries, or have task-work re-heartbeat on every re-entry after a background-agent notification.
TBD — receiver to fill before promoting from planning/draft.
Proposed
Section titled “Proposed”TBD — receiver to fill before promoting from planning/draft.
Approach
Section titled “Approach”TBD — receiver to fill before promoting from planning/draft.
Files to touch
Section titled “Files to touch”TBD — receiver to fill before promoting from planning/draft.
Acceptance criteria
Section titled “Acceptance criteria”TBD — receiver to fill before promoting from planning/draft.
Out of scope
Section titled “Out of scope”- none
Dependencies
Section titled “Dependencies”- none
Discovery context
Section titled “Discovery context”Spawned by /sdlc:spawn-task-pr on 2026-06-30 UTC from T-Z51X-consolidate-frontmatter-regex-onto-shared-helper in git@github.com:sksizer/dev.git.
Duplicate draft proposed in #521
(T-LAPQ-task-work-heartbeat-survives-reaping, same
heartbeat-reaped-mid-run lease-lapse friction); folded by
/sdlc:consolidate-task-prs.