用途:/checkpoint-iterate CR-XXXX 针对某个已实现的变更请求开启或恢复一次迭代会话,闭合规范与最终期望行为之间的差距。会话由用户驱动:用户说出下一步尝试什么,智能体修改代码并报告观察结果,用户再决定下一步。
主要能力:把迭代过程记录为滚动账本 docs/cr/{CR_ID}-iterate.md。保留是隐式的(留在工作树中的改动即成立);取代是显式的(后续条目指明它取代了哪条早期条目及原因,早期条目永不编辑或删除);当前状态由条目推导得出。
使用方式:每次调用必须指明所治理的变更请求,没有隐式“当前会话”。若 docs/cr/{CR_ID}-*.md 不存在则拒绝开启并报告无法解析的标识符;若省略标识符且工作树中存在多个账本则拒绝并列出。账本不存在时从 templates/ITERATE.md 创建,存在时追加恢复。循环中智能体修改代码、运行项目检查(bats -r tests/)、追加账本条目并通过既有 /checkpoint-commit 工作流提交,提交主题为 checkpoint({CR_ID}-iterate): {summary}。
适用场景:变更请求已实现但结果只是大致正确、需要人工判断并反复微调时。
限制:仅限用户显式发起,不得自动启动或由实现流水线派生;禁止破坏性 Git 操作(git reset、git rebase、git commit --amend、git push --force);取代仅限工作树回退;同一工作树只允许一个活动会话,并发需使用独立 Git worktree;会话本身不做蒸馏、不写模式或反模式,也不调用其他技能。