Rollback 是一个可由用户调用的技能,用于管理 PDCA 检查点并执行状态回滚。它帮助在关键阶段转换时保存状态快照,并在需要时安全地恢复到之前的状态。
用途
该技能用于管理 PDCA 工作流的检查点(checkpoint)以及回滚 PDCA 状态。主要作用是在阶段转换或用户手动操作时保存状态,并在出现问题时安全恢复。
主要能力
- list(默认):列出当前或指定功能的所有可用检查点。读取
.bkit/checkpoints/中的检查点元数据,按当前活动功能过滤(若无活动功能则显示全部),按时间戳倒序排列,并格式化输出。 - to <checkpoint-id>:恢复到指定检查点。会验证 ID 是否存在,读取元数据与保存的状态,展示将要恢复的内容(阶段、文件、状态),必须经用户确认后执行。执行时先创建当前状态的安全检查点,再恢复
pdca-status.json及文件快照,写入审计日志checkpoint_restored。 - phase:回退到上一个 PDCA 阶段。读取当前功能状态,根据阶段顺序确定上一阶段并显示转换,经用户确认后创建自动检查点,通过状态机执行 ROLLBACK 事件,更新
pdca-status.json,写入审计日志phase_rollback。 - reset <feature>:将功能重置为初始(idle)状态。验证功能存在,展示当前状态与将丢失的内容,经用户确认后创建自动检查点,执行 RESET 事件,从活动功能列表清除该功能,重置所有指标,写入审计日志
feature_reset。注意:重置不会删除docs/中的文档。
使用方式
通过命令调用:
/rollback:列出检查点/rollback list:列出所有可用检查点/rollback to cp-1710842700000:恢复到指定检查点/rollback phase:回退到上一阶段/rollback reset user-auth:重置功能
阶段回滚映射
- pm → idle
- plan → pm(若 PM 被跳过则 idle)
- design → plan
- do → design
- check → do
- act → check
- report → check
- archived → report
检查点类型
- auto:阶段转换时自动创建
- manual:用户命令创建
- phase_transition:任意阶段变更时的轻量快照
- pre_rollback:回滚前的安全检查点
状态文件
.bkit/checkpoints/cp-{timestamp}.json:检查点元数据与状态快照.bkit/state/pdca-status.json:当前 PDCA 状态(回滚时修改)
适用场景
适用于使用 PDCA 工作流进行开发管理的场景,需要在阶段转换前保存状态、在出现问题时回退到安全点、或完全重置某个功能的状态时使用。
限制
- 回滚操作始终需要用户确认,即使在 L4(Full-Auto)自动化级别下也是如此,因为这是破坏性操作。
- reset 不会删除
docs/中的文档,仅重置 PDCA 状态跟踪。 - 若当前阶段为 idle,执行 phase 回退时会提示已处于初始状态,无可回滚内容。