session-retry-policy:调整登录会话的重试和锁定策略;dashboard-export:为运营看板增加 CSV 导出。

独立 Change 与 Supervisor Change 的选择
需求来自同一个会议或 PRD,不代表必须放进一个 change。决定因素是结果能否独立交付,以及是否存在共同的最终验收。
为并行任务选择 worktree 隔离
Native 创建 change 时支持三种工作区:
本案例为两个 change 分别选择
worktree。Runtime 会记录 change branch、目标 branch 和 worktree 类型,并在每次写入和恢复时检查绑定。
每个 Change 独立完成 Shape
两个 change 分别确认自己的目标和验收范围。session-retry-policy 可以包含:
- 连续失败 5 次后锁定账号 15 分钟;
- 成功登录后清零失败次数;
- 锁定状态在 API 和登录页面中保持一致。
dashboard-export 可以包含:
- 导出结果遵循当前筛选条件;
- 大数据量导出以后台任务执行;
- 导出失败时显示可重试状态。
当前选择确定写入归属
.comet/current-change.json 记录下一次可观察写入属于哪个 workflow 和 change。项目中只有一个 active change 时,Hook Router 可以推断归属;存在多个 active change 时,需要明确选择。
查看所有 change:
多个会话分别推进
可以为两个 worktree 各使用一个会话:continuation,并分别提交 Builder handoff、运行 Runtime 检查和启动 Verifier。状态版本、候选 ID 和执行引用会阻止一个 change 的迟到结果写入另一个 change。
主目录中的未提交文件属于用户或其他任务时,应保持原样。worktree 隔离可以减少目录冲突,但不会授权清理无关修改。
工作区不匹配时返回正确目录
如果在dashboard-export 的 worktree 中尝试推进 session-retry-policy,Runtime 会比较:
- 当前项目根目录;
- change branch;
- worktree 类型;
comet-state.yaml保存的工作区绑定。
await-user,并返回预期分支或 worktree。进入正确目录后重新读取状态即可。不要在错误目录中重建同名 change,也不要通过手工修改 YAML 绕过绑定。
独立目标仍可能出现 capability 冲突
两个 change 的产品目标可以独立,但实现期间可能修改同一个 canonical capability。例如:session-retry-policy修改authenticationSpec;- 另一个并行 change
session-device-limit也修改authenticationSpec。
capabilityPeers 和串行处理要求。
先归档一个 Change
假设用户决定先归档session-retry-policy:
- 按最新
continuation确认归档顺序; - Runtime 再次检查冲突列表和状态版本;
session-retry-policy更新 canonicalauthenticationSpec;- change 完成 Archive 和已授权的工作区收尾。
后续 Change 重新对齐并验收
session-device-limit 随后读取最新 canonical Spec。它需要把自己的完整目标规格与新基线重新对齐,再检查实现是否仍然满足合并后的行为。
重新对齐后:
- 更新当前 change 的完整目标 Spec;
- 根据最新行为修订实现;
- 重新运行必要检查;
- 由新的 Verifier 完成验收;
- 使用新的结果进入 Archive。
跨会话和跨设备恢复
恢复单个 change 时,先明确名称:.comet/config.yaml 和 change 的用户可携带产物。.comet/runtime/native/ 属于本机执行状态,由目标设备重建。
多个 active change 同时存在且没有明确名称或有效选择时,环境感知恢复会返回 ask_user。它不会根据聊天内容猜测目标,也不会扫描并修改其他 change 的 Runtime。
分别完成交付与清理
每个独立 change 的 Archive 都有自己的交付选择:保留工作区、本地合并、推送分支或创建 PR。一个 change 的交付授权不适用于另一个 change。 Runtime 只清理已经归档、没有未提交修改且不再使用的 worktree。仍在执行、存在用户修改或 Git 收尾被阻塞的目录会保留,并通过workspaceFinishResult 和 recoveryArgs 返回下一步。
继续阅读:多 Change 与规格冲突、运行时保护与故障恢复 和 连续推进与稳定恢复点。
