sdd_exec_graph_manifest.json 2.79 KB
{
  "nodes": [
    {
      "id": "p0_input",
      "name": "P0 输入与边界",
      "owner": "agent-1",
      "depends_on": [],
      "outputs": ["facts", "constraints", "non_goals"],
      "parallelizable": false,
      "assumption": "PRD/BRD 与非目标先清晰归一"
    },
    {
      "id": "m_model",
      "name": "M 模型",
      "owner": "agent-2",
      "depends_on": ["p0_input"],
      "outputs": ["01-M-模型设计.md", "model_contract"],
      "parallelizable": true,
      "assumption": "边界清晰时可与 V 并行"
    },
    {
      "id": "v_view",
      "name": "V 视图",
      "owner": "agent-3",
      "depends_on": ["p0_input"],
      "outputs": ["02-V-界面与交互.md", "view_contract"],
      "parallelizable": true,
      "assumption": "页面与状态映射需基于需求边界"
    },
    {
      "id": "c_controller",
      "name": "C 控制",
      "owner": "agent-2",
      "depends_on": ["p0_input", "m_model", "v_view"],
      "outputs": ["03-C-控制与接口.md", "controller_contract"],
      "parallelizable": false,
      "assumption": "M/V 明确后再汇总到接口"
    },
    {
      "id": "p_process",
      "name": "P 流程",
      "owner": "agent-4",
      "depends_on": ["p0_input", "m_model"],
      "outputs": ["04-P-流程与状态流转.md", "process_contract"],
      "parallelizable": true,
      "assumption": "在 M 稳定后可并行于 C"
    },
    {
      "id": "s_synthesis",
      "name": "S 约束聚合",
      "owner": "agent-5",
      "depends_on": ["m_model", "v_view", "c_controller", "p_process"],
      "outputs": ["05-实施约束与依赖.md", "sdd-mvcp-contract.json", "06-验收与测试锚点.md"],
      "parallelizable": false,
      "assumption": "等待关键链路完成后聚合"
    },
    {
      "id": "q_gate",
      "name": "Q 质量门禁",
      "owner": "agent-1",
      "depends_on": ["s_synthesis"],
      "outputs": ["gate_report.md"],
      "parallelizable": false,
      "assumption": "反模式与字段约束必须通过"
    },
    {
      "id": "u_units",
      "name": "U Unit 拆分与发布",
      "owner": "agent-1",
      "depends_on": ["q_gate"],
      "outputs": ["unit_matrix.json", "handoff_bundle.md"],
      "parallelizable": false,
      "assumption": "仅在约束包完成且通过门禁后拆分"
    }
  ],
  "loop_rules": [
    {
      "from": "q_gate",
      "on_failure": {
        "m_model": ["缺字段", "模型约束冲突"],
        "v_view": ["事件未映射", "权限遗漏"],
        "c_controller": ["错误码缺失", "入参输出不齐"],
        "p_process": ["错误态缺失", "无补偿策略"]
      }
    }
  ],
  "agent_pool": ["agent-1", "agent-2", "agent-3", "agent-4", "agent-5"],
  "constraints": {
    "no_merge_without_contract": true,
    "gate_required": true,
    "max_loop_round": 2
  }
}