Skip to content

核心理念 ​

1. 原生规范继续说了算 ​

需求、设计、任务和质量门属于 OpenSpec / Spec Kit。Spec Autonomous 的 plan 是执行细分,不是另一份产品需求。

2. CLI 永远不创建 Agent ​

CLI 可以运行 Git、原生 provider、测试和明确配置的 hook,因为这些是确定性操作。但它没有 Codex / Claude SDK,也没有模型选择器。

需要理解、设计、编码或审查时,CLI 返回工作包。宿主创建 fresh-context Agent,完成后返回结构化结果。

这样做的好处:

  • 复用宿主已有的认证、模型和工具;
  • 不把 CLI 绑死在某一家 Agent;
  • 宿主能真正控制会话创建和取消;
  • CLI 可以在没有模型的环境中测试全部状态机。

3. 声明和观察分开 ​

“Agent 说完成了”是一项声明。实际 diff、测试 exit code、Git revision、原生任务状态是观察。

系统只有把声明与观察对上,才接受结果。

4. 完成不是一个布尔值 ​

至少要区分:

  • 进程退出;
  • 原生任务 checkbox 完成;
  • 任务验证通过;
  • 阶段验收通过;
  • 代码已集成;
  • 指定范围完成;
  • 整个里程碑完成;
  • 已归档。

把这些压成一个 done=true,恢复和审计一定会出问题。

5. Fresh context 必须是协议,不是口号 ​

每个工作请求要求唯一 session_id 和 fresh_context:true。宿主负责兑现真实的新会话;CLI 负责防止同一会话跨请求复用。

Worker 只收到当前任务、相关规范、依赖摘要、写入边界和验证要求,不继承完整协调历史。

6. 未知写集默认串行 ​

“开了多个进程”不代表文件安全。只有依赖满足且读写集合不冲突的任务才会一起执行。

锁文件、公共 schema、共享入口和无法判断范围的改动优先串行。并行是经过证明的优化,不是默认冒险。

7. 验证绑定源码版本 ​

测试通过必须回答“对哪个 commit 通过”。代码变了,旧证据不能继续证明新代码。

因此每次验证记录 argv、cwd、exit code、日志和被测 revision。验证过程如果修改源码树,也会被拒绝。

8. 恢复先核对,再重试 ​

崩溃点可能位于:

  • 回执已写文件但账本未更新;
  • 原生 checkbox 已改但 Git 尚未推进;
  • Git 已推进但 accepted 状态尚未保存;
  • hook 已执行但结果没来得及确认。

恢复必须读取持久化意图与真实 Git 状态,完成缺失的一半或要求人工确认。盲目重跑会重复副作用。

9. 所有危险动作先预览 ​

归档、清理、repair 等操作先返回绑定 source / head / config 的 plan_hash。应用时任何关键输入变化都会拒绝旧计划。

10. 不夸大兼容性 ​

有代码路径、有 CI 配置和在真实平台验证过是三件不同的事。项目只声明实际通过的 provider 版本、平台和安装方式。

基于 MIT License 发布