Commit cd897c803c1d9c6d1253fea8c0f51cc8e7353e5f

Authored by yibo
1 parent 9390289a

docs(p2): 任务表补三个可独立验收的阶段划分

11 个任务(T0-T9 含 T5b)此前只有一句话的顺序说明,没有阶段概念。按依赖收敛为:
- A 数据层(T1→T2→T3、T7、T9):纯后端不起 LLM,可手工建图/校验/读
- B 自动生成(T4→T5→T5b→T6):引入 orggraph-planning,建公司自动出图
- C 展示(T8):Dashboard 渲染,还依赖 P3 画布组件

每阶段给出可验收标准,且阶段间可停——A→B 即可看到端到端效果,C 可后延。
T0(company-goal)已于 2255f09 实现,是 B 的前置,不计入阶段。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
docs/todo/system-design/27-p2-org-graph.md
... ... @@ -233,7 +233,21 @@ if (bootstrap.status === &#39;hired_from_template&#39;) {
233 233 | **T8** | 前端:复用 P3 画布组件渲染 org graph(或先上纯文本拓扑序占位) | `web/src/views/CompanyDashboard.vue` | T3(+ P3 的 T3 若要画布) |
234 234 | **T9** | 测试:`org-graph-service.test.js`(四项校验各一条负例、幂等写入、软删除级联)+ e2e 扩展 | `server/tests/unit/org-graph-service.test.js` | T2, T3 |
235 235  
236   -**顺序**:T0 独立可先做(它是 `orggraph-planning` 的输入前提)。T1→T2→T3 是主干。T4 可最早并行。T5 依赖 T3/T4。T7 独立于 T5/T6,可并行。T8 视是否等 P3 画布决定。
  236 +### 三个可独立验收的阶段
  237 +
  238 +11 个任务按依赖收敛为 3 个阶段,**每个阶段都能单独验收、单独上线**:
  239 +
  240 +| 阶段 | 含 | 交付什么 | 怎么验收 | 是否涉及 agent |
  241 +|---|---|---|---|---|
  242 +| **A · 数据层** | T1 → T2 → T3、T7、T9 | schema 改造完成、`org-graph-service` 可读写、四个 API 端点通 | 手工 POST 一张合法图 → GET 读回;POST 一张非法图(有环 / 多入口 / 孤立节点 / 回退边未标注)→ 400 并报出违反 §3.3 哪一条 | ❌ 纯后端,不起任何 LLM |
  243 +| **B · 自动生成** | T4 → T5 → T5b → T6 | 模板库、`orggraph-planning` agent、元 agent 继承招聘分支、建公司自动触发 | `POST /create` 带 `company-goal` → 秒级返回且 `agents` 出现 `orggraph-planning` → 异步跑完后 `GET org-graph` 拿到一张合法图 | ✅ 端到端跑真实 agent |
  244 +| **C · 展示** | T8 | Company Dashboard 渲染 org graph | 有图的公司能看到拓扑;无图的公司显示空态不报错 | ❌ |
  245 +
  246 +**前置**:**T0(`company-goal` 字段)✅ 已实现**(commit `2255f09`)——它是阶段 B 的输入前提,不属于任何阶段,先做掉了。
  247 +
  248 +**阶段内顺序**:A 内部 T1→T2→T3 是硬串行,T7/T9 依赖 T2 后可并行;B 内部 T4 可最早开工(不依赖任何代码),T5b 只依赖 T1 因此可以提到 A 阶段并行做。
  249 +
  250 +**阶段间可以停**:只做完 A,系统就有了一个「能手工建图、能校验、能读」的 org graph;B 才让它自动化;C 只是让人看得见。**如果要最快看到端到端效果,A→B 两个阶段即可,C 可以无限期后延**(阶段 C 还依赖 P3 的画布组件,见 §4.5)。
237 251  
238 252 ---
239 253  
... ...