-
服务器重启会杀死正在跑的 graph 节点背后的真实进程,但 graph_run_nodes. status 永远停在 running(ceo 的两条唤醒路径都只认 blocked,对这个状态 完全不可见)——39 号文档真跑复盘撞出来的坑,这次补上。 1a:graph-engine.js 新增 sweepOrphanedRunningNodes(cutoffIso),复用 routeFailure 的 infra_flake 分支(不发明新状态),server/index.js 在 本次进程启动时刻挂一次开机扫描,排在其余「补一次全量扫描」钩子之前。 1b:新增 forceFailNode() + POST /:id/nodes/:nodeId/force-fail,补上 retry 端点管不到 running 节点这个缺口——人工/ceo 判定"这个真的救不 回来了"时的手动出口,转 fail 后交给既有失败路由处理,不发明新路径。 新增测试 12 例(graph-engine-orphan-sweep.test.js 4 例、 graph-run-force-fail.test.js 8 例),全量测试 1483/1487,零回归。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BwG4b7Nq1NLR9eeE3M9Us9