v0.7.4 — progress.md heartbeat: one live line per stage
Heartbeat (AGENTS.md rule 9)
.sdlc/work/<slug>/progress.md now holds exactly one overwritten line —
<stage>[ n/m] · <what is happening> · <ISO timestamp> — so a human can see
where the loop is at any moment, in every stage, not just at gates.
- Every stage writes it: on entry, at every sub-task change, before each
dispatch; build counts plan.md's Order of work asbuild n/mand updates
per fix-loop round. - Long sub-tasks refresh it at natural checkpoints (a command finished,
a file edited) even when the text does not change — a stale heartbeat means
a dead loop, not a slow step. status.shshows it as anow →line with its age (BSD/GNU stat);
older than 30 min gets— STALE. Absent file: silent, fully
backward-compatible.- A signal, not a record:
init.shgitignores it underwork/and
archive/; history stays in deviations.md / evidence.md / harvest.md.
Follow it live withwatch -n5 cat .sdlc/work/<slug>/progress.md.
Also retro-tagged v0.7.3 (optional qa: tool in config, intent Refs: line).