文档:更新 M1 计划中已过时的内容
Project CI / Repository checks (pull_request) Failing after 1m4s
Project CI / Frontend tests (pull_request) Successful in 3m0s
Project CI / Backend tests (pull_request) Successful in 4m4s
Project CI / Native shell tests (pull_request) Failing after 10m51s

第 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 <noreply@anthropic.com>
This commit is contained in:
2026-08-13 08:49:41 +00:00
parent fd61486525
commit e5bc593afc
@@ -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.38.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 structbinding required superseded ID 数组与 session superseded handoff 摘要的 0/1/16/17 边界及逐项映射;unknown field/schema/enumAgent 注入 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-chatM1 新增 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` | 新增 supervisorPlanChatSupervisorPlanChat |
| 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 bindingv3 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 allowlistMCP 为空 |
| 执行 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 snapshotsubmit 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 只有 questionsM1 保持 wire 与 answer responseId 兼容合同,plan 额外限制单题/固定选项/32 字符 IDanswer-prepared 后发起只含 strict update_agent_plan 的 checkpoint turnsuccess 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 只有 questionsM1 保持 wire 与 answer responseId 兼容合同,plan 额外限制单题/固定选项/32 字符 ID,非 plan 行为不变。**2026-08-13 作废后半段**:「answer-prepared 后发起只含 strict `update_agent_plan` 的 checkpoint turnsuccess 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 不允许 steercheckpoint 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 不变量目前只是设计意图。