Skip to main content
Native 把用户需要阅读和同步的内容放在 change 目录,把执行过程放在项目级 Runtime。你通常只需要看 brief、Spec、comet-state.yamlverification.md

项目布局

默认布局如下:
<project>/
.comet/
config.yaml
current-change.json
runtime/native/
changes/<change-name>/
state.json
logs/
locks/
transactions/
docs/comet/
specs/
changes/
<change-name>/
brief.md
comet-state.yaml
specs/<capability>/
spec.md
verification.md
archive/
YYYY-MM-DD-<change-name>/
native.artifact_root 可以改成项目内其他相对目录,例如 artifacts/comet/.comet/config.yaml.comet/current-change.json 跟随项目绑定;.comet/runtime/native/ 由 Runtime 管理并默认加入.gitignore忽略,不会复制到 change 目录或提交为用户文档。

三类用户可读文件

brief.md

brief 说明目标、范围、非目标、已确认的用户决定、未解决问题、验收示例和验证期望。它是 Shape 阶段的工作说明,用户能直接阅读和修改需求。 手工编辑 brief 或 Spec 时,注意验收项的来源:Runtime 只从两处生成验收项——brief 顶层的验收示例,以及 Spec 中以 Scenario: 标题开头的完整场景。描述性段落、普通列表和单独的 WHEN/THEN 行不会被识别为验收项。因此,要调整验收范围,只能修改这两种格式的内容。

specs/<capability>/spec.md

capability 是项目的一项独立功能,例如“头像上传”或“会话超时”。Spec 按功能组织,每个 capability 一个目录,目录下的 spec.md 描述这项功能归档后的完整行为。归档时 Runtime 会按声明执行 createmodifyremove:创建、完整替换,或在受控路径内删除。要声明移除一个 capability,运行 comet native spec remove 表达删除意图——只删除 Spec 文件不会被当作移除声明,归档时该 Spec 仍按存在处理。当并行 change 尝试修改同一 capability,会先停下来要求确定归档顺序,不会自动覆盖文件。

comet-state.yaml

这是跨设备恢复的稳定状态。它记录以下内容:
  • 当前阶段和状态;
  • Loop 进度:iteration 是实现轮次,Builder 每提交一次新的候选实现加一;attempt 是对同一份候选实现的验收尝试次数;
  • 完整验收项及结果;
  • Builder handoff:Builder 提交候选实现时写下的交接说明,描述本次改动和声明受影响的验收项;
  • 必要检查摘要、Verifier 结论和阻塞原因;
  • 最近 50 条执行记录和下一步动作。
换会话、换设备或流程中断后,接手的 Agent 没有之前的对话记录。它会先读这份文件,再按其中记录的下一步动作(continuation,完整字段说明见任务推进与中断恢复)继续执行。

verification.md

这是 Runtime 根据状态生成的用户报告,包含实际检查、逐项验收、风险、限制和结论。它是可重建的展示文件,不是推进阶段的输入;缺失或落后时,Runtime 可以从 comet-state.yaml 重建。

本机 Runtime

.comet/runtime/native/ 只保存四类本机文件:执行状态文件(overlay)、日志、操作锁和可恢复事务。操作锁只在单个操作执行期间持有,用来防止两个并发操作同时修改同一个 change,操作结束就释放。这个目录可能因换设备或清理而缺失;Runtime 会依据同步的 YAML 重建,而不会把本机执行状态当成跨设备事实。日志适合排查命令输出,不能替代 verification.md。这些文件由哪些组件写入,见 Native Runtime 的组成 .comet/current-change.json 只表示下一次写入归属哪个 workflow/change,不限制项目只能有一个 active change。状态查看是只读的;需要明确归属时使用 comet native select <change-name>

跨设备恢复

你不需要手工执行恢复命令。在目标设备拉取或同步项目代码后,像平时一样告诉 Agent 继续当前需求即可。Comet 会先尝试通过自动恢复探测找到 active change,再由 Agent 根据 Runtime 返回的工作区和下一步动作,自动完成状态读取、change 选择和流程推进。 需要同步的是项目代码、.comet/config.yamlbrief.md、Specs 和 comet-state.yaml。如果已经生成 verification.md,可以一并同步;即使缺失,Runtime 也能根据 comet-state.yaml 重建,不会阻止 Shape 或 Build 恢复。.comet/runtime/native/ 属于本机执行状态,不需要跨设备复制。 目标设备缺少 Runtime,或本机执行状态已经过期时,Runtime 会按 comet-state.yaml 里记录的进度自动重建。执行到一半的检查会按中断处理;需要重新运行的检查会再次执行,不能安全复用的 Verifier 或 archive-ready 结果会重新验证。恢复不会依赖旧设备的 state.json,也不会因为复制了旧 Runtime 文件就直接归档。 只有代码未同步、当前分支或 worktree 与 change 不匹配、存在多个同样匹配的工作区,或 active/archive 目录冲突时,Comet 才会停下来请你选择或修正。 下面两个命令只在你想查看进度或排查问题时使用,也可以打开 Comet Dashboard 查看进度:

归档与交付

归档时的交付选择(保留工作区 / 本地合并 / 推送 / 建 PR / 暂缓)见归档与交付

归档后

成功归档的 change 只保留 brief、Specs、comet-state.yamlverification.md 等用户可读内容。.comet/runtime/native/ 中该 change 的本机执行目录会清理;旧版本遗留的机器文件只通过迁移或只读适配器处理,不会成为新 Native 流程的输入。 继续阅读:验证与修复连续推进恢复手册归档与交付
最后修改于 2026年9月4日