comet status。它会展示默认入口、正在进行的 change,以及每个 change 的推荐下一步。
comet status 完全只读。它不会切换当前 change,也不会修改文件或触发 Build/Verify。
先看文本输出
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 检查缺少阶段所需的证据,输出会直接给出缺什么以及如何恢复:
/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 等字段,例如:
continuation.commandArgs 和 inputOptions.template 为准,不要手工拼接内部参数。
多个 change 同时存在时
项目可以同时拥有多个 active Native change。.comet/current-change.json 只表示下一次写入归属哪个 workflow/change,不是唯一 change 锁。
需要明确接下来的写入属于哪个 Native change 时,运行:
await-user 或 blocked,不会猜测另一个 change。
归档命令
当 change 已经满足归档条件时,status 会打印推荐命令:
- 第一条是 Comet 管理的 Classic change。
- 第二条是普通 OpenSpec change。
- 未显示
recommended archive时,表示它还没有达到归档条件,不能仅凭status输出强行归档。
next 或 Native JSON 的 continuation 操作,再运行 comet doctor 检查项目健康状态。
