修复M1策划链路可靠性
阻止人工核对中的策划根写入审批回执 在投影恢复前校验项目身份并使用唯一项目ID 增加策划能力停用门禁与既有sidecar只读行为 拒绝非法plan与自主构建档位组合并收紧消费者 补齐前后端回归测试与M1技术决策记录
This commit is contained in:
@@ -1,5 +1,13 @@
|
||||
# 决策记录
|
||||
|
||||
## 2026-08-19 M1 审查后四项可靠性修复
|
||||
|
||||
- **审批 stale 收口**:`status` 或 `phase` 为 `needs-reconciliation` 的策划根不再满足审批所需的 active 身份;审批命令返回 `PLAN_STALE_APPROVAL`,并且不得创建 approval receipt。
|
||||
- **项目身份先验**:所有手动新建、首页新建、game-chat 新建与 Godot 导入都生成独立 `local-project-<uuid>`;hydrate 在同一把项目锁内用只读 session 读取 GDD、receipt、pending、session 的 projectId,任一与 manifest 不符即返回 `PLAN_PROJECT_ID_MISMATCH`,不提升 session previous,也不改 index、Markdown 或 audit。
|
||||
- **rollout capability**:AppData 配置增加 `planning.capabilityEnabled`,默认 `true`。关闭后拒绝新的 plan 根 run、`plan.submit_gdd`、approval pending 和 decision mutation;hydrate 仅返回已有 sidecar 的只读视图,不执行恢复写入。
|
||||
- **profile/source 边界**:durable run-profile binding 集中拒绝 `project-supervisor-plan + autonomous-game-build`;自主构建的 scheduler 与 completion consumer 使用不含 plan 的精确 source matcher,普通 plan `standard` 仍属于通用 trusted matcher。
|
||||
- **边界**:不新增既有项目首次进入策划入口;不改做游戏、做素材路径。回归覆盖 capability、stale receipt、错项目 sidecar 写前失败、非法 binding 不落盘与新项目 ID 形状。
|
||||
|
||||
## 2026-08-19 更正 M1D-2 首页入口映射
|
||||
|
||||
- **更正**:`bf2185fba` 把“做游戏”误接为 `standard + project-supervisor-plan`,并额外增加“直接开建”按钮;这与既有产品决定“做方案入口独立成链,不动做游戏路径”冲突。
|
||||
|
||||
@@ -1691,7 +1691,7 @@ Canvas 是条件外部能力,不是 M0-3 四个固定 owner 的通用前置:
|
||||
## 20. rollout、停用与回滚
|
||||
|
||||
- M1 以 AppData/Runtime capability 开关启用,不把 feature flag 写进用户项目。
|
||||
- 开关关闭时不创建新 plan run、不接受新的 submit/decision mutation;已有 sidecar 只读保留,“直接开建”保持现状。
|
||||
- 开关字段为 AppData 配置中的 `planning.capabilityEnabled`,默认 `true`;关闭时不创建新 plan run、不接受新的 submit/decision mutation,也不执行 approval pending、session/index/Markdown/audit 的恢复写入。已有 sidecar 仅以只读 hydrate 视图保留,“直接开建”保持现状。
|
||||
- 重新开启后从同一 gddId、版本、receipt 和 session chain 恢复,不重置版本。
|
||||
- unknown/newer schema 只读失败,不由旧客户端降级覆盖。
|
||||
- 任意冲突只前滚修复;禁止自动删除 planning 目录、重编号 GDD、改指纹、覆盖回执或抹去用户 comment。
|
||||
|
||||
Reference in New Issue
Block a user