Skip to main content
接手项目后不确定当前进度,或者不知道下一步命令时,先运行 comet status。它会展示默认入口、正在进行的 change,以及每个 change 的推荐下一步。 comet status 完全只读。它不会切换当前 change,也不会修改文件或触发 Build/Verify。

先看文本输出

一个没有进行中 change 的项目会输出:
可以按下面顺序阅读输出:
  • Default Entry:说明 /comet 默认进入哪套 workflow。例子中默认是 Native,入口是 /comet-native,来源是项目配置。
  • Native Changes:列出 Native change。
  • Classic Changes:列出由 Comet 管理、使用 Classic workflow 的 change。
  • Unmanaged OpenSpec Changes:列出普通 OpenSpec change。它们没有 Comet 的状态机,需要使用 OpenSpec 命令管理。
  • No active changes.:只表示这一类目录下没有进行中的 change,不代表 Comet 未安装,也不代表项目异常。

有进行中的 change 时会显示什么

Classic change 的输出会把阶段、任务进度和下一步命令放在一起。例如:
这表示 next-build 正在 Classic 的 build 阶段,2 个任务完成了 1 个;当前使用 branch 隔离,当前阶段的下一步是 /comet-build 如果 Runtime 检查缺少阶段所需的证据,输出会直接给出缺什么以及如何恢复:
这时不要直接跳到 Build。先回到 /comet-open,或者恢复输出中列出的文件,再重新运行 comet doctor Native change 会单独列在 Native Changes 下:
phase 是当前阶段,不是历史阶段。需要查看某个 Native change 的完整状态时,运行:

JSON 输出

需要脚本或 Dashboard 读取状态时,使用:
comet status --json 的顶层 JSON 会按 workflow 分组,并提供统一的 schema:
其中 changes 是 Classic 和普通 OpenSpec change 的合并列表,方便脚本统一遍历;Native change 仍位于 workflows.native.changes Native 详情命令的 JSON 会额外包含 loop、acceptance、Runtime 检查和 continuation 等字段,例如:
需要继续执行 Native 时,以当前输出中的 continuation.commandArgsinputOptions.template 为准,不要手工拼接内部参数。

多个 change 同时存在时

项目可以同时拥有多个 active Native change。.comet/current-change.json 只表示下一次写入归属哪个 workflow/change,不是唯一 change 锁。 需要明确接下来的写入属于哪个 Native change 时,运行:
切换 branch/worktree、目标不明确、代码未同步或 active/archive 布局冲突时,Runtime 会返回 await-userblocked,不会猜测另一个 change。

归档命令

当 change 已经满足归档条件时,status 会打印推荐命令:
  • 第一条是 Comet 管理的 Classic change。
  • 第二条是普通 OpenSpec change。
  • 未显示 recommended archive 时,表示它还没有达到归档条件,不能仅凭 status 输出强行归档。
Native change 使用:
遇到状态异常时,先按输出中的 next 或 Native JSON 的 continuation 操作,再运行 comet doctor 检查项目健康状态。
最后修改于 2026年9月4日