scheduler-gateway/docs/ADR.md
Liuxinyu176 bbb364cd69 feat: DSH 调度网关(互联网关)v6.0.0 — 四模型合并版 R1+R2+R3
- 零第三方依赖,Node >=20 原生 ESM
- 团队式编排引擎:拆解/路由/执行/审查/合并全真实 LLM
- 阶段心跳、单一权威清单守卫、all-keys-failed 如实上报
- H4 会话视图/amend/watchdog 有界重试/产物区 artifacts.json
- H5 零依赖三栏控制台
2026-10-09 23:20:27 +08:00

31 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ADR — 关键决策记录
## ADR-001:合并基线与来源
- 骨架:fjord scheduler-gateway-doubao-live(R3 过程 95 / 产物 92,全场最高;双形态齐全、真实 LLM 三角色、跨节点编排真实成立)
- 测试/压测:lodestone scheduler-gateway-nexus-live(153 断言、stress 200 任务/16 并发、harness 规范)
- 安全对抗:nexus scheduler-gateway-ai-hard(28 项对抗测试全场第一,SecurityGuard)
- 广度与死信/重试:epoch scheduler-gateway-v2-live(198 断言;修复其 LLM 测试偶发失败)
- R2 增强:fjord doubao-hard(WAL/journal、recovery-demo、mock 看板)、epoch v2-hard(claim-settle 语义)
- R1 看板接单:doubao-hard board-client + v2-hard claim-settle 合并为 src/taskboard/
## ADR-002:真实 LLM 失败策略
真实 key 可用时优先真实调用(live-llm/demo/套件 J 段全部真实 200)。demo 这类「演示流水线」在 LLM 输出多次未过结构校验时默认回退确定性结果并打印警告(可 GW_LLM_STRICT=1 严格化);live-llm 与套件 J 段始终严格。理由:交付物必须可复现(评分硬门槛),同时不伪造真实证据。
## ADR-003:端口策略
长驻服务(server)默认 4180;所有一键命令(demo/stress/chaos/board-claim)与测试默认动态端口 0 + 干净内存态。修复 fjord 基线的 port-0-falsy 缺陷与 nexus 的 EADDRINUSE 历史问题,保证并发可复现。
## ADR-004:持久化边界
长驻 server 落盘 state/server-state.json(防抖 200ms);一键命令不落盘。WAL(GW_WAL=1)只在需要崩溃恢复语义时启用,避免普通运行冗余 IO。看板数据始终以 dsh-task-board Host 为权威(乐观锁 revision 双保险),网关不复制看板。
## ADR-005:看板 mutator 契约
采用 fjord board-client 的 mutate 契约(mutator 返回修改后 doc;false 放弃);epoch claim-settle 已按此对齐。409 冲突由客户端有界重试(抖动退避),进程内写串行化,大幅降低风暴下无效 PUT。
## ADR-006:安全边界
自动领取前 validateTask(注入/危险拦截)→ 执行前 assertSafe(双重把关);spawn 一律参数数组、prompt 只走 stdin;每任务独立工作区(可 worktree);key 永不出现在日志/面板/导出。