00-SDD-生成记录.md
5.71 KB
00-SDD-生成记录
元信息
| 字段 | 值 |
|---|---|
| project | graphlemon |
| version | v1.7.0(决策:MVP 阶段只用 Claude Code ACP 一种执行后端,不考虑 Hermes CLI,见架构文档 7.2 节;新增 Claude Code plan 额度耗尽的等待重试机制 p_usage_limit_wait,见 03-C 3.6 节、04-P 4.4.1 节;新增 PH5 自举能力——Deploy Supervisor 蓝绿部署与自动回滚,见 01-M 1.15/1.16 节、03-C 3.15 节、04-P 4.6 节、06 节 REQ-15,详细设计见 docs/supervisor-auto-rollback-design.md) |
| owner | bboonnee |
| effective_date | 2026-07-30 |
| 方法论 | 复用本地 Hermes planning profile 的 project-sdd-planning skill(MVCP:Model/View/Controller/Process) |
输入来源
本 SDD 的输入不是独立的 PRD 文件,而是 docs/graphlemon_architecture.md(v0.9,已与用户逐项对齐确认)。经用户确认,该文档作为 PRD 等价输入直接驱动本 SDD 编写(见架构文档第 8 / 9 / 10 / 12 / 13 节的全部已确认决策)。
产出清单
01-M-模型设计.md02-V-界面与交互.md03-C-控制与接口.md04-P-流程与状态流转.md05-实施约束与依赖.md06-验收与测试锚点.mdsdd-mvcp-contract.json(Coder Agent 可直接消费的结构化约束包)
范围声明
本 SDD 覆盖架构文档第 11 节定义的 MVP 范围:单一 Dev Organizer 全链路(Planner → Coder → Validator 三节点 Org Graph + Validator → Planner 回退边),以"贪吃蛇游戏"类边界清晰任务为验收场景。不覆盖:多 Goal 并发(架构已支持,但 MVP 并发数参数固定为 1,非本期开发重点)。
执行后端范围收窄(决策,2026-07-29):MVP 阶段只实现 Claude Code ACP 一种执行后端,不考虑 Hermes CLI 后端。此前"双后端能力不对等"的框架(架构文档 10.1/7.2 节)不再适用——不是"两个后端能力不对等",而是"只有一个后端"。执行器抽象层(Executor Interface)的接口设计仍然保留,为未来接入其他底层引擎留出扩展点,但 MVP 阶段只需要有一个可用实现。Hermes profile 的内容复用(SOUL.md/skills,见架构文档第 9 节)不受影响——复用的是人设与方法论文本,落地形式是 Claude Code 的 project-scoped subagent 定义文件(.claude/agents/{planner,coder,validator}.md),不是运行 Hermes CLI 本身。
非目标(non-goals)
- 不做飞书 Base 迁移的历史数据导入(历史 Hermes profile 的
memories/、sessions/不做自动迁移,按架构文档 9.1 节人工筛选复用)。 - 不做多租户/多团队权限体系(MVP 单用户使用)。
- 不做 Hermes CLI 执行后端(决策,2026-07-29:MVP 阶段只用 Claude Code ACP 一种后端,见范围声明)。
- 不做 Skill 自主迭代的人工审批 UI(已确认 Skill 自主迭代立即生效,只需 Git 可追溯,见架构文档 8 节决策 1)。
- 不做完整多项目管理 UI(项目列表/切换),数据模型预留
project但 MVP 只支持单个 active 项目。 - 不做日志清理周期的用户可配置(仅保留天数/总量上限可配,清理任务触发频率固定)。
假设(待验证,需标注 owner)
| ID | 假设 | Owner | 验证计划 | 状态 |
|---|---|---|---|---|
| A-1 | Claude Code 的 agent()/parallel()/pipeline() 原语可通过 claude -p 非交互式调用,且能返回结构化可解析结果 |
bboonnee | 已完成 spike 实测(spikes/a1-dynamic-workflows/),真实账号运行,成本 $0.46 |
confirmed(2026-07-29):claude -p ... < /dev/null 无交互提示、40s 完成、structured_output 精确匹配预期(sum=29)、permission_denials 为空;唯一限制是不能加 --bare(会跳过登录态发现),需用完整冷启动调用。具体实现契约见 03-C 3.5 节 |
| A-2 | 本地 Hermes profile 的 SOUL.md/AGENTS.md 可以原样迁移到目标项目的 .claude/agents/{planner,coder,validator}.md 而不需要大改人设内容 |
bboonnee | U-004:实际迁移一次并跑通真实 claude --agent planner -p 调用 |
部分成立(2026-07-31):Planner/Validator 的 SOUL.md 几乎原样迁移(只改了引用飞书 Base 状态机的那几行),且真实 claude --agent planner -p(--permission-mode auto,成本 $0.05)调用验证通过——返回内容准确复述了迁移后的身份与红线("turn ambiguous intent into a verifiable... delivery contract...I never write business code"),不是默认助手人设。但 Coder 的 SOUL.md 不能原样迁移:原文件硬编码了一个真实飞书 Base API token(已从迁移版本中彻底删除,不进 git)、整段"认领"机制强绑定 lark-cli/Base 状态机、且指示自己再跑一次 claude --dangerously-skip-permissions(与 05 §5.3.1 的 auto 权限模式决策直接冲突)——三处都是实质性重写而非格式包装。因此按 development-plan.md U-004 自己预先注册的判定标准("若迁移后发现人设内容需要大改...应记录为部分成立而非直接标 confirmed"),A-2 记为部分成立,不是 confirmed。见 agents/{planner,coder,validator}/SOUL.md 各自文件头的迁移说明 |
| A-3 | bboonnee | 不适用(决策,2026-07-29:MVP 阶段不考虑 Hermes CLI 后端,见范围声明) | not_applicable | |
| A-4 | 控制台为本地 Web 应用,文件夹选择由本地后端代拉系统原生对话框(c_pick_folder)实现 |
bboonnee | 已确认为产品决策(架构文档 13.1 节决策 5),实施时需按 macOS/Windows/Linux 分别验证原生对话框调用方式 | confirmed |