[Parent: #320] §5 epm:step-completed EXIT-site wiring + regression test + empirical replay-savings check
kind: infra
Goal
Wire the epm:step-completed marker emission at all 17 EXIT sites in .claude/skills/issue/SKILL.md, plus the regression test that enforces full coverage. Completes §5 of Plan A from PR #321.
Parent: #320
Background
PR #321 shipped (commit da6bf6bc):
epm:step-completedmarker schema inmarkers.md_decide_entry_stephelper with the load-bearingstatus:blocked → full replayshort-circuit BEFORE marker read (closes Critic 2.B2)- 17-row EXIT-site →
exit_kindmapping table in §5 of the plan body
What was NOT shipped: the actual EDIT to each of the 17 EXIT sites in SKILL.md to post the right marker before exiting. Without this, _decide_entry_step reads markers that never exist, and re-entry always hits the full-replay path. The infrastructure works; the call sites that USE it are missing.
Plan §5's mapping table (the 17 EXIT sites)
| SKILL.md line | Step | exit_kind |
|---|---|---|
| 457 | Step 2c "Defer / 3" plan-approval | parked |
| 524 | Step 4 advance to implementing | clean |
| 566 | Step 5b code-review FAIL revision_round>=3 → blocked | failure-exit |
| 596 | Step 6a HF gate manual approval needed | parked |
| 599 | Step 6a HF gate HF_TOKEN missing → blocked | failure-exit |
| 643 | Step 6b pod provision failure → stay | parked |
| 674 | Step 6c preflight FAIL on resumed pod | parked |
| 696 | Step 7 epm:stale post (>4h no progress) | parked |
| 781 | Step 8 upload-verifier FAIL | parked |
| 866 | Step 9b reviewer PASS → awaiting-promotion | parked |
| 879 | Step 9b reviewer FAIL | parked |
| 1225 | Step 0 label conflict abort | failure-exit |
| 879 (alt) | Step 9c test-verdict FAIL count<3 | parked |
| 879 (alt2) | Step 9c test-verdict FAIL count>=3 → blocked | failure-exit |
| 921 | Step 10 step 0 completion-audit INCOMPLETE → blocked | failure-exit |
| 1066 | Step 10c pod-termination prompt completion | clean |
| 1116 | Step 10d worktree-merge prompt completion | clean |
(Spot-check the line numbers against current SKILL.md HEAD before editing — line numbers drift with each commit.)
Acceptance criteria
- All 17 EXIT sites in SKILL.md post
<!-- epm:step-completed v<n> -->before exiting (or, forfailure-exitcases, alongside theepm:failuremarker) -
tests/test_every_exit_site_posts_markerpasses — count parity: number ofEXITpatterns in SKILL.md == number ofepm:step-completedpost-sites in SKILL.md == 17 - Empirical "measurably skips replay" verification: pick a half-done test issue (e.g. parked at
status:plan-pendingorstatus:awaiting-promotion); show that re-invocation withepm:step-completedmarkers in place takes measurably fewer tokens than re-invocation with the markers stripped. Document the token-count delta in theepm:resultsbody. Acceptance: at least oneparkedre-entry path saves >2k tokens.
Compute
0 GPU-hours. ~0.5-1 working day. type:infra.
References
- Parent: #320 (Plan A approved)
- PR shipped: #321 (commit
da6bf6bc§5 helper + router; EXIT-site wiring is what this follow-up adds) - Plan body cached at
.claude/plans/issue-320-draft.md§5 (lines ~1116-1331; 17-row mapping at ~1047-1069) - Code-reviewer concerns on §5: https://github.com/superkaiba/explore-persona-space/issues/320#issuecomment-4402015283
Timeline · 1 event
epm:completion-audit· systemConsolidated into #320 round-3 implementer dispatch (PR #321). EXIT-site wiring + regression test + replay-savings check…
Consolidated into #320 round-3 implementer dispatch (PR #321). EXIT-site wiring + regression test + replay-savings check shipped in commit `f0b9c8cf` (32,100 tokens saved on a representative re-entry — 16× over the ≥2k target). See [`epm:completion-audit v2`](https://github.com/superkaiba/explore-persona-space/issues/320#issuecomment-4402537008).
Comments · 0
No comments yet. (Auth + comment composer land in step 5.)