/comet(见恢复中断的工作)。配置进入 Classic 后,内部 /comet-classic 会读取文件状态并选择阶段;本页只处理该内部路由异常或状态损坏。
状态损坏时,目标是恢复真实事实,而不是强行改字段让流程继续。

状态恢复先诊断真实文件证据,再按提示修复;不要为了推进流程手工伪造状态
先判断:是状态坏了,还是只是中断
诊断命令
--json 适合给 Agent 或自动化工具读;普通用户先看文本输出。
恢复探测只负责进入 workflow 前的判断。它返回 ask_user 时通常代表多个 change、未提交改动或用户决策点,不等于状态已经损坏。详见恢复探测命令。
comet status 看什么
每个活跃 change 报告:phase、任务 done/total、workflow | build_mode、run_step、runtime_mode、runtime_eval(声明的步骤证据是否真在磁盘上)、design、plan、verify_result,以及 next: 提示。
runtime_eval 失败时会提示 run <命令> or restore missing evidence (...)——按提示补证据或恢复。
comet doctor 看什么
检查 Comet CLI 版本、openspec CLI、Superpowers、工作目录(docs/superpowers/specs、docs/superpowers/plans)、各平台 Skill 完整性、脚本是否存在、CodeGraph,以及每个 change 的 .comet.yaml 有效性和 runtime_eval。常见修复提示:npm install -g @fission-ai/openspec@latest、run: comet init、run: comet update --scope ...。
常见症状和处理
恢复原则
- 以文件为证据:OpenSpec artifacts、Design Doc、Plan、测试结果、实际工作树是事实来源。
- 不要手工写 machine-owned Run 字段(
.comet/run-state.json等)。 - 不要把
build_pause当成build_mode——它们是不同字段。 - 不要跳过 verify 失败决策点——必须由你选修复或接受偏差。
- 不要手工伪造 archive 状态——归档由
/comet-archive或comet archive完成。 - 不要手工编辑
.comet.yaml推进 phase——用comet guard --apply或comet state transition。
.comet.yaml 缺失或坏了怎么办
/comet-classic 对坏状态有兼容路径:
.comet.yaml缺失时,回退到openspec status --json+tasks.md+docs/superpowers/文件检查重建状态。- 格式异常时,以文件状态为准,用
comet state set修正后继续。 phase: open但 proposal/design/tasks 已完整时,先 guard--apply修正状态再判定。
/comet-classic 自己修不了(比如文件被严重改坏),从 git 恢复 .comet.yaml,再跑 comet doctor 确认。

