Skip to content

feat(dag): tiered dag.jsonc defaults, pause-first replan protocol, domain playbooks - #130

Merged
LeXwDeX merged 3 commits into
devfrom
feat/dag-config-domains
Jul 28, 2026
Merged

feat(dag): tiered dag.jsonc defaults, pause-first replan protocol, domain playbooks#130
LeXwDeX merged 3 commits into
devfrom
feat/dag-config-domains

Conversation

@LeXwDeX

@LeXwDeX LeXwDeX commented Jul 28, 2026

Copy link
Copy Markdown
Owner

概述

《DAG 工作流 BUG/缺陷 复盘与修复》任务 1-3:取消/重规划时序空窗修复、独立 dag.jsonc 配置、可产品化编排领域拓展。

复盘结论(任务 1)

  • 底层取消链路完整:promptSvc.cancel → Runner.cancel → Fiber.interrupt → AbortController → streamText 断流,毫秒级生效,"无法真实取消"不成立。
  • 真实缺陷是时序空窗:agent 组装 replan fragment 期间(事故日志中 650ms 缺参失败 + 13.2s 组装)工作流没有任何冻结动作,节点自然跑完进入 terminal,replan 撞"终态不可变"铁律被拒。

变更

1. pause-first 重规划协议(零运行时风险)

  • tool/workflow.ts:control 缺参错误改为含用法示例并提示 pause-first;replan 缺 fragment 错误提示先 pause;replan 撞 terminal 时附带补救指引(start 新工作流 / extend);pause 输出说明 running 节点处置方式(fragment restart/cancel)。
  • orchestration-policy.md:新增 Replan Protocol (pause-first) 章节——收到取消/重规划意图 → 立即 control(pause)(毫秒级、无需 fragment)→ 组装 fragment → control(replan)(paused 下有效)→ control(resume)
  • workflow.md:control 参考与 Redirect 场景同步 pause-first。

2. 独立 dag.jsonc 配置(2 级模型分层 + 思考深度)

  • 新增 src/dag/config.ts(DagConfig):加载优先级 项目 .opencode/dag.jsonc|.json > 全局 <config dir>/dag.jsonc|.json;两者都不存在时在全局 opencode 配置同级目录生成带注释的默认 dag.jsonc(懒加载,随调度轮次生效,遵循 OPENCODE_CONFIG_DIR 重定向)。
  • 模型分层:advanced(高级智能)负责关键节点(required: true 或 review 类 worker),standard(普通智能)负责普通干活节点;只配一档时作为统一默认。
  • 接线 spawn.ts 模型解析链:node.model → node_defaults.model → agent.model → dag.jsonc 分层 → parent.model(不破坏 agents 角色文件已 pin 的模型)。
  • thinking_depth(low/medium/high/max)通过现成 PromptInput.variant 接缝下发,模型未定义该 variant 时自动 no-op。
  • 其余配置一律沿用 opencode 主配置。

3. 编排领域拓展(产品化 playbook)

  • 新增 orchestration-domains.md 并拼入 WorkflowContent
    • Simulated Audit Loop:verdict 驱动的 replan 波(非循环边、非 harness loop),受 max_node_replan_attempts/max_total_nodes 熔断。
    • Deep Review:攻方/守方/维度专家多角色对抗 + 仲裁,design/diff 两相硬契约。
    • Deep Speculation:设计文档预言——逻辑推演 + 对抗性质询(grill 方法论内化为图内角色)+ 应答 + 仲裁合成,全自动无中间人工干预。
    • Large Engineering:执行文档 → 深度分析 → 并行/串行编排 → 计划审计 loop → 执行 → 最终对抗性 review loop → 出成果(内化 grill→spec→tickets→implement→review)。
    • 补充场景:方案 bake-off、根因诊断、安全面/回归矩阵/文档漂移审计。
  • 角色一律按 Role Resolution 解析为能力槽(适配用户已配置的 explore/reasoner/review/verify agents)。

验证

  • packages/corepackages/opencode typecheck(tsgo --noEmit)通过。
  • packages/opencode DAG 测试 242/242 通过(含新增 dag-config 10 例)。
  • packages/core command 测试 13/13 通过(含新增 pause-first 与 domains 断言)。

@LeXwDeX
LeXwDeX merged commit 507471b into dev Jul 28, 2026
4 checks passed
@LeXwDeX
LeXwDeX deleted the feat/dag-config-domains branch July 28, 2026 05:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant