From e5bc593afc0ee518fe255be8fd49b7583ac710a9 Mon Sep 17 00:00:00 2001 From: Linghong Date: Thu, 13 Aug 2026 08:49:41 +0000 Subject: [PATCH] =?UTF-8?q?=E6=96=87=E6=A1=A3=EF=BC=9A=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=20M1=20=E8=AE=A1=E5=88=92=E4=B8=AD=E5=B7=B2=E8=BF=87=E6=97=B6?= =?UTF-8?q?=E7=9A=84=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 第 22 节「当前代码证据与 M1 接入点」逐行核过,改九处: - trusted source / matcher 消费者:plan source 进 matcher 已裁决,硬门解除; 但落地前须逐点复核 19 处消费点,steer 门须实现为独立于该 matcher 的显式拒绝 - Prompt Bundle:supervisorPlanChat / SupervisorPlanChat 随 D6 作废,不新增 composition 也不新增编译期 source kind;实际改动是 agentCatalog 新增 planning 平级条目,已落地 - Prompt 请求/收尾:D11 下不按 source 分流 composition - Supervisor collaboration:原「plan 跳过强制委派」方向反转,Supervisor 的主动作 就是委派 - user.input_request / decision checkpoint:后半段的 checkpoint turn 与 handoff 随 D10 作废 - completion blocker:收窄为只对策划子 Agent 不适用,根 run 不再整体豁免 - standard 路径 owner 产物验证:范围收窄,存在性证据已被静态委派 expectedArtifacts 覆盖,缺的是语义级校验,且内容正确性本就归 plan.submit_gdd 的 strict schema - Goal Contract:M1 待裁决项已全部关闭 新增一行记录已落地的 project-planning 身份登记。 第 21 节测试矩阵挂作废横幅:schema / session / Provider binding 三行中涉及 decision checkpoint、activeQuestion、checkpoint handoff、superseded 数组的必测项 随 D10 作废,不再是 M1 的测试义务;并列出 D11 新增的五项必测。 第 23.4 节同步:M1 入口前置决策已归零。 Co-Authored-By: Claude Opus 5 --- ...方案】立项策划Agent(Fast GDD)-2026-08-10.md | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/docs/technical/【技术方案】立项策划Agent(Fast GDD)-2026-08-10.md b/docs/technical/【技术方案】立项策划Agent(Fast GDD)-2026-08-10.md index d5451e6b7..b27e477be 100644 --- a/docs/technical/【技术方案】立项策划Agent(Fast GDD)-2026-08-10.md +++ b/docs/technical/【技术方案】立项策划Agent(Fast GDD)-2026-08-10.md @@ -1620,6 +1620,10 @@ Canvas 是条件外部能力,不是 M0-3 四个固定 owner 的通用前置: ## 21. 测试与故障注入矩阵 +> **2026-08-13:本节 `schema` / `session` / `Provider binding` 三行中涉及 `plan decision checkpoint`、`activeQuestion`、`checkpoint handoff`、`superseded` 数组的必测项,随 D10 作废,不再是 M1 的测试义务**(依据见第 5.1、23.1 节)。这些项与 golden vector 强耦合,统一在「schema 与 golden vector 收口」工作包中随第 8.3~8.6、9.1、12、13、14 节一并重写,前置是 M1 的 strict schema 实现(见第 23.6 节)。其余各行不受影响。 + +> D11 新增的必测项(本节尚未展开,M1 实现时补齐):委派链上 `clarification_round` 推断与 3 轮上限;Supervisor 转述答案的 `questionsSha256`/`answersSha256` 绑定;plan 根 run 拒绝 steer;策划子 Agent 的 exact allowlist 广告与执行双门;`user.input_request` 在子 Agent 侧被执行层拒绝。 + | 层 | 必测合同 | | --- | --- | | schema | submit input + plan decision checkpoint + Provider session binding + hydrate view + 五个 durable/projection strict v1 struct;binding required superseded ID 数组与 session superseded handoff 摘要的 0/1/16/17 边界及逐项映射;unknown field/schema/enum;Agent 注入 Runtime 字段拒绝;ID/time/各类指纹形状;所有长度、数量、bytes 与 128 版本上限 | @@ -1657,33 +1661,34 @@ M0 文档 PR 本身最低验证:Markdown 结构与三张 Mermaid 图可解析 | 主题 | 当前证据 | M1/M2 要点 | | --- | --- | --- | -| Supervisor trusted source | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_driver.rs:107-120` | 当前只有 gui/cli/game-chat;M1 新增 plan 常量与 matcher | -| trusted matcher 消费者 | 2026-08-12 复核为 10 个非测试文件、18 处调用:`commands.rs`(2)、`agent/runtime_actions/project_gates.rs`、`agent/runtime_protocol/acceptance_graph.rs`(2)、`agent/runtime_protocol/goal_contract.rs`(2)、`agent/runtime_protocol/run_configuration.rs`、`agent/runtime_protocol/steering.rs`、`agent/runtime_driver/lifecycle_control.rs`、`agent/runtime_driver/task_start.rs`(2)、`agent/runtime_actions/provider_request_builders.rs`、`agent/runtime_protocol/autonomous_completion.rs`(5) | 2026-08-10 记录的两个消费者已过期。`agent_runtime_supervisor_source_is_trusted` 现在同时是 run 启动门、steer 门、Goal Contract 创建权限、验收图完成门与根控制面工具授权的共同判据,**都不看 Run Profile**。M1 只拆 autonomous-only matcher 已不够;必须先按第 23.1 节裁决 plan source 与 Goal Contract 协议的关系 | +| **`project-planning` 身份登记(已落地)** | `apps/ai-game-creator-shell/src-tauri/prompts/runtime/manifest.json`(`agentCatalog.planning`)、`build_support/runtime_prompt_bundle.rs`、`src/agent/runtime_adapter.rs`、`src/agent/prompt.rs`、`src/agent/generation/pass_artifacts.rs`、`src/agent/runtime_driver/task_start.rs`、`src/agent/runtime_tools/task_ops.rs`、`src/agent/runtime_tools/delegation.rs` | **2026-08-13 已合入**。登记为与 `supervisor` 平级、不进 `groups` 的独立条目,`build.rs`/种子 DAG/`new_game_creation_app_seed_tasks()` 一行未动。同批修掉「非 supervisor 即专业组成员」二分假设的四个受害点:角色身份合成(blocking,不修则委派第一轮即硬失败)、内存路径解析、恢复枚举漏收、`task.create` 静默兜底成 Design 组;并把 `project-planning` 排除出 `agent.spawn_isolated` 的合法模板集。回归见 `project_planning_is_a_delegatable_identity_outside_the_seed_dag` | +| Supervisor trusted source | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_driver.rs:107-120` | 当前只有 gui/cli/game-chat。**2026-08-13 已裁决**:M1 新增 `project-supervisor-plan` 常量并**加入该 matcher**,做方案链路正常参与 Goal Contract 协议(见第 23.1 节) | +| trusted matcher 消费者 | 2026-08-12 复核为 10 个非测试文件、18 处调用:`commands.rs`(2)、`agent/runtime_actions/project_gates.rs`、`agent/runtime_protocol/acceptance_graph.rs`(2)、`agent/runtime_protocol/goal_contract.rs`(2)、`agent/runtime_protocol/run_configuration.rs`、`agent/runtime_protocol/steering.rs`、`agent/runtime_driver/lifecycle_control.rs`、`agent/runtime_driver/task_start.rs`(2)、`agent/runtime_actions/provider_request_builders.rs`、`agent/runtime_protocol/autonomous_completion.rs`(5) | 2026-08-10 记录的两个消费者已过期。`agent_runtime_supervisor_source_is_trusted` 现在同时是 run 启动门、steer 门、Goal Contract 创建权限、验收图完成门与根控制面工具授权的共同判据,**都不看 Run Profile**。M1 只拆 autonomous-only matcher 已不够。**2026-08-13 裁决:plan source 进该 matcher**,原「裁决前不得合入依赖 plan source 可信身份的 M1 代码」硬门解除(见第 23.1 节)。**但落地前必须逐点复核这些消费点对 plan 语义是否正确**,不适用者单独收窄,不能靠 matcher 一刀切;其中 steer 门已被单独否决,须实现为独立于本 matcher 的显式拒绝。2026-08-13 复核调用数已增至 19 处,实施时以当时源码为准 | | Run Profile | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_adapter.rs:48-75`、`apps/ai-game-creator-shell/src-tauri/src/main.rs:1243-1244` | 复用 `standard`,不新增 profile | | Supervisor start 校验 | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_driver/task_start.rs:114-134`、`apps/ai-game-creator-shell/src-tauri/src/commands.rs:497-529` | 增加 top-level plan source/profile 组合门 | | durable run binding | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/run_configuration.rs:72-125,226-374` | source/profile/root/parent CAS 与恢复必须贯穿 | | 前端提交链 | `apps/ai-game-creator-shell/src/features/agent-runtime/model.ts:844-899`、`apps/ai-game-creator-shell/src/App.tsx:5743-5800` | 已有 source/profile DTO;后端仍须重验 | -| Prompt Bundle | `apps/ai-game-creator-shell/src-tauri/prompts/runtime/manifest.json:30-74`、`apps/ai-game-creator-shell/src-tauri/build_support/runtime_prompt_bundle.rs:73-85,867-925` | 新增 supervisorPlanChat 与 SupervisorPlanChat | -| Prompt 请求/收尾 | `apps/ai-game-creator-shell/src-tauri/src/agent/prompt.rs:551-630`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/provider_request_builders.rs:123-178,208-241,314-318` | standard plan 的 tool-plan/final-reply 都按 source 分流;context 不读取/渲染 collaboration 或通用能力 | +| Prompt Bundle | `apps/ai-game-creator-shell/src-tauri/prompts/runtime/manifest.json:30-74`、`apps/ai-game-creator-shell/src-tauri/build_support/runtime_prompt_bundle.rs:73-85,867-925` | **2026-08-13 改写**:`supervisorPlanChat` / `SupervisorPlanChat` 随 D6 作废,**不新增 composition 也不新增编译期 source kind**(见第 4.2 节)。实际改动是 `agentCatalog` 新增与 `supervisor` 平级、不进 `groups` 的 `planning` 条目——**已于 2026-08-13 落地**,含结构体、`validate_agent_catalog`、`render_agent_catalog` 三处 | +| Prompt 请求/收尾 | `apps/ai-game-creator-shell/src-tauri/src/agent/prompt.rs:551-630`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/provider_request_builders.rs:123-178,208-241,314-318` | **2026-08-13 改写**:D11 下不按 source 分流 composition——Supervisor 根 run 沿用现役 supervisor composition,策划子 Agent 复用 `runtime` composition(见第 4.2 节)。仍成立的是:策划子 Agent 的 context 不读取/渲染 collaboration 或通用能力,其角色内容由 agentCatalog 条目的 brief 承载 | | Provider request lifecycle / wire | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/models.rs:233-248`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/provider_control.rs:316-343`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/real_e2e_checkpoint.rs:1073-1276`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/provider_retry.rs:1391-1451`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/provider_action_batch.rs:897-922`、`server-rs/crates/platform-llm/src/lib.rs:55-75,167-180,2286-2349` | exact plan 从同一 captured session 构造 request/context binding;v3 lifecycle 与 v4 batch 同 binding;最终 model/request 字段及 adapter wire 配置进入 context fingerprint;旧 attempt 先终结再重试;stale 合法前滚和 identity 污染分流,replacement base/attempt 确定 | | Provider 工具广告 | `apps/ai-game-creator-shell/src-tauri/src/agent_native_tools.rs:279-314`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/tool_policy_snapshot.rs:19-128` | plan native 广告 exact allowlist,MCP 为空 | | 执行 policy | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_tools/policy.rs:52-104,178-255`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/action_execution.rs:78-130` | source-aware 广告/执行双门;action_execution 只保留防御,submit 实际执行必须在普通 dispatch 前被专用分支截获 | | submit sole-action 语义 | `apps/ai-game-creator-shell/src-tauri/src/agent_native_tools.rs:317-470`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/provider_tool_plan.rs:540-594` | 在 action plan/batch identity 持久化前拒绝 mixed submit 或多次 submit | -| Supervisor collaboration | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/provider_tool_plan.rs:540-594,852-914`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/provider_action_batch.rs:342-455,560-606`、`apps/ai-game-creator-shell/src-tauri/src/collaboration.rs:82-124,846-868` | exact plan 跳过 policy/state/preflight、liveness/repair、合同注入与能力重广告 | +| Supervisor collaboration | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/provider_tool_plan.rs:540-594,852-914`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/provider_action_batch.rs:342-455,560-606`、`apps/ai-game-creator-shell/src-tauri/src/collaboration.rs:82-124,846-868` | **2026-08-13 方向反转**:原表述「plan 跳过 collaboration 强制委派」在 D11 下不成立——Supervisor 在做方案链路的主动作恰恰是 `agent.delegate`。现行口径见第 4.3 节:Supervisor 根 run 不再要求跳过预检,但 policy 不得把做方案当 16 任务 DAG 的协作场景编排;**策划子 Agent** 侧 collaboration 完全不适用、`collaborationPolicy` 固定 not-applicable | | provider batch ledger | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/provider_batch_ledger.rs:130-230,319-372,432-464,545-598` | validate/write/recovery 都不得为 plan 绑定或恢复 collaboration snapshot;submit sole action | -| user.input_request / decision checkpoint | `apps/ai-game-creator-shell/src-tauri/src/user_input.rs:21-43,209-307,534-623,765-778,835-898`、`apps/ai-game-creator-shell/src/features/agent-runtime/model.ts:1164-1169`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_driver/interaction.rs:444-548`、`apps/ai-game-creator-shell/src-tauri/src/tool_plan_handoff/model.rs:86-157`、`apps/ai-game-creator-shell/src-tauri/src/tool_plan_handoff/ledger.rs:126-205` | 现役 input 只有 questions;M1 保持 wire 与 answer responseId 兼容合同,plan 额外限制单题/固定选项/32 字符 ID,answer-prepared 后发起只含 strict update_agent_plan 的 checkpoint turn,success handoff 后 session CAS,非 plan 行为不变 | +| user.input_request / decision checkpoint | `apps/ai-game-creator-shell/src-tauri/src/user_input.rs:21-43,209-307,534-623,765-778,835-898`、`apps/ai-game-creator-shell/src/features/agent-runtime/model.ts:1164-1169`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_driver/interaction.rs:444-548`、`apps/ai-game-creator-shell/src-tauri/src/tool_plan_handoff/model.rs:86-157`、`apps/ai-game-creator-shell/src-tauri/src/tool_plan_handoff/ledger.rs:126-205` | 现役 input 只有 questions;M1 保持 wire 与 answer responseId 兼容合同,plan 额外限制单题/固定选项/32 字符 ID,非 plan 行为不变。**2026-08-13 作废后半段**:「answer-prepared 后发起只含 strict `update_agent_plan` 的 checkpoint turn,success handoff 后 session CAS」是 D10「Runtime 直投」机制,D11 下该请求 kind 不存在——问题落 delivery、线性化点是答案绑回 delivery、解释与下一步由 continuation 子 Agent 的第一个普通 tool-plan turn 完成(见第 5.1 节);其专用 handoff 契约随之作废(见第 23.1 节) | | 现役 pending wire | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_driver.rs:26-27`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/provider_action_batch.rs:3-46,219-270`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/pending_confirmation_ledger.rs:290-520` | 保持 `game-creator-pending-action.v5`;M1 另建 planning pending,不升级全局 wire | | submit 等待分支 | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/models.rs:5-21`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_driver/main_loop.rs:2547-2626`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_driver/task_queue.rs:347-408`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/action_projection.rs:3-90` | 参照 user-input special case,在普通 dispatch 前处理 submit,并复用现有 WaitingForUserInput outcome/queue 消费语义 | | JSON sidecar | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/json_sidecar.rs:44-104,122-250` | 现有 writer 可覆盖;不可变文件必须新增 no-replace helper | | 项目锁 | `apps/ai-game-creator-shell/src-tauri/src/project/filesystem.rs:85-138`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/project_gates.rs:1467-1505` | 所有 planning mutation 在同一项目锁内重读事实 | -| completion blocker | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/project_gates.rs:808-860,934-948`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_driver/main_loop.rs:1792-1832` | collaboration blocker 对 exact plan 为不适用;新增 plan GDD 专用完成门 | +| completion blocker | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/project_gates.rs:808-860,934-948`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_driver/main_loop.rs:1792-1832` | **2026-08-13 收窄**:现役 collaboration blocker 对**策划子 Agent**返回不适用;Supervisor 根 run 侧不再整体豁免(见第 4.3 节)。仍需新增 plan GDD 专用完成门,检查提问/审批等待、receipt、observation、session 与 recovery 状态 | | plan retry | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_driver/lifecycle_control.rs:740-772,775-907` | generic standard fallback 前保留 exact plan source/profile/session lineage | | planning hydrate command | `apps/ai-game-creator-shell/src-tauri/src/commands.rs:856-875`、`apps/ai-game-creator-shell/src-tauri/src/main.rs:2178-2180`、`apps/ai-game-creator-shell/src/App.tsx:1550,1650,2957,3364,3702` | 新增单一 hydrate command/注册与前端生命周期调用;不把 runtime polling 当 GDD authority | | agent.db | `apps/ai-game-creator-shell/src-tauri/src/project/agent_db.rs:955-1034,1551-1605,1995-2088` | 普通 append 不满足 decision 幂等;新增专用保留入口 | | 16 任务 DAG | `server-rs/crates/shared-contracts/src/game_creation_app.rs:263-425` | 2026-08-12 复核 seed 仍是 16 个,M0/M1 不改拓扑;但固定 DAG 已不是完成语义的唯一来源,见下一行 | -| standard 路径 owner 产物验证 | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/autonomous_completion.rs:416-441` | 2026-08-12 复核:`autonomous_owner_artifact_validation_available_for_run_at` 四重绑死——owner agent 白名单、`profile == autonomous-game-build`、`source == agent-ready-task-scheduler`、**且要求 `parent_agent_id` 为 Project Supervisor**。standard ready-task 节点无 parent,第 436 行即不通过。做方案链路的 owner 产物验证必须**另建物理独立实现**,不能扩展该函数 | +| standard 路径 owner 产物验证 | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/autonomous_completion.rs:416-441` | 2026-08-12 复核:`autonomous_owner_artifact_validation_available_for_run_at` 四重绑死——owner agent 白名单、`profile == autonomous-game-build`、`source == agent-ready-task-scheduler`、**且要求 `parent_agent_id` 为 Project Supervisor**。standard ready-task 节点无 parent,第 436 行即不通过。做方案链路不能扩展该函数。**2026-08-13 按 D11 收窄结论**:策划 Agent 改为静态委派子 Agent 后,「产物是否交付」这件事已被静态委派内建的 `expectedArtifacts` 校验覆盖(存在性 + 非符号链接 + sha256),不需要再造一套;仍然缺的是**语义级**校验(JSON 可解析、非空、无 incomplete marker、相对 baseline 已变化),而 GDD 的内容正确性本就该由 `plan.submit_gdd` 的 strict schema 在落盘时把关,不由委派产物验证兜底。故本项范围收窄,不是整体另建 | | 问询与直投 | `apps/ai-game-creator-shell/src-tauri/src/user_input.rs:367-394,494-530,595-623,803-807`、`apps/ai-game-creator-shell/src/App.tsx` 的 `handleProjectSupervisorUserInput`、`apps/ai-game-creator-shell/src/project/conversation.rs:42` | 2026-08-12 复核:`validate_user_input_action_owner` 拒绝任何带 parent 的 run;会话文件按 `agentId` 分目录,消息归属完全由 pending owner 决定;一份 record 已经两路投影(会话消息 + observation)且有「observation 重算冲突」校验。直投只需让两路投影分别落到 Supervisor 与策划节点,**前端可直接复用现有 Supervisor 问答通道**。**2026-08-13 补记:本行「直投」是 D9/D10 旧机制记录,已被 D11 取代**(见第 1.1 节「D11 新拓扑」)——D11 不新造直投,改为复用 PR #165 已实现的 `AGC_NEEDS_USER_INPUT_V1` 终态信封 + Supervisor 中转链路;本行列出的 `validate_user_input_action_owner` 等机械证据本身仍成立,「前端复用现有问答通道」这一结论方向也不受影响,只是不再由「直投」这个已作废的机制名承载,本行未随批二重写,读者以第 1.1 节为准 | -| Goal Contract / Acceptance Graph | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/goal_contract.rs`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/acceptance_graph.rs`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/tool_policy_snapshot.rs`(`agent_runtime_acceptance_evidence_tools`)、`apps/ai-game-creator-shell/src-tauri/prompts/runtime/supervisor/game-chat-routing.md` | 2026-08-11 合入。可信根 Supervisor 必须先冻结 Goal Contract 才能路由,验收图未确认则完成门 blocked;合同按 `.agent/runtime/goal-contracts/{rootAgent}/{rootRun}.json` 分 root run 存放并绑定 binding fingerprint 与 source SHA-256。M1 见第 23.1 节待裁决项,M2 见第 16.1/16.2 节,M3 见第 17 节 | +| Goal Contract / Acceptance Graph | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/goal_contract.rs`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/acceptance_graph.rs`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/tool_policy_snapshot.rs`(`agent_runtime_acceptance_evidence_tools`)、`apps/ai-game-creator-shell/src-tauri/prompts/runtime/supervisor/game-chat-routing.md` | 2026-08-11 合入。可信根 Supervisor 必须先冻结 Goal Contract 才能路由,验收图未确认则完成门 blocked;合同按 `.agent/runtime/goal-contracts/{rootAgent}/{rootRun}.json` 分 root run 存放并绑定 binding fingerprint 与 source SHA-256。M1 的待裁决项已于 **2026-08-13 全部关闭**(见第 23.1 节:plan source 进可信 matcher;验收图取自固定 Fast GDD 合格标准;plan 根 run 不允许 steer;checkpoint handoff 随 D10 作废)。M2 见第 16.1/16.2 节,M3 见第 17 节 | | design-director 现状 | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/autonomous_completion.rs:70-85`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_driver/task_start.rs:1480-1506` | mutation owner 清单不含 design-director,因此当前落入只读协调 Prompt;M2 才确定性化 | | scheduler delivery | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_tools/delivery.rs:171-185` | 下游不能依赖普通 durable delivery,必须读权威文件/ref | | owner 产物验证 | `apps/ai-game-creator-shell/src-tauri/src/agent/runtime_protocol/autonomous_completion.rs`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_actions/project_gates.rs`、`apps/ai-game-creator-shell/src-tauri/src/agent/runtime_tools/file_ops.rs` | M0-3 / M0A-2 让四个 pre-code fixed owner 复用 canonical 路径映射,由 Runtime 内部验固定产物;Provider 不见验证工具,code / preview 节点继续真实 smoke | @@ -1739,7 +1744,7 @@ D9 之后,root 是未变的 Project Supervisor,它在 `standard` 下天然 2. 验收 `requiredEvidence` 锚定 `game/fast_gdd.md` 配 `tool:file.read`;`.agent/planning/**` 的写保护必须用只挡写的独立判据,不得加入 `reject_agent_runtime_private_control_path`。 3. Supervisor 取证必须在 GDD 落盘之后。 -**仍然保留的 M1 入口前置决策**: +**M1 入口前置决策(2026-08-13 起全部关闭,以下逐条保留处置记录)**: - ~~**checkpoint handoff 私有持久化**~~——**2026-08-13 随 D10 一并作废,无需裁决。** 本项待的是「`plan-decision-checkpoint` 这份 Provider 响应的专用 handoff schema / path / requestSlot / ledger 排序语义」。该请求 kind 是 D10「Runtime 直投」的组成部分——策划节点持续存活于同一 run,用户回答后 Runtime 在**同一 run** 内再发一次专用请求让 Agent 形成设计解释,那份响应需要自己的持久化契约。D11 下策划子 Agent 是**以终态信封退出**来提问的,该 run 随即结束,解释与下一步由 continuation 子 Agent 的**第一个普通 tool-plan turn** 完成(见第 5.1 节),专用请求 kind 不复存在,它的专用 handoff 自然也不需要。 @@ -1798,7 +1803,7 @@ M0 收口时的三项已知残留,均已定性且不阻塞后续阶段: - 第 23.3 节记录的 manifest 新鲜度残余风险,只记录不实现,回归用例中的断言即裁决锚点。 - `set_task_status` 无秩序守卫的无条件覆盖,属 master 既有问题,另行提 issue,不在 M0 范围内修。 -- 第 23.1 节的 M1 入口前置决策:**2026-08-13 后只剩 checkpoint handoff 私有持久化一项待裁决**(「plan source 与 Goal Contract 协议的关系」已裁决为进可信 matcher,「plan run 是否允许 steer」已裁决为不允许)。它是 M1 的合入门,不是 M0 的完成门。 +- 第 23.1 节的 M1 入口前置决策:**2026-08-13 起为空**。三项当日全部关闭——「plan source 与 Goal Contract 协议的关系」裁决为进可信 matcher;「plan run 是否允许 steer」裁决为不允许;「checkpoint handoff 私有持久化」随 D10 一并作废、无需裁决。M1 不再有未决的合入前置决策。 M0 完成不表示任何策划功能已上线。M1 的功能实现仍未开始,第 19 节第 2 条等 plan source 不变量目前只是设计意图。