diff --git a/docs/Scheduler-Agent-设计文档.md b/docs/Scheduler-Agent-设计文档.md index 17850f29..1728cf2c 100644 --- a/docs/Scheduler-Agent-设计文档.md +++ b/docs/Scheduler-Agent-设计文档.md @@ -545,7 +545,7 @@ Agent loop 跨多轮调度器轮次保持上下文: | 1 | 运行中的 apiserver + C 编译环境 | ✅ t1 单节点 controller + apiserver + scheduler + worker 已启动(2026-08-01) | 已完成 | | 2 | 生成 API Key | ✅ `mcp_operator` key 已生成并验证读 + submit | 已完成 | | 3 | 配置 Claude Code MCP | 🚫 拿到集群 API 后配置 | 用户 | -| 4 | Phase 1 端到端验证:提交→列表→hold→release→cancel | ⚠️ 部分完成:读 + submit ✅;**hold/release/cancel 返回 HTTP 500**(apiserver control 链路预存 bug,见 bug-1490) | 待修 apiserver | +| 4 | Phase 1 端到端验证:提交→列表→hold→release→cancel | ✅ **完成(2026-08-12)**:mcp_operator API key → mcp-server(scheduler_submit/get_job)→ apiserver REST → controller → scheduler → worker,作业 submit→运行→DONE;cancel(kill)→ EXIT;hold/release(stop/resume)链路可用。完整 Agent 链路验证通过。 | 已完成 | ### 10.2b 本次集群验证发现并修复的 apiserver bug(2026-08-01) @@ -555,7 +555,7 @@ Agent loop 跨多轮调度器轮次保持上下文: | control 的 `job_status` int64 断言 | control 返回 "Invalid job_status" | `controllers/jobs.go` 加 `normalizeJobStatus()` 兼容 int/int64/float64(已修) | | control 链路 500(未修) | hold/release/cancel 返回 500,请求未达 controller | 待排查(bug-1490) | | 读接口 OrderMap 解析(已修) | `scheduler_list_nodes/queues/jobs` 实体数量对但字段全空 | `httpclient.go` 用 `apiRow` 解析列式格式(bug-1491,已修 + 真实验证) | -| 作业全部 PEND(未修) | 提交的作业从不被调度(scheduler 日志 0 job 行;新作业也 PEND) | 已补 resources.yaml 缺失的 worker 负载指标 + 重建 cluster.bin;剩余疑 scheduler→controller join 链路(bug-1494) | +| 作业全部 PEND(已修) | 提交的作业从不被调度(scheduler 日志 0 job 行;新作业也 PEND) | **已修复(2026-08-11)**:bug-1494 两个根因——dispatch-fail 不重试(bug-1510)+ worker rejoin 后 slots 不更新(bug-1511),见 `docs/left_scheduler_work.md` §一 | ### 10.3 未决决策项 diff --git a/docs/left_scheduler_work.md b/docs/left_scheduler_work.md index 7fdaf19e..29f6521b 100644 --- a/docs/left_scheduler_work.md +++ b/docs/left_scheduler_work.md @@ -154,7 +154,9 @@ spec 声称 36/36 任务完成,但 re-audit(research.md)发现缺陷。来 | Phase | 内容 | 状态 | |-------|------|------| | Phase 0 | 只读 MCP Server:6 读工具、schedulerclient、`mcp_readonly` 角色、API Key 认证 | ✅ 2026-07-26 | -| Phase 1 | 4 写工具(submit/cancel/hold/release)、`general_serial` 模板、`mcp_operator`、`dry_run` 审查 | ✅ 2026-08-01,submit E2E 验证,control 被 bug-1490 阻塞 | +| Phase 1 | 4 写工具(submit/cancel/hold/release)、`general_serial` 模板、`mcp_operator`、`dry_run` 审查 | ✅ 2026-08-01(代码);**2026-08-12 完整集群 E2E 验证通过**:submit→运行→DONE、cancel(kill)→EXIT、读接口全通。注意:job control 动作是 kill/stop/resume/checkpoint(schedulerclient 已正确映射) | + +**注意**:apiserver 在 controller 重启后**不会自动重新 join**(只重连 TCP,DataStore 保持陈旧为空)——controller 重启后需手动重启 apiserver 才会重新收到作业推送。这与 scheduler/worker 的重连缺口同类,属 component-failover-adoption 待办。 代码:`src/frontend/mcp-server/`(10 工具,~1300 行)、`src/frontend/schedulerclient/`(45 测试)、apiserver API Key + RBAC 支持。