games-development-ai/docs/mvp/MVP进度总账.md
lili cbfd4d871b
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
feat(acceptance): 闭合 playtest v3 与 A+ 可信消费链
固化 Match-3 生产者、视觉、音频与双 Judge 证据闭包。

将《山海行纪》r1.1 绑定新的不可变 release,并以生产预检现场核验 bundle、Registry/2 和 25 项 Writer 快照。

同步地图1平衡锁值、跨游戏回归修复、验收契约与 SoT 证据。
2026-07-28 20:16:13 -07:00

222 lines
57 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
date: 2026-07-22
topic: 模块进度总账
canonical: true
---
# 绘境AI MVP 进度总账(单一事实源 / Single Source of Truth
> **本文件是项目管理唯一活账**:把「计划 ↔ 完成 ↔ 待办 ↔ 执行记录」对在一起。
> **铁律**:每次波次收口、每次里程碑状态变化,**必须按 [`wave-close-checklist`](../../.agents/skills/wave-close-checklist.md) 八步收口**,否则视为未收口。
> 计划权威来源:[`可行性方案16周-波次映射.md`](./可行性方案16周-波次映射.md)(项目上线主计划 SoT+ [`.agents/knowledge/mvp-scope-and-milestones.md`](../../.agents/knowledge/mvp-scope-and-milestones.md)55 P0 / 137 技术项 / M0-M5 明细)+ [mvp-execution-spec](../superpowers/specs/mvp-execution-spec-design.md)(产品验收来源 + 冲刺视图)。
> 维护:主 agent 最近更新:**2026-07-22**(四类可复用校准/参照资产与 GameContentGold/1 两阶段契约已拍定;五款 `gold-m3-*` 明确降为 harness fixture。`ReferenceAssetRegistry/1` 与 live cheap/tier2 prompt 尚未接线,正式 `game_content_gold` 仍为 0当前 Actor/Judge 稳定门、`Match3RollInteractionAudit/2`、`SingleRollProof/3`、完整总门、三批基线、staging RC 与 Wave0 均未完成,生产 `runtimeEligible=false`M5 仍未达成。)
---
## 0. 一句话现状(诚实口径)
**项目处于 16 周上线主计划 W7 前段,仍在阶段二后半补课窗口;原 7 月中旬内测目标已逾期尚未正式重排。Judge `3.0.4` 固定 PromptEval fixture 专项历史通过,确定性 Match-3 fixture 与五款 fixture 的视觉/特效和完整 AudioAudit 专项机器证据已收口;当前 Actor/Judge `3.0.13` 三轮建线、第四轮确认与真实生成集成 baseline 未闭合。五款只证明 harness 能力,不是游戏金标;正式 `game_content_gold` 为 0`ReferenceAssetRegistry/1` 与内容前置 live prompt 也未接线。生产仍只允许 `off/shadow`Audit/2、Proof/3、完整总门、fresh 25、historical 11、production shadow 20、staging RC、种子账号与 Wave0 均未完成发布保持冻结。M5 仍未达成。**
-**M0 契约锁定 + M1 全栈可启动** 已达成单体真启动、Flyway V1-V9 全绿、admin/app-api 200staging 在 mini-desktop 在线)。
- 🟡 已建 **11/13** 个 game 模块脊柱R2 已补积分充值 P0 骨架,**结构覆盖达到 55/55**,但 pay 原生模块仍未接单体、真实支付收单仍受商户进件闸门约束。老 9 模块**大多骨架+桩****Wave4 community/biz 核心真实**(通知底座+lead form 状态机staging 两链路实测)。
- 🟢 **生成链路(M2) + 发布链(M3) + 数据回路种子(M5) 已 e2e 真实**M2UI 一句话→18-27s 可玩游戏、成功率 80%B1 发布编排跨 4 表B2 遥测→quality_score→feed 重排+幂等)。**⚠️ 模板口径更新2026-06-17HJ-DEMO-AUDIT-001 C6**M-c 历史达成四模板clicker/merge/idle/tycoon生成=真里程碑,但 **W-CLEAN 已清旧 4 模板 + 存量数据**`aigc/template/list` 现空=设计态非回归);**06-17 generic 桥接 `7534bdf9` 接棒**——一句话无需选模板即走 generic 生成路(拆模板门、入口归一缺省 `templateId=generic`**generic 真出可玩仍挂 W-G1 开闸验收门**,勿读成"四模板现可玩"。
- 🟢🆕 **便宜档生成线 Node 退役 go-live切片一 M3,2026-06-28**live :48080 已退 Node/gamedef、上 Python(AgentScope)路(`dispatcher=http`→worker:9501 + trace9d trace parity 救活后端 D11真后端三值判别 28/45/100、D9 dedup paritycommit d00938cc/16112827/7f8a418c(dev/2.0.0)。**⚠️ 但 M3「≥80% 生产真实分布达标」未到**——便宜档生成质量未到 ≥80%U4 那条 live 路真 gen 实测没过九门),归质量轨 **WU-B/C/F**;对外开闸 6门放量待放行决策。**消歧:此 M3=切片一(生成线)M3,≠ §1 表「M3 分发链路」(发布/feed)。**
- 🟢🆕 **生成线三切片对账2026-07-02 回填,快照 SoT = plan① §2**:切片一 M1 lab 达标 ✅ + M2 授权 ✅(丰富两步落地,bake-off-M1-rich 三品类各 5/5,M3 剩对外开闸放量 + 生产 ≥80% 复验([cutover plan](../plans/2026-06-30-便宜档M3-生产cutover-plan.md) 已批准待执行窗口);**切片二收敛环已跑 → go/no-go = conditional**M3 自调「赢的条件/经济平衡」不稳 = agent 层瓶颈,非工具层;剩 verdict 反馈改进 / 干净复跑 / 强档对照 / 平衡门重审,工单在 runbook;切片三 A11 代码全完成待计费 e2e;基建线阶段〇+一①Nacos/RocketMQ/Sentinel + 护城河 middleware已 push,阶段一② 待终评审。
- 🟢🆕 **cutover 证据链全收口 + F-2/F-3 真跑窗2026-07-04,fable 全自主窗)**:切片一 M3 = **S0S6 证据侧全齐**(S2 四腿/S4 产线七项/S5b lab 三品类收敛局 4/4 达标/回滚演练零成本全循环/**S6 五种拒绝行为负例真机双证+六门证据表**,全在 cutover plan §9;**当时口径把放行 + S5a 种子内测列为创始人决策⑤;现已由 W-AXIS-V3 校准闸门覆盖,不能按旧证据直接放行**);A11 计费 e2e 收官 = 决策包④ 兑现;live 拓扑恢复(worker:9501+Service:8300,ws-builtin+planning-team 双工具面补丁生产首载)。切片二 = **F-2 干净复跑真执行**(r1 3/5 设计超时族集中→修 420s;r2 中止改阈值批;r3 3/5 + 揪出 `max_iters` 双源默认值影蔽[writer 实仍 40,修 `7c379266`];r4 writer 真 60 在跑)+ **F-3 强档对照完成**(glm-5.2 独立台账 3/5:同率不同谱、收敛 26-31 步自然 finish 快 3×、单价 2-3×、**糖水店两档同败 = 题面/门侧工艺非模型天花板,R3_ceiling 不成立**);**收敛环残余工单五路全落**(c 软停 finish 逼近升压/f+i bake_off fail-fast+打印幂等/h Service 工具面关 Planning·Team·Schedule/j studio 透传扩 1003+1006/k 台账 infra_flags 编排层归因,全 fable 亲审后合入);经营金标正例 `bake-shop-serve-1` 固化入仓(12 条口径 n=3 中位 10/12,对骨架 4/11 分离 5-6 分)。**go/no-go 终判已出(同日):r4(writer 真 60)= 4/5 收敛、`decide_n5` 出口 KEEP_留观、fable 判 go**——糖水店顽固户 17 步全场最快过门(当初是预算墙非骨架缺口,r3 时点 R2_补骨架被推翻)、全场自然 finish ¥0.33-0.50;留观件=水果(三轮三模式抖动,归品类微调/F-4);Δ3 梯子=M3 保持中档默认、glm-5.2 记升档选项不换档。**切片二收敛环就此收口**(全依据=runbook「F-2 执行记录」)。
- ⚪🆕 **W-AXIS-V2 历史换轴2026-07-10**:波 0 `8edb0ffa`、波 1 `5bcaf6ac`、波 2 `8d851ea7` 留作历史实现记录;旧 E/G/H 取证契约已退出便宜档验收链。旧工作区 `cheap-worker/results/wax2-baseline.jsonl` 只有 narrative r1/r2 两行 v2 accepted且 accepted 与旧 `failureLayer/failureReason` 同存;两局缺少 V3 关联 ID不再继续作为现行基线也不构成 ≥80% 结论。
- 🟡🆕 **W-AXIS-V3 工作区实现(更新至 2026-07-16**:现行协议为 `playtest/3``playtest/2` 冻结只读。普通玩法沿用 `VisualTargetSet/1 + ActorSelection/1 + ActorView/3`Match-3 已接 `ActorView/4 + ActorSelection/2`、规则候选、双 tap ActionGroup、BoardIdentity、一次 repeat-first reset 与 roll audit。post-first perception audit 的原始 ref/hash、两帧身份、首击格、完整配置、固定 classifier、helper path/args/退出状态/stdout hash、Projection 原始片段、双跑摘要和 support mask 已进入 BoardIdentity 重算闭包helper 的三个物理输入路径必须再与 runner 独立传入的实际路径一致,离线门固定 canonical overlay config hashbundle 再从两张 PNG 独立复算像素差、透明度扩散与不透明像素比例。当前全部 `_shared` Node 回归 `195/195`,契约正样本 `95/95` + 负样本 `211/211`;这些只证明工程边界,不计入生成成功率。
- 🟡🆕 **W-AXIS-V3 Match-3 确定性 fixture 专项门 4/42026-07-16**`attempt-019-transcript-pixel-proof` 四轮均首尝试输出合法 `ActorSelection/2`,恰好执行双 tapBoardIdentity=`equivalent`、无 reset第二击连续发出同 `moveId` 的两类 proof 事件,专项 proof=`satisfied`;四轮归一化均为 `normalized`changedPixelCount=472、outside=0八次 helper transcript 和同轮 Projection 原始片段均可复算,原始 audit hash 与磁盘字节逐轮相符;总成本 ¥0.41837。全套 `_shared` Node `195/195`、视觉 Python `39/39`、契约正 `95/95` / 负 `211/211`。这不是生成成功率:五款 `gold-m3-*` 已归 `harness_fixture`,正式 game_content_gold 仍为 0完整总门、fresh 25、historical 11、production shadow 20 与基于内容金标的人工抽查均未开始,生产 `runtimeEligible=false` 不变。
- 🟡🆕 **W-AXIS-V3 五款 Match-3 动作与消除特效专项样本2026-07-18**gem、candy、porcelain、fruit、rune 已统一接入受保护的 `match3VisualTimeline@1.2.0`,业务同步结算、视觉回放、局部特效和 host-only transition 账分离。真实 Chromium filmstrip 显示五款有效交换均按 `swap → match_hold → clear → fall_refill → settle/idle` 推进clear 期间每款可信 host probe 均报告三个 effectId、三个亮核、三个扩散环和 24 枚碎片renderSeq 连续增加,离开 clear 后 activeEffectCount 归零。无效交换全程 effectCount=0最终棋盘与交换前相同、分数不变、成功事件为零match_hold 中第三次真实点击前后棋盘、分数、步数、事件、effect probe 与 receipt 均不变。Gem 同轮删除了会把旧引擎粒子错画到 HUD 的 `juice.burst` 历史残留Candy 保留此前重力顺序修复。证据位于五款 staged 目录的 `evidence/animation-filmstrip-valid``animation-filmstrip-invalid``animation-lock-probe`,总览见 `game-runtime/evidence/match3-clear-effects-contact-sheet.png`。这只是动作与局部特效专项样本;生产 runner 的 `Match3EffectAudit/1`、完整目标、通关、重玩、长期手感与 Judge 稳定门仍待闭合,生产 `runtimeEligible=false` 不变。
- 🟡🆕 **W-AXIS-V3 五款 Match-3 音频专项机器证据(更新至 2026-07-20**`Match3AudioAudit/1` 已补全 limiter 后采样窗口、BGM 原始字节与 runtime 节点身份、source/node/auditTap、transition/cue 引用和逐 cue onset 终态;读口幂等,滚动淘汰保持引用闭包。原混音未按真实 PCM 约束 BGM 与 cue 层级,校准前固定场景仅 18/214 cue onset detected调整导演 layer gain、五主题 SFX 与 BGM 增益后,`Match3AudioMixBalance/1` 的 45/45 独立配方峰值差落在 9.2213.99dB,原有 BPM、能量、频谱、接缝、削波和 limiter 门保持通过。最终固定 Chrome 场景 10/10应发声 transition receipt 266/266、终局 onset 10/10、事务 onset 110/110有效/无效 filmstrip 各 5/5静音归零、恢复非零和单一 BGM source 均闭合。生产 runner 已通过 trusted bridge 读取 AudioAudit并在每个 completed group 后立即以 120ms 无输入量子 drain 到 settle/onset 完成、按组封存 sidecar新业务事件或旧目录复用均 fail-closed。当前 `Match3RollInteractionAudit/2``SingleRollProof/3` 仍禁止签发combined BGM+cue 共享 limiter 测量为 P1人工两分钟有声试玩、重玩体验和 4/5 盲听仍是 fixture 体验复核,不构成内容金标签认。生产 `runtimeEligible=false` 不变。
- 🟡🆕 **AudioAudit production-style 单轮实证2026-07-20**Gem 真实 Actor 首轮成功以两次动作产生三条业务事件specialty gate 通过;单轮耗时 68.09 秒、费用 ¥0.11172。按组 sidecar 经正式契约校验通过,共 81 个窗口、3/3 cue onset detected、pending=0原始字节 hash 为 `e5a7fe5dd83a66d12b490a85955a8b3470ec27b2ac4581242f90f14d64f53a24`。Judge 因其它默认 proof 缺失为 `inconclusive/proof_missing`,因此这只证明专项 sidecar 的真实 runner 路径不构成整掷通过Audit/2 与 Proof/3 仍不签发。
- 🟡🆕 **种子内测发布准备2026-07-15**commit-pinned staging RC 激活、种子账号预配、Nacos 配置事务、存储审计与 MySQL dump 隔离恢复脚本均已通过对应 shell 测试和独立检查;这只证明发布工具可用。尚未真实部署 RC、写入 Nacos 或创建种子账号staging 真浏览器验收与 Wave0 也未启动。当前配额 `CLAIMED=2``FREE=48`;按 40 名内测用户加 12 名预留计算,还须补建 `neice_051``neice_054` 四个账号。首个 RC 也没有上一版 commit-pinned RC 可供回滚,不能把脚本通过写成已具备完整回滚实证。
- 🟢 **M4 变现链路(④ mock 可切真)**ad/trade **业务逻辑已真实落地**AdRevenueServiceImpl uk_trace 幂等 / SettlementServiceImpl uk_source 逐笔入账 / WithdrawServiceImpl 冻结+CAS 审核状态机);本波做真=打款异步状态机(回调驱动 CAS 幂等)+ PayoutClientFactory fail-fast + reward 现金到账recordIncome TIP+ 广告回调验签 + 创作者收益端点;**87 单测全绿ad 24/trade 41/community 22+ staging mock e2e 门真跑广告→结算→提现→mock 打款回调 1→24 条对账断言全 HOLD**。**真广告联盟/真支付受日历闸门=mock gated非真变现**。
- ❌ 按真正验收线「**55/55 P0 产品功能可验证 + 生成成功率≥80%**」衡量,**真实可验收的 P0 仍少**。剩余大头——**真广告联盟+真 pay 接线受日历闸门 / 前端接线admin+studio 接 staging5 链路端到端,真机走查 G1/G2/G3 合并点待做)**Wave4 community+biz 已建成集成 ✅telemetry MQ 异步化已完成,**数据回路(M5)** 仍待现行主链真机复验与内测指标闭环;**真正上线约束=不可压缩日历闸门**ICP/支付/广告/实名,见 §5
> 换算:**结构骨架 ≈ 70%,真实产品功能验收 ≈ 早期(个位数 P0 端到端可验证)**。两者勿混淆——这正是过去"波次跑完=进度推进"的认知偏差所在。
---
## 1. 里程碑账M0-M5计划 vs 实际)
| 里程碑 | 计划日 | 状态 | 证据 / 差距 | 执行记录 |
|---|---|---|---|---|
| **M0 契约锁定** | 6/9 上午 | ✅ **达成** | 9 个 API yaml + DB V1-V9 + sdk-interface/game-package/events/dify-workflow/ad-slot = 8 类契约入库 | `c4e2d73` 起 |
| **M1 全栈可启动** | 6/11(Day3) | ✅ **达成6/9 提前)** | 单体 `Started HuijingServerApplication`Flyway V1-V9 全 success24 张 game_* 表admin-api `/system/user/page`→20 真实用户、app-api `/feed/stream`→200 | 启动修复 `d7fac90`+`8565fa2` |
| **M2 创作链路(真 LLM** | 6/18(Day8) | 🟢 **生成链路贯通6/9~11→ generic 桥接接棒6/17→ 🆕 便宜档 Node 退役 go-live切片一 M3·6/28** | batch-001 成功率 **80.0%**(达标口径)+ M-b 薄轮询执行器上线UI 一句话→18-27s 可玩游戏);**历史**:模板 1→4clicker/merge/idle/tycoonM-c 批①②);**⚠️ 现行2026-06-17**:旧 4 模板已随 **W-CLEAN** 清除+存量数据清(`template/list` 空=设计态),**generic 桥接 `7534bdf9`** 接棒(一句话无需选模板走 generic 生成路);**仍待**generic 真出可玩端到端过 W-G1 开闸验收门 + A4 大样本盲评;**🆕 SAA 真全图 e2e 首证2026-06-18,`SaaFullGraphE2eTest` `bf99662c`**Java 编排路(16 节点真 LLM+真九门 harness+真出口回调)机制完整跑通、**零 prod bug**,但**成功率 3/5=60% < 80%**贪吃蛇/接金币/躲障碍过,打砖块败 I_control点击消除败 F_wiring+H_progress,救场阶梯耗尽 giveup 真落盘;单款 3.5-16min)→ **worker 转 SAA 默认产线(U7)按门未切,现 worker 主链保持默认(零回归)**;gap=难门生成质量(W-G1 调优域);**🆕🎯 gameDefinition 中间表示双证成立(2026-06-18)**:深度评审揪出现 SAA 仍产 iife 空壳(gameDefinition 未真填)→创始人 2026-06-20 **终态产物=`src/` 多文件源项目(改源不改包·结构化)、SAA 独家本 session 开发**;**① spike 证便宜模型产连贯 gameDefinition 92-100%/¥0.011 build段证 gameDefinitionbuild-from-source真过九门(deepseek-v4-flash 满分 3/4 ,截图实证)**——证明的是便宜模型能可靠产连贯 gameDefinition 中间表示且能 build-from-source 过九门这件**真实但有限**的事,**不等于** src/ 终态产物已落地;**口径(精确)**:`gameDefinition`(声明式 JSON 中间表示)**终态产物的设计已弃用**、降为**通往 src/ 的中间脚手架/**(当前实现仍用 JSON 内嵌 JS + `new Function` =已知偏离终态的债,**绝非已移除/已删除**,代码仍在跑),迁移在 plan `2026-06-18-001` U1U4 在飞;产出运行时约定 v0+build-from-source PoC;接法A(16 节点 studio 七成已建)是接法B 躯干。**🆕 终局(2026-06-21)**:gamedef 2026-06-20 对抗裁决揭穿表达力天花板2026-06-21 创始人判为错误路线并删除(设计文档+代码全清),生成现行已切 **A-model**——LLM 直接写真 `src/` 多文件并调插件,不再经声明式 JSON 中间表示与 `new Function` 解释(无双轨无 cutover)。**🆕 框架收敛(2026-06-25)**:生成框架统一收敛到 **AgentScope**,三档按 AI 参与深度分(Tier0/1/2,全高度模板化),引擎随复杂度在 LittleJS / Phaser 间选;**SAA / dify / coze 降为最低优先级**,留作远期可插拔适配的验证目标。**tier2 富游戏档**(合成/经营/挂机等多系统富游戏,Phaser + 三层校验)**0 spike accept核心已落**(细节见运行时 SoT `docs/architecture/架构/生成引擎/agentic运行时架构图说.md` §4.25),验证按 n=5 收敛环走。**🆕 便宜档切片一 M1-M3 + Node 退役 go-live(2026-06-2528)**:便宜档生成核心 Node/SAA-Java 整条重写进 AgentScope(`cheap-worker/`,WU-A 框架等价坐实);M3a 退役机制(全局 dispatcher flag 翻转非灰度)+ M3b **9d trace 七项 parity 救活后端 D11**( worker 后只产 trace.costD11 三维恒中性退化双峰 45/55;补齐七项[`repairs=max(0,attempts-1)`/`gatespec.driver` 键名/`H_progress` 嵌套]**真后端三值判别 28/45/100**)+ D9 dedup parity(vendor);**✅ 生产 cutover(2026-06-28,创始人同意切」)**:live :48080 6-21 gamedef jar 端口精确换成 M3 jar(dev/2.0.0)+ `dispatcher=http`worker:9501 + trace,boot 日志dispatcher=http=WorkerDispatchClient」坐实 **Node/gamedef 旧路在 live 退役、Python 路上 live**,拆 iso 避双 executor split-brain。**⚠ 诚实 gate(勿读成 M3 全达标)**:切片一-M3 「≥80% 生产真实分布达标复验」**未到**——便宜档生成质量未到 80%(U4 那条 live 路真 gen 实测没过九门卡菜单),归质量轨 **WU-B/C/F**;对外开闸 6门放量(control-plane)创始人定后单独开。**消歧:此 M3=切片一(生成线)M3,≠ 本表M3 分发链路」(发布/feed)。** | spike `2026-06-09-generation-spike/`·M-b `42d3237`·M-c `b1fa30d→26319b3`·generic `7534bdf9`·SAA-e2e `bf99662c`·中间表示双证 plan `2026-06-18-001`·tier2 富游戏设计(并入运行时 SoT §4.25) `docs/architecture/架构/生成引擎/agentic运行时架构图说.md` |
| **M3 分发链路** | 6/20(Day10) | 🟢 **发布链+数据回路+真人试玩 全 e2e 真实(6/9)** | **B1**submit锁风门APPROVE发布编排跨4表feed 可见。**B2 数据回路**(curl)A(q28)/B(q88)→事件quality→**feed重排**→重放幂等。**B2 真人试玩**(浏览器实玩)feed真标题Canvas clicker 真玩通关game_play_end(completed)→quality 060→**feed 翻转登顶**逮修 4 bug编码/布局/兜底/completed)。**仍待**真实编译打包(M2 runtime产物)+真实分享落地 | `…ab0037c→d279898` |
| **M4 变现链路** | 6/23(Day11) | 🟢 **mock 可切真** | ad/trade **业务逻辑已真实落地**AdRevenueServiceImpl uk_trace 幂等 / SettlementServiceImpl uk_source 逐笔入账 / WithdrawServiceImpl 冻结+CAS 状态机本波=打款异步回调 CAS+PayoutClientFactory fail-fast+reward 到账+广告验签+创作者收益端点**87 单测绿+staging mock e2e 广告结算提现mock 打款回调 124 对账断言 HOLD**pay 模块未接单体**真广告联盟/真支付受日历闸门=mock gated** | `43fce85`(骨架`e3be456d`(G1 本波) |
| **M5 MVP 交付** | 6/27(Day15) | **未达成** | 55/55 P0 已补齐结构覆盖但不等于真实可验收W-AXIS-V3 固定 PromptEval fixture 专项确定性 fixture 门和五款专项机器样本已完成但当前 Actor/Judge `3.0.13` 稳定门与真实集成 baseline 未闭合生产 `enforce` 未开始五款 `gold-m3-*` 已降为 harness fixture正式 game_content_gold 0fresh 25historical 11production shadow 20 和基于内容金标的人工抽查仍未完成staging RC账号创建五链路与 Wave0 也未执行真广告/真支付仍受人侧闸门约束首屏 P7599.5% 可用性真实留存和 P0 Bug=0 均无完整验收结论 | [W-AXIS-V3 设计](../agent-specs/2026-07-13-生成线验收v3-可信证据闭环-设计.md) |
---
**M2 现行补充2026-07-13 回填)**历史 80% 只代表当时口径不代表现行验收口径已经达标V2 工作区的 narrative 2 局缺少 V3 所需的跨步关联 ID只能作历史对照不能计入 fresh 25historical 11 production shadow 20三批均未完成当前没有新成功率结论
## 2. 模块建设矩阵13 个 game 模块)
> 真实度图例:✅真实可用 🟡骨架+桩(可编译/单测/启动,逻辑桩) ❌未建 ◻特殊(原生/seam
| 模块 | owner P0 | 结构 | 单测文件 | 契约 | Flyway | 接单体 | 真实度关键说明 | 执行记录 |
|---|---|---|---|---|---|---|---|---|
| **project** | 5 | 成熟 | 1(15 ) | project.yaml | V1 | | 状态机/归属/审核/发布门禁/CRUD **真实**本模块最成熟。**🆕 plan002 P-OPN-08 创作者公开聚合 API`8238bf2d`后端单测绿 project 32**`GET /app-api/project/public/creator/{id}` @PermitAll· status==4 已发布作品·按目标 creatorId路径参非登录人·RespVO 裁剪无 PII**对抗评审 SHIP0 P0/0 P1P2 软降级整改**。前端配套=创作者公开主页(见 studio U9 第三新页 | `c4e2d73`·`096020f`·`6c8844f`·plan002`8238bf2d` |
| **aigc** | 3 | 🟡 | 1 | aigc.yaml | V2 | | 任务态+seam**Dify 真实生成=桩**。**🆕 plan002 Tier-1 品类玩法模板注册后端 minimal-real`feat/tier1-breadth-backend`单测绿**5 品类business-sim/narrative/puzzle/trpg/heritage**constants-only 注册****U7 品类引导生成质量需 gen+九门 harness 实证=待验证/open勿读成"品类可玩"**。**🆕 plan002 前端 U8 创作链`8238bf2d`**创作引导 / 生成失败·超时就地 toast 可重试 + mock 失败注入 aigc 生成流前端口径=build 绿 + mock 功能 + 代码评审真验=待验证/open详见 studio | `c4e2d73`·plan002`feat/tier1-breadth-backend`·`8238bf2d` |
| **runtime** | 3 | 🟡 | 4 | runtime.yaml | V3 | | build/session/package DO**真实编译打包=桩** | `c4e2d73`·`2ae0c6f` |
| **feed** | 13 | 🟡 | 1 | feed.yaml | V4 | | stream/zones 结构(curl 200)**quality_score 排序=真实(B2 回灌 e2e)**真实互动/分享=桩;卡片 title/cover 回填=null(待修)。**🆕 plan002 Tier-1 admin 限曝光后端 minimal-real`feat/tier1-breadth-backend`单测绿**feed rank `exposure_limit`admin 限曝光**集成/e2e(mini-desktop) 待验证/open**。**🆕 plan002 缺口P-ACC-03**feed 卡尚无 `ageRating` 字段详情/我的项目/创作者主页/play 前端已渲徽标 feed 卡缺=** feed.yaml additive **additive 非回归 | `c4e2d73`·B2·plan002`feat/tier1-breadth-backend` |
| **telemetry** | 1 | 🟡 | 3 | telemetry.yaml | V5 | | **事件同步写落库+quality_score算分+feed回灌 真实 e2e(B2)**MQ 异步聚合留 TODO()。**🆕 plan002 Tier-1 admin 运营后端 minimal-real`feat/tier1-breadth-backend`单测绿**CSV-Excel 导出 / 经营看板DAU+GMV+生成量+发布量 跨模块只读聚合**degraded 兜底**依赖模块缺数据时降级不崩**集成/e2e(mini-desktop) 待验证/open**。**🆕 plan002 P-OPN-08 创作者公开统计聚合`8238bf2d`后端单测绿 telemetry 47**`GET /app-api/telemetry/public/creator/{id}/summary` @PermitAll·对目标创作者 status==4 作品聚合发布数/累计试玩/累计点赞 PII)·**下游异常软降级零汇总**契约永不报错对齐 list 非脆失败P2 整改**对抗评审 SHIP0 P0/0 P1** | `c4e2d73`·B2·plan002`feat/tier1-breadth-backend`·`8238bf2d` |
| **ad** | 2 | 🟢真实 | 24 | ad.yaml | V6 | | **AdRevenueServiceImpl uk_trace 幂等/广告回调验签/PayoutClientFactory fail-fast 已真实**创作者收益端点 `/app-api/telemetry/my/{summary,trend}` live**真实广告联盟=桩受日历闸门** | `43fce85`·`e3be456d`(G1) |
| **trade** | 3 | 🟢真实 | 41 | trade.yaml | V7 | | **SettlementServiceImpl uk_source 逐笔入账/WithdrawServiceImpl 冻结+CAS 审核状态机/打款异步回调 1→2 已真实**mock e2e 4 对账断言 HOLD**真实 pay=桩受日历闸门**。**🆕 plan002 Tier-1`feat/tier1-breadth-backend`单测绿**为经营看板提供 GMV 只读聚合源看板本体在 telemetry/admin 运营**真广告/支付/素材采购受日历闸门=mock gated**。**🆕 plan002 U10 admin 运营台前端game-admin`8238bf2d`**限曝光 / 导出CSV-Excel/ 经营看板 / **赋余额订阅funds-safebizNo 幂等 + 二次确认 + 元↔分换算)****口径=build 绿 + mock 功能 + 代码评审****真验VITE_API_BASEstaging + mini-desktop CDP 走查 + 赋余额C 三跨纵切 e2e=待验证/open** | `43fce85`·`e3be456d`(G1plan002`feat/tier1-breadth-backend`·`8238bf2d` |
| **studio** | 7 | 🟡 | 1 | studio.yaml | V8 | | 创作任务链+aigc seam**真实生成编排=桩**。**🆕 plan002 Tier-1 素材库后端 minimal-real`feat/tier1-breadth-backend`单测绿**`game_material` 六类 / 浏览 / 选用入草稿 `assetContext` / 上传 compose infra `FileApi` insert `@Transactional``FileApi` 出事务孤儿文件补偿口径已就近记录**真素材采购受日历闸门=mock / 集成/e2e(mini-desktop) 待验证/open**。**🆕 plan002 前端studio+aigc`8238bf2d`**U8 创作可用性P-CRT-10 创作引导 / P-CRT-11 示例库展示 / P-CRT-13 生成失败·超时就地 toast 可重试 + mock 失败注入+ U9 素材中心/玩法模板中心两新页 + 创作者公开主页第三新页 P-OPN-08+ P-ACC-03 适龄徽标详情/我的项目/创作者主页/play 已渲**feed 卡缺 ageRating 字段= feed.yaml additive ****口径=build 绿 + mock 功能 + 代码评审****真验VITE_API_BASEstaging + mini-desktop CDP 走查 + 赋余额C 三跨纵切 e2e=待验证/open** | `b70e90b`·plan002`feat/tier1-breadth-backend`·`8238bf2d` |
| **compliance** | 6 | 🟡 | 2 | compliance.yaml | V9 | | 锁风门 Gate 二态已注入 publishcurl 验证**style/ip 原子=桩** | `b70e90b`·`6c8844f` |
| **community** | 5 | 🟢真实 | 22 | community.yaml | V12 | | 通知底座 e2e链路staging 实证mock-trigger`game_community_message`+updater 非空+unread 聚合站内信/等级引擎 `published_count` 原子自增/3 上游 notify 挂点真接线 aigc·project·trade事务后+try-catch**reward 现金到账recordIncome TIP本波做真**G1 衔接 trade 真实化)。**🆕 plan002 Tier-1 后端 minimal-real`feat/tier1-breadth-backend`单测绿**评论 CRUD + 举报转 complianceseam**compliance 举报受理 -api 待交付=open**/ 关注软切幂等/ 排行 Redis ZSETZSETDB 一致性`afterCommit` ZSET + `rebuildFromDb` 对账/ 弹幕 WS单实例 minimal-real**多实例待 `sender-type=redis`=open****集成/e2e(mini-desktop) 待验证/open** | `737e6d5`·`e3be456d`(G1 reward 衔接plan002`feat/tier1-breadth-backend` |
| **biz** | 6 | 🟢真实 | 1(13例) | biz.yaml | V13 | | 轻量 lead form e2e链路staging 实证createquoteadvance 状态机 012+progress 时间线+updater 非空demo 可预览负路径降级canTransit 单跳**收款/在线签章留 M4线下 sign-offline 兜底** | `737e6d5` |
| **ip** | 0 | seam | | | | | D5 决策不独立建seam 寄宿 compliance | |
| **pay** | 1 | 原生 | huijing | | | ❌(注释) | huijing 原生模块当前未接入单体 | |
| **合计** | **55** | 11 / ip seam / pay 原生 | 23 文件 | 11 yaml | V1-V13 | 11 | | |
> owner P0 合计校验5+3+3+13+1+2+3+7+6+5+6+0+1 = **55** ✓
---
## 3. 端到端 5 条闭环链路状态
| # | 链路 | 状态 | 真实进度 |
|---|---|---|---|
| 1 | 创作 生成 预览试玩 | 🟢 | **前端 UI 实证全绿2026-06-11 走查 HJ-FE-WALK-001**一句话4 模板(clicker/merge/idle/tycoon)→开始生成`studio/generate``/task`轮询(0%)→~18s`/preview` canvas 500×700 可玩(《霓虹深空实验室能量0/5)鉴权守卫/受控输入/异步轮询/自动转场/沙箱 runtime 逐项真实0 error |
| 2 | 发布 审核 游戏流 | 🟢 | **全段 UI e2e 闭合**创作者段2026-06-11 HJ-FE-WALK-001去发布选专区提交→「✓已提交审核」+ currentVersionId/launchZoneId 落值。**admin 审核段已闭合2026-06-11 链路CDP-on-mini UI 走查**game-admin staging(:4174)→登录(admin/admin123)→`/wanxiang/review` 队列渲染 3 条真实待审游戏 9137通过」+确认队列 32 (9137 移除)→DB 实证 `game_project 9137 status=4(PUBLISHED)` + `game_feed_rank(zone2,status1,score0)` 写入(同事务)。sort_score=0 因新游戏无试玩排尾(正确,被玩后 quality 上爬,B2 已证)。**附带修 admin 构建腐化(vite8 5.1.4 清装)**。观察项row1 smoke 数据标题乱码(灌数编码,非代码) |
| 3 | 游戏流 试玩 互动 分享 | 🟢 | **真人试玩闭环 e2e 真实(B2)**feed(真标题)→点卡自研 Canvas clicker 真玩通关game_play_start/end 真遥测quality→**feed 重排(浏览器实证翻转)**like/share 接真遥测真实编译打包/分享落地页= |
| 4 | 广告展示 收益 钱包可见 | 🟢 | **mock 可切真**ad/trade 业务逻辑已真实幂等/CAS 状态机/验签staging mock e2e 门绿广告结算提现mock 打款回调 124 对账断言 HOLD创作者收益端点 live**真广告联盟/ pay=受日历闸门 mock gated非真变现** |
| 5 | 遥测 质量分 推荐优化数据回路 | 🟢 | **数据回路 e2e 真实(B2)**事件quality_scorefeed 重排(B超A)+重放幂等MQ 异步化/真实试玩前端待补 |
**现行验收补充2026-07-12**上表记录的是历史已取得的局部证据不代表当前主线产物已经重新走通全链种子内测前仍须让参考游戏经现行生成主链进入 feed真实走通创作生成预览发布审核feed试玩”,并补链路③⑤、game-admin 配置台真后端 E2E 与角色权限的浏览器截图完成前五链路整体状态保持待现行真机复验”。
---
## 4. 契约账8 类契约M0 已锁)
| 契约 | 文件 | 状态 |
|---|---|---|
| APIOpenAPI 3.0 | `contracts/api-schemas/*.yaml` × 9 | ✅(project/aigc/runtime/feed/telemetry/ad/trade/studio/compliance|
| DBFlyway | `contracts/db-schemas/V1-V9` | ✅(执行副本同步 huijing-server|
| SDK 接口 | `contracts/sdk-interface.d.ts` | |
| GamePackage | `contracts/game-package.schema.json` | |
| 遥测事件 | `contracts/events.schema.json` | ✅(GAP-4 已转 camelCase|
| Dify workflow IO | `contracts/dify-workflow-io.json` | ✅(桩对接|
| 广告位 | `contracts/ad-slot.schema.json` | |
| Prompt Registry 8 | `contracts/prompts/` | ✅(治理体系见记忆 prompt-governance-system|
---
## 5. 待办 Backlog优先级 + 归属)
> **下一阶段执行计划已定稿(/autoplan CEO+Eng 双声音评审):`git show 6d2f8789^:docs/agent-specs/_archive/2026-06-09-下一阶段路线-plan.md`(三轨并行 + 窄深黄金闭环 + 真实最小数据回路,源档已删 git 可查)。下列 backlog 与之对齐。**
> **执行序列(你打勾/我执行,本轮完成线=可演示真黄金闭环)见活清单:[`MVP作战清单.md`](./MVP作战清单.md)。** 本总账管「状态」,作战清单管「排序+归属」。
### 2026-07-22 当前 P0
- [ ] **游戏内容金标与四类资产账**四类可复用资产GameContentGold/1 `designIntent → realizationEvidence` 两阶段契约已由创始人拍定五款 `gold-m3-*` `harness_fixture`历史 few-shot/模板拟迁 `generation_exemplar`正式 `game_content_gold` 仍为 0下一步从 Fable 三款或新设计中选定目标品类实例先批设计意图实现后补落地证据并人工签认未签认前不得把候选夹具或生成范例报成金标
- [ ] **W-GOLD-LIVE 内容前置契约与持久消费记录接线**实现 `ReferenceAssetRegistry/1` 机器注册表/schema迁移四类资产记录把两阶段 brieffixture role generation_exemplar `recordId` 接入实际 cheap/tier2 prompt升版本并过缺维度拒绝负例版本门消费对账真模型回归和人工抽检当前只有 SoT 规则live 生成链未承接未绿不得启动 fresh 25
- [ ] **W-AXIS-V3 harness 校准链**三个 Match-3 工程切片确定性 fixture 四轮overlay normalizer五款视觉/特效专项和完整 `Match3AudioAudit/1` 已闭合Judge `3.0.4` 只在固定 PromptEval fixture 上历史通过当前 Actor/Judge `3.0.13` 三轮建线第四轮确认与真实生成集成 baseline 未闭合下一步先补稳定门与真实集成复跑再补 combined BGM+cue 共享 limiter 测量并把视觉特效音频输入锁 sidecar 在同一真实 run 闭合启用 `Match3RollInteractionAudit/2` `SingleRollProof/3` 签发两分钟真人有声试玩重玩体验与 4/5 盲听只作 fixture 体验复核内容金标live 接线与 harness 三线都闭合后再跑完整总门和三批基线当前不得启用 `enforce`不得把专项样本计成新成功率
- [ ] **切换与放量决策**内容金标签认W-GOLD-LIVEActor/Judge 稳定门Audit/2 + Proof/3完整总门与三批基线全部收口后才决定是否切 `v3` 默认及执行 S5a此前保持 `v3_shadow` 和发布冻结不得宣称已达 80% 或已可放量
- [ ] **staging RC 与账号**Actor 基线和完整总门通过后真实执行 commit-pinned RC 部署Nacos 配置事务存储审计与隔离恢复先补 `neice_051` `neice_054`再创建并分配 40 名种子用户和 12 名预留账号当前只有脚本验证尚未发生部署或账号写入
- [ ] **五链路真机闭口**参考游戏经主链进入 feed完成链路③⑤、配置台真后端 E2E 与角色权限实测浏览器截图入证
- [ ] **人侧四闸**支付进件广告联盟审核短信签名与模板律所咨询没有受理或审核凭证前状态保持待提交或在审
### P0-补结构(忠实于"按 Doc A 剩余 P0 补模块"的双主线指令)
- [x] **Wave4community(5 P0) + biz(6 P0)** 建成+集成门全绿2026-06-11HJ-WAVE4-EXEC-001 · Round2 · Ultracode):§0 资源预占双模块并行建设mini 60 模块编译/启动 Flyway V12/V13/18 端点/32 单测绿9.3 两链路 staging 实证错误码段 community=`1-107`·biz=`1-110`、契约 community.yaml/biz.yaml 入库提交 `737e6d5`+`6c7d93f`。**reward 真实记账·biz 收款/签章留 M4。**
- [ ] **ip seam** D5 寄宿 compliance不独立建模块
### P0-真实化(决定 M2-M5 能否达成,是 MVP 的真正大头)
- [x] **aigc真实生成M2 攻坚点)✅ M2 整体收口2026-06-10两段证据分别引用**——①成功率口径达标 = batch-001 实测 **80.0%**20 创意全自动/ infra/双锚复核产物 `agent-loop-v1/runs/batch-001/`)∧ 生成链路贯通 = M-b 薄轮询执行器上线42d3237部署 #3.1 实证HTTP 18s/UI 27s succeeded + dodge 正确失败 + watchdog 收尸5 独立样本全自动达终态审计列 '0' 落库)。**真实用户在 UI 一句话18-27s 拿到可玩游戏。** 渲染面已扩M-b theme/scoreLabel 入画布)。Dify 暂不部署回调契约兼容后接零改
- [x] **runtime真实编译打包 ✅ T1b-β 实质收口2026-06-15收口报告 `git show 6d2f8789^:docs/agent-specs/_archive/2026-06-15-T1b-β收口报告.md`**——口径随 Tier1 重设计为 **Runner v2 产物**引擎终裁 LittleJS)。**引擎真接线Phase AA0 掌帧+A1-A4 能力包装+A6 mini-desktop real 引擎门 6/6`3e5cab4`+ Runner v2经全弧 P1/P2/P3`engineBundle` 内嵌机制取代 packageUrl 外链=absorbed-by-arc实质收口**,已支撑 feed 真玩3b-B 井字棋 gameId=9306 `238ec2d` 真渲入 feedP2 真机 6 `5d3f7a8`)。**剩余=推迟清单**gold-platingrender.js 切引擎 draw API/屏震切相机/门3 逐像素回归/immutable 端点实现audit-debtSIZES 并表/负扫 harness/outcome 字段/R3·R6 回填/矩阵 sandboxAttr 消费/门5 /preview 走查见下T1b-β 推迟清单」,**创始人可点名某项转 required**。
- [ ] **OSSMinIO bucket 级隔离 + 真实存取**本波跳过
- [ ] **telemetryMQ 消费聚合 + quality_score + feed 反哺**M5 数据回路
- [ ] **ad/trade真实广告联盟 + pay 模块接线**M4
### T1b-β 推迟清单engine-line backlog2026-06-15 入账;不在完成线关键路径,推迟到日历闸门后或 L1 空档;**创始人可点名某项转 required**
- [ ] **gold-plating**:① render.js 切引擎 drawTile/drawText/drawRect/Color 样板拔高现仍 100% Canvas2D但引擎掌帧+2D mainContext+引擎粒子同屏已达成经引擎画游戏」)② 屏震切相机 cameraPos`render.js:915` g.translate)③ 门3 逐像素 WebGL readPixels 回归A0 有意降级=real 通道追帧 overshoot 不可控stub 2D 通道兜逐像素)④ immutable 强缓存头补端点实现 OSS §5 immutable 孤儿字段裁决」)⑤ 参考件经后端发布主链入 feed现走 SQL 灌库桩主链本体已被 B1 真游戏验过)⑥ runtime-probe 改独立墙钟Play.vue Date.now P75 埋点已天然满足立意)。
- [ ] **audit-debt**:① A5 SIZES 单口径并表 + `scripts/size.mjs:150` 引擎入口插件增量主表+引擎产物附录两表并存)② 门1负向扫描沉淀为可复跑 harness commit 一次性 grep)③ `outcome:'win'|'lose'` additive 字段落地`contracts/events.schema.json:61`)④ P7/P8 裁定落档default v2 兜底已是结论)⑤ R6 三件尽调补录CDP harness/ajv/prompt registry)⑥ R3 血统回填五条SDK<8KB/B1 350KB/ npm/标准库优先/harness RSS2G 各补来源+失效+复审三件套)⑦ 矩阵 sandboxAttr 下发消费allowOrigins 已接)⑧ 门5 /preview 单独走查/play CDP 实证)。
> **immutable 孤儿字段裁决2026-06-15**`contracts/game-package.schema.json:71` 的 `immutable`URL 强缓存语义)后端**零消费**(无端点实现命中),因 P2 走 DB-manifest 内嵌、packageUrl 外链未启用 → 现为有意孤儿字段;**裁决=推迟到接 OSS/CDN 时补端点实现**additive 可选字段留存不删,非 split-brain门4 CDP Network timing 验缓存命中口径已写在字段 description 内)。
### 代码评审遗留2026-06-24非后端四模块评审 · 源档已删 git 可查:`git show 8ea97234:docs/agent-specs/2026-06-24-非后端四模块代码评审-review.md`
四模块game-runtime / game-studio / tier2 / wg1并行评审得 25 条真发现0 P0下列 9 P1品牌两条合并呈现+ 7 P2 未闭真正带真金白银风险的是 wg1tier2 两条生成线的成本与幂等闸尚未焊死应在 W-G1 切默认产线tier2 批量开闸之前处理
> **W-REAL R4 清欠对账2026-07-02逐条读当前代码坐实、不凭文档推断**16 条 = 7 moot、6 已修、1 存活待修、2 本次修(品牌门扫描面);另协调者追加第 17 条ad-slot 契约漂移)本次修。下方原始发现明细勾选态已按本表更新(存活项保留未勾)。
>
> | 条目 | 判定 | 依据(读码坐实) |
> |---|---|---|
> | P1① wg1 `/generate` 幂等 | moot | wg1 是退役 spike无生产 Java 接线,仅 game-cloud 测试/注释引用);生产便宜档 = cheap-worker幂等走后端 WorkerDispatchClient + idempotencyKey |
> | P1② wg1 max_tokens 未透传 | moot | 同上退役cheap-worker 已透传(`_bootstrap.build_cheap_model` / `cheap_service_driver` 的 `parameters.max_tokens` |
> | P1③ tier2 ¥ 硬闸跨 resume 不累计 | 已修 | 架构改单 POST 内联续修,`CircuitBreakerMiddleware` 会话级实例 `on_model_call` 累加 `spent_rmb` 调用前 fail-closed`soft_budget` 演进(配置控制面阶段一①);`test_budget_soft_stop` 覆盖 |
> | P1④ wg1 契约真空 | 已修 | `contracts/agent-loop/{verdict,tier2-source-project,tier2-verdict}.schema.json` + `trace/tier2-trace-event.schema.json` 已建v1 clicker 世代已换 |
> | P1⑤ tier2 服务态主链未真跑 | 已修(核心) | 扁平探测零产出孤儿已由 `tool_groups[*].tools` 抽取修复app.py:120「2026-06-24 实证修复」)+ B1 真驱暴露;端到端批量清单在 `tier2/.agent`(仍待 mini-desktop属正常 spike→prod |
> | P1⑥ game-studio CSP 注释失真 | 已修 | `inject.ts` CSP 已移除 `unsafe-eval`(注释据实述「不含 eval/new Function 故不需」),无 `scanLogic`/`gamedef` 失实表述 |
> | P1⑦ game-studio vue-i18n 卡类型门 | 已修 | `package-lock.json` 已含 `vue-i18n@10.0.8``vue-tsc@3.3.4`(合 ^3.2.8/ `typescript@6.0.3`(合 ~6.0.2)对齐,评审「实装 6.0.3」错配已消(本机未 install 不影响权威机 `npm ci` |
> | P1⑧ 品牌残留 + 机器门扫描面(合并 GR-01+WG1-04 两条 P1 | **本次修** | 三处品牌早修b31cc37aG1 仅扫 .md 有洞 → 本次扩 `walk_code` 覆盖业务代码目录(负向测试证拦回流)+ 清漏网 `game-admin` 一处退役品牌菜单标题 → `绘境运营` |
> | P2① game-runtime v1→v2 标注漂移 | moot | `build-from-source.mjs` / `gd-runtime.js` 已删gamedef v1 世界全删src/host 只剩 3 层架构 `boot-game-host` / `generic-host-config` |
> | P2② tier2 `validate_play_scene` 子串校验 | 已修 | 切片二 U4 加 `_strip_js_comments_strings`,剥注释+字符串后判评审短期诉求AST 结构判定记为中期 followup |
> | P2③ tier2 screenshot docstring 冲突 | moot | tier2 代码已无 canvas 像素回读(`getImageData`/`readback`/`toDataURL` 全空screenshot 只读落盘 PNGdocstring「零截图参与」现属实 |
> | P2④ tier2 bootstrap 鉴权头口子 | **存活待修** | `_post` 的 `X-User-Id` 口子 + 无重试退避仍在bootstrap.py:99卡点 = 需真实 `deps.py` 鉴权契约(部署 smoke 接缝),非本机最小改动可完成,列部署窗口 followup |
> | P2⑤ wg1 callback 孤儿 | moot | wg1 退役;`cheap-worker/worker_service.py` 用 job 携带的 per-job callback URLHMAC 回调) |
> | P2⑥ wg1 `_judge_vision` 绕过重试 | moot | wg1 退役 spike不在生产路径 |
> | P2⑦ wg1 基建 subprocess 无 check | moot | wg1 退役 spike不在生产路径 |
> | R4-17 ad-slot provider 枚举漂移(协调者追加) | **本次修(跨端契约)** | `ad-slot.schema.json` enum 缺 `callback`,而 `ad.yaml` 与 `CallbackAdProvider`(真实现 `PROVIDER="callback"`已支持additive 加 `callback` + 对齐描述DB VARCHAR 注释 / DO Javadoc 仍列 csj/gdt/mockdoc-only、SQL 为 Flyway 版本档不改)——留终审 |
**P19 条)**
- [x] **wg1 `/generate` 无幂等去重**`wg1/gen-worker/worker/service.py:378` `threading.Lock` 串行化同一 traceId 重投会重复真烧便宜模型 + 重复 HMAC 回调后端可能重复建版本/组包切默认产线前必修内存 set 起步崩溃恢复用 results/ jsonl)。
- [x] **wg1 `run_studio` 的 `max_tokens` 未透传**`wg1/gen-worker/worker/agent_loop/studio.py:231`形参声明了却没接到底层调用复杂局便宜模型输出被默认上限截断取不到完整代码块parse 失败重试 token 白烧在无谓重试上直接拖累成功率冲 80%」。
- [x] **tier2 ¥ 成本硬闸跨 resume 不累计**`tier2/gen-worker/service/app.py:192`熔断中间件每个 chat 回合重建计数从 0 `rmb_hard_limit=3.0` 在默认 6 回合 resume 下形同虚设单款实际可烧约 7 倍单回合上限而硬闸永不触发批量开闸前必修 spent_rmb 提到 session 维度跨回合累计)。
- [x] **wg1 契约真空**`wg1/gen-worker/worker/service.py:91`worker 产的 engineBundle / 九门 verdict / 9 trace 无任何 `contracts/` schema 背书评审锚点的 verdict/game-design schema 还停在 v1 clicker 世代字段世代不符worker后端 trace 子集口径只散在注释里键名漂移无门可拦补新 schema或在设计文档显式声明 engine 路不消费 v1 契约并指向新 schema
- [x] **tier2 服务态主链未端到端真跑**`tier2/gen-worker/service/app.py:105`BackendStore 落库 / MCP / L2·L3 / 富游戏三门只有 schema 形状缺真跑证据代码里留着扁平探测全空服务态生成零产出的实证注释属孤儿风险0 spike 真驱后把端到端验证列成显式验收清单挂进 `tier2/.agent`每兑现一项去掉 spike表述并附证据路径
- [x] **game-studio host CSP 注释失真**`game-studio/src/host/inject.ts:69`iframe CSP 授了 `unsafe-eval`注释援引本模块根本不存在的 `gamedef` / `scanLogic` 运行时当作既成安全保障违反不得把未验证声明当事实」),且多授了当前代码不需要的 eval 能力删掉不存在的 `scanLogic` 表述据实改述真实边界若引擎 bundle 不需 eval 则从 CSP 移除 `unsafe-eval`
- [x] **game-studio `vue-i18n` 缺失卡类型门**`game-studio/package.json`声明 `^10.0.0` 却没装26 TS2307 卡死 `vue-tsc` CI `vue-tsc` 声明 `^3.2.8` 与实装 `6.0.3``typescript ~6.0.2` 不在同一兼容线`npm ci` 不可预期在权威构建机装包 + 对齐版本声明 + 提交 lockfile合入前清掉
- [x] **品牌红线残留 + 机器门扫描面有洞**合并 GR-01 + WG1-04 两条 P1 + § index.html 补正活层三处退役旧名造梦AI」——`game-runtime/package.json:6``game-studio/index.html:7`玩家浏览器标签页可见最显眼)、`wg1/gen-worker/worker/service.py:34`更要紧的是品牌不变量门只扫 `src/` 会放过模块根 `package.json` / `index.html` `wg1/` 目录改三处字符串之外须把门的扫描面扩到各模块根与 wg1/ 防回流 <!-- brand-ok:门证据行,引用旧名字面量属必要 -->
**P27 条)**
- [x] **game-runtime v1→v2 契约标注漂移**`game-runtime/src/host/build-from-source.mjs``gd-runtime.js` 文件头,评审 GR-02source-project 契约已升级为 `oneOf(v1|v2)`、v1 标注冻结只读、v2 多文件 `src/` 定为终态,但活实现仍整建在 v1 上且无标注指向该判别式,维护者易把冻结的 v1 当终态继续加码。文件头各补一行演进状态注释、链到 schema 判别式(只加注释不改逻辑)。
- [x] **tier2 `validate_play_scene` 文本子串校验平台命脉接线**`tier2/gen-worker/worker/run.py:401`):裸子串/正则启发式决定是否拦 build 并回喂自纠指引agent 把 `bindInput`/`tick` 写进注释即假绿、用别名/换行即假红误导自纠。中期改 AST 结构判定,短期至少剥注释/字符串后再扫。
- [x] **tier2 screenshot docstring 与像素回读数据流冲突**`tier2/gen-worker/worker/toolkit.py:262`docstring 写「L1/L2 判定零截图参与」,实际 harness 在回读 canvas 像素产 advisory 观测(严格不进 decision。纪律没破、纯措辞误导契约消费方据实校准零成本
- [ ] **tier2 bootstrap 鉴权头占位口子**`tier2/gen-worker/service/bootstrap.py:99`REST 客户端 `X-User-Id` 留口子待对齐,四步串行启动无重试/幂等new-api 偶发 502 会让启动失败或重复注册凭据。smoke 时按真实 `deps.py` 定死鉴权头 + 加幂等与有限重试退避。
- [x] **wg1 回调 `callback` 孤儿字段**`wg1/gen-worker/worker/service.py:8`):文件头文档声明 job 携带 `callback`,但全程只用进程级 `state.callback_url``job.get("callback")` 从不读取;执行器若按文档传 per-job 回调会被无声丢弃。删文档声明,或真接线 + 地址白名单防 SSRF。
- [x] **wg1 `_judge_vision` 绕过重试封装**`wg1/gen-worker/worker/agent_loop/studio.py:190`):视觉位直接调 `client.chat.completions.create`,绕过 `_client.chat` 的 tries=3 突发重试(仍有 SDK 级 max_retries=2遇网关瞬时 502 更易被吞成 panel error、顾问位无声失效。给 `_client` 加多模态 chat 变体复用重试。
- [x] **wg1 基建类 subprocess 无 check**`wg1/gen-worker/worker/validate.py:86``run.py:48/62`build/play 子进程因环境问题node 缺失、脚本路径错)非零退出被当普通失败回喂模型重试,掩盖基建故障、白烧重试 token 才暴露。对基建类区分 returncode如 127快速失败标 infra_fail、不进回喂循环。
### 联调(把"模块编译通过"转成"可演示闭环"= Doc A P0 可验证的硬通货)
- [x] **`deploy/smoke-test.sh` 五链路冒烟门2026-06-11** — API 级就绪门:只读 12/12 + `--deep` 13/13 全过health/鉴权 + 链路①四模板就绪+draft + 链路②feed非空+zones+project/my + 链路③runtime/package取包 + 链路④ad/钱包/收益 + 链路⑤feed携qualityScore回灌 + deep:generate入队。**5 条链路后端 API 全绿**CORS/鉴权test1 token从前端 origin 验证通过。**实测 gotcha**feed item 的 `packageUrl` 恒 null真实取包走 `GET /app-api/runtime/package/{versionId}`(已写入脚本注释)。
- [~] **game-studio 前端接 staging** — 配置已就绪 + 后端 5 链路 API 全绿smoke 12/12**创作链路 UI 走查已做2026-06-11 HJ-FE-WALK-001CDP harness 驱动 6c6g chrome 经 Tailscale 打 mini :4173**:链路①创作→生成→预览 UI 全绿;**链路②发布 UI 逮 2 真后端缺陷**A=`project.currentVersionId` 生成未回写B=`feed/zones` 空)。**下一步=修 A/B后端+重部署)→重走查闭合链路②发布**。game-admin 接 staging 走查未启动。
- [x] **修复发布 UI 两缺陷HJ-FE-WALK-0012026-06-11 修+部署+重走查闭环)**A=`GameVersionServiceImpl.createForPackage` 落包建版本后 `bindCurrentVersion` 回写 `current_version_id`(幂等+新建两路径B=`FeedServiceImpl.getZones` 落实直查 `game_zone`(新增 `GameZoneDO`@TenantIgnore+`GameZoneMapper`type∈(1,2)∧status=1staging tenant.enable=false。提交 `29564c8`mini 全量构建 SUCCESS→重部署四模板/M1/admin-api 200 无回归)→**重走查实证**:去发布→选专区→提交发布→「✓已提交审核」+ currentVersionId/launchZoneId 落值。**余审核台 approve→feedadmin 侧)**。
### 不可压缩日历闸门(人侧并行启动,非工程量;见记忆 mvp-binding-constraint-calendar-gates
- [~] ICP 备案 支付进件 广告联盟审核 LLM 实名充值 短信签名报备 大模型登记/算法备案/分账选型 — **这些才是 MVP 上线的真正约束**。✅ 2026-06-10 看板已建:[`A1闸门看板.md`](./A1闸门看板.md)12+1 项含 owner/最晚提交日/阻塞状态;主体已确认可用;律所咨询 brief 已备 [`律所合规咨询brief.md`](./律所合规咨询brief.md))——**剩创始人线下提交动作,本周四件见看板**
---
## 6. 执行记录(波次史 · 摘要)
> ⚠️ **完整逐波收口验收账本**各波「过没过验收门」的综合证据accept rate / 单测数 / DB 行级实证 / commit 区间已整段搬入归档档源档已删git 可查:`git show 6d2f8789^:docs/agent-specs/_archive/总账-波次史归档.md`**一字未删**(评审 M2git log 无此判决性综合)。本节仅留里程碑级摘要。
| 里程碑/线 | 收口 | 关键证据(详见归档) |
|---|---|---|
| **M0-M1**(6/9-6/11) | ✅ | 8 类契约锁定 + 单体全栈启动(Flyway V1-V9 全绿) |
| **M2 生成**(6/9-6/17) | 🟢 | spike 80% → 四模板(W-CLEAN 已清) → generic 一句话入口(`7534bdf9`);引擎 LittleJS+Runner v2 收口(T1b-β `3e5cab4`) |
| **M3 分发**(6/9) | 🟢 | 发布链+数据回路+真人试玩 e2e(feed 翻转) |
| **M4 变现**(6/16) | 🟢mock可切真 | ad/trade 业务真落地,87 单测绿 + mock e2e 门 |
| **鉴权波**(6/10) | ✅ | E1-E13 全过,逮修 2 P0 |
| **Wave4 community/biz**(6/11) | ✅ | 通知底座+lead form,mini 集成门 |
| **studio 设计体系 HJ-FE-DS-001**(6/16) | ✅ | 19 视图 token 两层+双语+三主题,见 `studio前端设计体系.md` |
| **SAA trace 真库收口**(6/17) | ✅ | `703e462c`+round3,split-brain 闭合,见 `agentic编排-SAA.md` |
| **W-G1 开闸验收门**(6/16) | 🟢门已落 | 组A/B/C+G0G1,见 `开闸验收门-W-G1.md`;开闸=在飞 |
| **W-AXIS-V2 验收换轴**(7/10) | ⚪历史 | 波 0 `8edb0ffa`、波 1 `5bcaf6ac`、波 2 `8d851ea7` 留作历史实现记录;旧工作区两局缺 V3 关联 ID不复用、不构成 ≥80% 结论 |
| **W-AXIS-V3 可信证据闭环**(7/13在飞) | 🟡专项机器证据至完整 AudioAudit | 确定性 fixture 四轮、五款视觉/特效专项、完整 `Match3AudioAudit/1`、45/45 独立配方混音门及固定 Chrome 10/10 已闭合trusted bridge 与每组完成后立即 120ms drain 已接线。Judge `3.0.4` 固定 fixture 专项历史通过,但当前 `3.0.13` 三轮建线、第四轮确认与真实生成集成 baseline 未闭合。五款均为 harness fixture不是内容金标。Audit/2、Proof/3、combined mix P1、正式 game_content_gold、ReferenceAssetRegistry/live prompt 接线、完整总门、fresh 25、historical 11、production shadow 20、staging RC、Wave0 未完成。生产 `runtimeEligible=false`,未切默认、未放量 |
> 逐波细节 + 完整收口验收证据:见归档档(`git show 6d2f8789^:docs/agent-specs/_archive/总账-波次史归档.md`+ `git log`。子系统现行架构/现状:见各 canonical 档(`docs/agent-specs/*.md`)。
## 7. 风险与口径提醒
- **真正的约束不是工程量,是日历闸门**ICP/支付/广告/实名),见记忆 `mvp-binding-constraint-calendar-gates`——再快的代码也压不过备案周期,人侧须并行启动。
- **V3 工程绿 ≠ 验收口径绿**单元、契约、Chromium 对抗与五款 fixture 基础交互只证明实现可运行。正式 game_content_gold、`ReferenceAssetRegistry/1` 与 live prompt 接线、当前 Actor/Judge 稳定门、fresh 25、historical 11、production shadow 20 和基于内容金标的人工抽查缺一项,就不得切默认、解冻发布或宣称成功率达标。
- **生成成功率≥80%**2026-06-09 的两段式口径与 batch-001 80.0% 只代表历史链路当时达成,不能替代现行发布口径。现行分子只认 finalPostguard 封存的最终 `accepted`(包含首轮直接接受与 repair 后接受),`acceptedAfterRepair` 只统计修复救回率;分母只统计独立真实游戏样本,四类 fixture/校准锚/生成范例/内容金标都不计入。fresh 25、historical 11、production shadow 20 尚未形成,当前没有新的 ≥80% 结论。
- **结构骨架 ≠ 产品功能可验收**:勿用"模块编译通过/单体启动"等同于"P0 达成"。本总账第 0、2、3 节即为防此偏差而设。
- **架构三向审计四颗雷2026-06-10HJ-AUDIT-001**:详见 `git show 6d2f8789^:docs/agent-specs/_archive/2026-06-10-架构文档三向审计-review.md`——**R1** 对外材料含可证伪主张(奇绩现版禁投,换稿不冻结);**R2** 自有 H5 分发 UGC 合规死锁IAA 免版号仅渠道内成立;闸门新增 大模型登记/算法备案/分账方案Doc A 缺 8 项法定 P0**R3** 渠道60%×创作者80%×IP15-25% 三层分成从未合账 + 全仓零生成成本侧;**R4** 模板集背离 D2 拍板(实建 dodge/runner/match=被降级的动作类)→ **✅ 2026-06-10 已拍:维持 D2、按 D2 改建**M-c=merge→idle→tycoon动作类降 P1 留契约。W1 文档回填已落W2 对外清洗=★口径全定+品牌清扫/横幅已落(残余 BP 改造版红线内容清洗W3 待律所意见brief 已备W4 待 R3 假设值。