Commit 853d2f0b843141b9463253fdcfd0d8c33967fc18

Authored by yibo
1 parent 5879917d

docs(41号): 复盘订正待跟进事项——竞态未修只是绕开,两条过期 TODO 被并行会话修完

- writeGraph() 的乐观锁缺失此前误标"已修复",实际只是后续实验绕开没再撞它,改回开放
  TODO 并补上修法思路(CAS 式版本校验)。
- company.js 的 requireAuthOrInternal 401 缺口、boss agent 巡检设计,均已被另一并行会话
  实际修复/实现(14cbaf5、39 号文档 P1-P5),核实代码后删掉这两条过期 TODO,指向正确出处。
- 新增一条未拍板的可选项:org-hunt/digest/evolve 这套"元 agent 复刻成 graph 原生副本"的
  操作模式要不要沉淀进 org-graph-templates/README.md 供以后参考。

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
docs/todo/system-design/41-graph-vs-fde-reliability-discussion.md
... ... @@ -334,15 +334,28 @@ FDE 无关,纯粹为了让 org-hunt 做真调研)反复 `rerun` 同一个 ta
334 334 "自带自评分收敛逻辑的节点也不需要外部验收节点"这条例外条款并点名这次事故。第 12 轮
335 335 真跑验证:`org-evolve` 的规划记录原文直接引用了新条款选中 `deliverable.json`,
336 336 `backward_count=0`,评分 83/行业均线 78 收敛,全流程干净跑完。
337   -- [x] 至此,11 轮真跑挖出的 6 个独立缺陷(7.0 竞态 / 模板库缺口 / 验收节点任务描述越权 /
338   - 两个规划 agent 路径口径 / R-19 索引覆盖 / 名字语义匹配误选专属本体)全部修复并逐条
339   - 验证生效,第 12 轮起连续跑通。工作已提交(`496c249`),与另一并行会话的工作
  337 +- [x] 11 轮真跑挖出的 6 个独立缺陷里,5 个(模板库缺口 / 验收节点任务描述越权 / 两个规划
  338 + agent 路径口径 / R-19 索引覆盖 / 名字语义匹配误选专属本体)已修复并逐条验证生效,
  339 + 第 12 轮起连续跑通。工作已提交(`496c249`、`5879917`),与另一并行会话的工作
340 340 (boss agent 看板 / 打字机流式打断,39/40 号文档)无冲突合并。
  341 +- [ ] **2026-08-31 复盘订正**:**7.0 的竞态没有修,只是绕开了**——上一版把它算进"6 个已修复"
  342 + 是错的。`org-graph-service.js` 的 `writeGraph()` 本身依然没有乐观锁/版本号,谁后写谁赢
  343 + 的问题原样还在;这次只是后续实验不再手写图去撞它,没有从根上堵住。真要修,思路见
  344 + 问题 6 讨论:写入前带上「我读到的版本号/hash」,落库时校验没被并发改过,对不上就拒绝
  345 + 并让调用方重读重试(类似乐观锁 CAS)。
  346 +- [x] ~~`company.js` 的 `hire` 等路由挂 `requireAuth` 不认 `x-internal-token`~~ ——
  347 + **已被另一并行会话修复**(`14cbaf5 fix(graph-run): ceo 心跳自环调用补上
  348 + requireAuthOrInternal`,本次合并已带入)。核实过 `server/routes/company.js:18` 现在是
  349 + `router.use(requireAuthOrInternal)`,不再是 `requireAuth`。
  350 +- [x] ~~boss agent(暂定挂在 CEO 身份下):主动巡检 goal/task/work 状态~~ ——
  351 + **已被另一并行会话实现**,见 [39-boss-agent-task-supervision.md](./39-boss-agent-task-supervision.md)
  352 + (P1-P5,commit `a00590a`/`5108d67`/`d967ac0`),本文档这条 TODO 作废,后续跟进请去那份
  353 + 文档的「六、已知遗留」一节。
341 354 - [ ] `routeFailure` 的 `infra_flake` 分支补上 `target_node` 路由(30 号文档遗留的"刻意没做②")。
342 355 - [ ] `27-p4-parallel-and-artifacts.md` 并发 fan-out 设计推进。
343   -- [ ] boss agent(暂定挂在 CEO 身份下):主动巡检 goal/task/work 状态、卡住/漏结算主动喊人,功能待从零设计。
344 356 - [ ] 若要落地部门级 org graph(37 号文档方向),仍是"设计讨论,尚未立项"状态。
345   -- [ ] `company.js` 的 `hire` 等路由挂 `requireAuth` 不认 `x-internal-token`,导致 agent CLI 子进程
346   - 调 `company hire`/`company templates`/`GET /company/:id/agents` 必 401——被 `orggraph-planning`
347   - 和 `workgraph-planning` 各自独立撞见过一次(7.2 附带发现),跟 38 号文档修 `agent-chat.js`
348   - 是同一类问题,`company.js` 还没补。
  357 +- [ ] **可选文档补丁**:`org-hunt/digest/evolve` 是"元 agent 不能直接入图,要建原生协议独立副本"
  358 + 这条红线的第一个实操案例,但这个"怎么复刻 FDE 到 graph"的操作模式本身还没被沉淀成
  359 + 一份可复用的参考(目前只在本文档问题 7 的叙事里)。要不要在
  360 + `system/org-graph-templates/README.md` 的"元 agent 不入图"那条附近补一段指向这个案例,
  361 + 供以后有类似需求的人抄作业——未拍板,等决定。
... ...