checkpoint-iterate
/checkpoint-iterate
Runs an iteration session that closes the last-mile gap between an implemented Change Request and the behaviour that was actually wanted. A specification is written before the code exists, so the delivered result is approximately right rather than exactly right. Closing that gap is an interactive loop the user drives: the user names what to try, the agent makes the change and reports what it observed, the user says what to try next. This skill records that loop as a roll-forward ledger at docs/cr/{CR_ID}-iterate.md, so the reasoning — including every approach a later change superseded — survives the session instead of evaporating with the agent's context.
Usage:
| Invocation | Effect |
|---|---|
/checkpoint-iterate CR-XXXX |
Opens a session against that Change Request, or resumes one already open |
That is the whole surface. There is no close sub-command and no status sub-command, because neither would tell anyone anything the repository does not already hold. The ledger is a tracked document with a Git history: what the session has recorded is in the file, and when each entry landed is in git log. A session ends when the user stops iterating, which needs no ceremony to announce.
Every invocation MUST identify its governing Change Request. There is no implicit "current session".
The Roll-Forward Model
An iteration session moves in one direction, and the ledger records that motion rather than adjudicating it. Three properties define the model.