双查一致性(Codex+Opus)→ 修问题 → 出 plan 全链收口。 修问题(reframe 全活层 doc-sync · 框架统一 AgentScope / 三档按 AI 深度 / 去超休闲 / A-model 写真 src/ / tier2 spike accept · n=5 收敛环 / 预算闸 <¥10·<¥50): knowledge 三件套 + 顶层图说 00/01/02/05 + 6 域 README + 5 mvp 账本 + skill·workflow + agent-specs(_index / 演进路线降留痕);系统性死链 自治富游戏引擎.md → 运行时 SoT repoint(7 档)。 AGENTS.md:§2 收敛上线主计划 SoT、§3.1 入口自审 reframe 对齐。 出 plan:① 生成引擎统一执行计划(新建 · 统一三档 · 吸收退役 06-18-001/06-19-001/003); ② 4 份重复 plan 退役/并入/去两线 banner;③ 可行性方案16周 就地升格为项目上线主计划 SoT(canonical)。 §6.8 双评审(Codex+Opus)6 必修已修:WU-A 真实拓扑+JS留+迁移契约 / A11 孤儿接缝(①WU-B↔③阶段三) / 三档拆清 / ③ 过度表述 / 人办清单 n≥30→n=5 / 死链。 tier2/HANDOFF.md:n≥30→n=5 + agentscope-runtime→2.0.2 Workspace doc-sync banner。 ①③ status=草稿·双评审已过·待创始人确认 F1(WU-A 迁移归属)后转正式。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
232 lines
15 KiB
Markdown
232 lines
15 KiB
Markdown
---
|
||
title: "feat: plan003 Plan B — Phase-1 core-done 验收闭环执行(引擎资产 + 验收 harness + 广度/前端真验证)"
|
||
status: 已并入统一执行 plan(2026-06-25)
|
||
date: 2026-06-19
|
||
type: feat
|
||
origin: docs/brainstorms/2026-06-19-plan003-phase1验收闭环-requirements.md
|
||
---
|
||
|
||
# feat: plan003 Plan B — Phase-1 core-done 验收闭环执行
|
||
|
||
> **并入 banner(2026-06-25):** 本 plan 原是 Plan A(gen-done = SAA)∧ Plan B(core-done)双线。Plan A 随 SAA 退役已 moot;Plan B 的 core-done 验收闭环(九门 + 广度 / 前端真验证)已并入统一执行 plan ① 的 WU-C(§5.4 三层校验与九门)/ WU-F(验收预算门)。本 plan 降留痕。现行口径见 ① `docs/plans/2026-06-25-生成引擎统一执行计划-AgentScope三档-plan.md` 与运行时 SoT `docs/architecture/架构/生成引擎/agentic运行时架构图说.md`。
|
||
|
||
> **双线拆分**:本档 = Plan B(core-done)。Plan A(gen-done = 003-U1 用对 M3 + 003-U2 flip)在另一 session(gamedef-qc lane)并行,不依赖本档。本档与 Plan A **代码面不相交**(Plan B 拥 `gd-runtime`/前端/验收层;Plan A 拥 SAA java/worker python);唯一耦合 = 本档 Phase 2/3 的 game-quality 门**消费 Plan A 产出**(单向、末段),及 mini-desktop e2e 串行排队。
|
||
|
||
## 摘要
|
||
|
||
把验收闭环需求档落成 **core-done 执行**:建/接各门 harness(复用 nine-gate `play.cdp.cjs` 四件套 / CDP 走查 / staging-ops / 已合的 003-U1 e2e 工具)、引擎资产渲染(原 003-U5)、广度/前端真验证,再做双里程碑收口。**Plan-A 依赖步骤后置**:Phase 1 全独立(可并行 fan-out),Phase 2 gated on gen-done 产出,Phase 3 最终收口。
|
||
|
||
## 问题背景
|
||
|
||
总账诚实口径:plan002 前端 + 广度后端多停在「build 绿 + mock + 代码评审」,真验证(staging + mini-desktop CDP + 三跨 e2e)= open;引擎资产渲染(003-U5)未做且 `gd-runtime` 的 `GAMEDEF_KEYS` strip 掉 assets = 死代码。core-done 要把这些 open 收成真证据 + 补齐资产渲染,作 Phase-1「done」的非生成半边。生成半边(gen-done)归 Plan A。
|
||
|
||
## 关键技术决策(KTD)
|
||
|
||
1. **本档 = 验收/收口执行层 + 引擎资产**,不重排 Plan A 的生成/prompt 开发(消费其产出)。
|
||
2. **`gd-runtime` 整面归本档**(U1):解 plan003「U5 ↔ U1 共面、同 owner 串改」冲突——Plan A 的 remaining 语义走 DESIGN_SYSTEM java,本档独占 `gd-runtime`/`build-from-source`,两面零撞。
|
||
3. **复用现成 harness 不另起**:nine-gate `play.cdp.cjs`(R4/R9 划界)、`ui-walkthrough-cdp`(R5/R7/R8 CDP)、`staging-ops`+`smoke-test.sh`(R3/R8 staging)、`SaaFullGraphE2eTest`(R4 经我建的 003-U1 工具)。
|
||
4. **依赖排序 = 独立先、gen-依赖后**:Phase 1 六单元无 Plan A 依赖,执行期 fan-out 成并行后台 worktree 子代理;Phase 2/3 的 game-quality 门(feed 真玩/rubric/M0 core/最终验收)gated on gen-done。
|
||
5. **rubric 与九门划界**(R9):九门已客观覆盖项(F/I/H/control)不重打,rubric 只补九门测不到的设计完整性层(资产/玩法目标),资产对位一票否决。
|
||
|
||
## 高层技术设计(HTD)— 阶段依赖
|
||
|
||
```mermaid
|
||
flowchart TB
|
||
subgraph P1["Phase 1 · 独立(无 Plan A 依赖,可并行 fan-out)"]
|
||
U1["U1 引擎资产渲染 + asset 孤儿闭合"]
|
||
U2["U2 审核→发布纵切 e2e"]
|
||
U3["U3 经济赋余额→C端三跨+幂等"]
|
||
U4["U4 广度域抽检 harness"]
|
||
U5["U5 8页 CDP 走查 harness"]
|
||
U6["U6 smoke 5链路 staging 真绿 + R3 reframe"]
|
||
end
|
||
subgraph P2["Phase 2 · gated on gen-done + U1"]
|
||
U7["U7 设计完整性 rubric 评分"]
|
||
U8["U8 创作→生成→feed真玩 + 资产可见"]
|
||
U9["U9 M0 core 联合验收门"]
|
||
end
|
||
subgraph P3["Phase 3 · 最终收口"]
|
||
U10["U10 双里程碑收口 + 最终 Phase-1 验收"]
|
||
end
|
||
GenDone["Plan A · gen-done(≥80% + flip)"]
|
||
U1 --> U7
|
||
U1 --> U8
|
||
GenDone -.消费产出.-> U7
|
||
GenDone -.消费产出.-> U8
|
||
GenDone -.消费产出.-> U9
|
||
U8 --> U9
|
||
P1 --> U10
|
||
P2 --> U10
|
||
GenDone -.-> U10
|
||
```
|
||
|
||
## 需求追溯
|
||
|
||
| 需求(origin) | 单元 | 阶段 |
|
||
|---|---|---|
|
||
| R11 资产可见 / 003-U5 引擎资产 + T3 | U1 | 1 |
|
||
| R5 审核→发布 | U2 | 1 |
|
||
| R6 经济赋余额→C端+幂等 | U3 | 1 |
|
||
| R8 广度抽检 | U4 | 1 |
|
||
| R7 8页走查 | U5 | 1 |
|
||
| R3 smoke 5链路 | U6 | 1 |
|
||
| R9 rubric | U7 | 2(gated) |
|
||
| R4 feed真玩 + R11 in-context | U8 | 2(gated) |
|
||
| 003-U3 M0 core | U9 | 2(gated) |
|
||
| R10 总判 / 003-U4 最终验收 | U10 | 3 |
|
||
|
||
> Plan A 落的:R1/R2(gen-done)+ T1/T2(回退同契约 / flip 两步)。本档 Phase 2/3 消费其 ≥80% 产出。
|
||
|
||
---
|
||
|
||
## 实现单元
|
||
|
||
### Phase 1 — 独立单元(无 Plan A 依赖,执行期可并行 fan-out)
|
||
|
||
#### U1. 引擎资产渲染 + asset 孤儿闭合(原 003-U5 + T3 reconcile)
|
||
|
||
- **Goal**:gd-runtime 支撑带美术的简单游戏——六类资产 `ref→GamePackage.assets→drawImage/audio` 渲染链路 + `GAMEDEF_KEYS` 纳入 assets(消死代码)+ `drawEntity` 支持 `shape:'sprite'`;R11 代理判据 = 素材 ref 可识别特征在 play 截图比对命中。
|
||
- **Requirements**:R11;origin 003-U5;跨档 T3(reconcile plan003 003-U5 独立门 ↔ R11 嵌入判据,以 R11 代理判据为最终口径)。
|
||
- **Dependencies**:无(引擎 js 独立);**本单元独占 gd-runtime 整面**(解共面冲突,Plan A 不碰)。
|
||
- **Files**:`game-runtime/src/host/gd-runtime.js`、`game-runtime/src/host/build-from-source.mjs`、`game-runtime/src/host/build-from-source.test.mjs`、渲染器。
|
||
- **Approach**:`GAMEDEF_KEYS` 纳入 assets + `drawEntity` 经受控面加载 sprite,**或**把 asset 注入移到 validate 装配前(二选一,消「validate 后 merge=永不被消费」死代码);六类资产(sprite/character/effect/scene/ui/music)逐类 `ref→draw`;4 短板(文本HUD/grid/CCD/drag)先核差分勿重造。
|
||
- **Patterns**:`.agents/skills/game-e2e-cdp-harness.md` §5-6(引擎掌帧/能力接线像素门);现 `gd-runtime`/`build-from-source`;plan003 003-U5 六类资产逐类验收门。
|
||
- **Test scenarios**:happy `build-from-source` 单测断言 sprite 实体产 `drawImage` 调用 + 截图非空;六类资产逐类各 1 demo `ref→assets→draw` 真渲染 + 截图;**Covers R11** 端到端孤儿闭合(`002-U6` 选用素材 ref 特征在 play 截图比对命中,非"非空即过");edge 缺资产/错 ref 兜底;4 短板逐项 demo。
|
||
- **Verification**:`build-from-source` 单测绿 + 六类资产 demo 各截图 + 孤儿闭合截图(特征命中)+ `game-runtime` 构建绿。
|
||
|
||
#### U2. 审核→发布纵切真机 e2e(R5)
|
||
|
||
- **Goal**:admin 审核通过→`game_project` 置发布态 + `game_feed_rank` 写入(同事务),CDP + DB 行级证据。
|
||
- **Requirements**:R5。
|
||
- **Dependencies**:无(plan002 admin 审核台已建,本单元真验证)。
|
||
- **Files**:验收脚本(game-admin CDP 走查 + DB 断言);无 prod 改(除非走查逮缺陷)。
|
||
- **Approach**:复用 HJ-FE-WALK admin `/wanxiang/review` 走查范式(接 staging),审核通过→DB 行级核 status + feed_rank 同事务。
|
||
- **Patterns**:`.agents/skills/ui-walkthrough-cdp.md`;总账链路②已闭合先例(2026-06-11 链路②波)。
|
||
- **Test scenarios**:happy 审核通过→`status=4` + `game_feed_rank`(zone,status1)写入;驳回路;权限 RBAC;空队列。
|
||
- **Verification**:CDP 截图(队列减项)+ DB 行级实证。
|
||
|
||
#### U3. 经济赋余额→C端三跨 + 幂等(R6)
|
||
|
||
- **Goal**:admin 赋余额→`trade_flow` 入账 + `trade_account` 余额增 + C 端余额显示变;同 bizNo 重投不二次入账。
|
||
- **Requirements**:R6。
|
||
- **Dependencies**:无(trade 成熟 + plan002 U10 赋余额前端)。
|
||
- **Files**:验收脚本(admin + C 端 CDP + DB 断言 + API curl)。
|
||
- **Approach**:三跨 = 前端 CDP(C 端余额变)+ 后端 API(同 bizNo 幂等返 200)+ DB(`trade_account` 余额行 + `trade_flow` 流水行);同 bizNo **重复投递一次**断言不二次变动。
|
||
- **Patterns**:`deploy/smoke-test.sh` 链路④;trade 幂等(uk_source 逐笔 / 余额 CAS)。
|
||
- **Test scenarios**:happy 赋余额三跨;**幂等** 同 bizNo 重投不二次入账;赋订阅→C 端查态;权限 RBAC;审计日志(赋值可溯)。
|
||
- **Verification**:三跨证据(CDP+API+DB)+ 幂等断言 HOLD。
|
||
|
||
#### U4. 广度域抽检 harness(R8)
|
||
|
||
- **Goal**:社区 / 素材 / admin 运营 各:关键 API 200/code=0 + 单测绿 + ≥1 CDP 页抽检。
|
||
- **Requirements**:R8。
|
||
- **Dependencies**:无(plan002 广度已建)。
|
||
- **Files**:抽检脚本(API curl + 各域 1 CDP 页)。
|
||
- **Approach**:定每域 CDP 页(解原「留待规划」):社区→排行/评论页;素材→素材中心页;admin→经营看板页。抽检证据,**不逐域三跨 e2e**;本组证据可滚动累计。
|
||
- **Patterns**:`deploy/smoke-test.sh` envelope 检;`.agents/skills/ui-walkthrough-cdp.md`。
|
||
- **Test scenarios**:各域关键 API 200/code=0 + 空数据 + 权限/归属隔离;各域 1 CDP 页关键元素渲染。
|
||
- **Verification**:每域三件(API/单测/CDP 抽检)就绪即冻。
|
||
|
||
#### U5. 8页 CDP 走查 harness(R7)
|
||
|
||
- **Goal**:8 页真数据走查,**零未捕获异常 + 零 5xx/关键接口 4xx + 每页关键元素/数据渲染断言**(非"控制台零 error")。
|
||
- **Requirements**:R7。
|
||
- **Dependencies**:无(play 页本阶段用 seed 游戏;SAA 生成游戏走查在 U8)。
|
||
- **Files**:走查脚本(CDP,8 页)。
|
||
- **Approach**:studio 创作 / feed / play / admin 审核 / admin 运营 / 素材中心 / 玩法中心 / 创作者主页;某页发布前不可达则标 `skipped`+原因,不自动判 B 不过。
|
||
- **Patterns**:`.agents/skills/ui-walkthrough-cdp.md`;HJ-FE-WALK-001。
|
||
- **Test scenarios**:每页关键元素/数据渲染断言;零未捕获异常;零 5xx/关键 4xx;skipped 路记原因。
|
||
- **Verification**:8 页截图 + 断言(skipped 页注原因)。
|
||
|
||
#### U6. smoke 5链路 staging 真绿 + R3 reframe(R3)
|
||
|
||
- **Goal**:`deploy/smoke-test.sh` 五条业务链路 staging 真绿(含 `--deep` 入队 200/code=0);明示 **R3 = 基础设施/链路就绪门,不代理 R1**(对 dispatcher=http/saa 同绿)。
|
||
- **Requirements**:R3。
|
||
- **Dependencies**:无(staging 在线)。
|
||
- **Files**:`deploy/smoke-test.sh`(若需补口径注释)、运行记录。
|
||
- **Approach**:跑 smoke 默认 + `--deep`;确认五链路绿;记录 R3 不作生成路证据(评审 P0-1)。
|
||
- **Patterns**:`.agents/skills/staging-ops.md`;`deploy/smoke-test.sh`。
|
||
- **Test scenarios**:五链路逐项 PASS;`--deep` 入队 200/code=0;任一 FAIL 归因。
|
||
- **Verification**:`SMOKE_VERDICT=PASS`。
|
||
|
||
---
|
||
|
||
### Phase 2 — gated on gen-done(Plan A ≥80%)+ U1 资产
|
||
|
||
#### U7. 设计完整性 rubric 评分(R9)
|
||
|
||
- **Goal**:rubric(5 项 ×0-2:资产对位[一票否决]/玩法目标完整/反馈充分/难度/内容非退化)对 Plan A 的 ≥80% 批抽 **8 款**人工逐项打分,**均分 ≥1.4 且 资产对位 ≥1**。
|
||
- **Requirements**:R9。
|
||
- **Dependencies**:**Plan A gen-done(≥80% 批)+ U1(资产渲染)**。
|
||
- **Files**:rubric 评分表/记录(`docs/agent-specs/` 或 evidence 目录)。
|
||
- **Approach**:与九门划界——F/I/H/control 引用不重打,rubric 只补九门测不到层;人工(创始人或指派)亲玩/观玩打分。
|
||
- **Test scenarios**:Test expectation: none —— 评分流程,非代码单元;交付 = 打分协议 + 8 款评分表。
|
||
- **Verification**:8 款评分表 + 均分 ≥1.4 + 资产对位项无 0。
|
||
|
||
#### U8. 创作→生成→feed真玩纵切 + 资产可见(R4 + R11 in-context)
|
||
|
||
- **Goal**:一句话经 SAA 路生成→发布→feed 真玩到终局,资产可见。
|
||
- **Requirements**:R4、R11。
|
||
- **Dependencies**:**Plan A gen-done + U1 资产**;mini-desktop(与 Plan A e2e 串行排队)。
|
||
- **Files**:e2e 脚本(`SaaFullGraphE2eTest` / `play.cdp.cjs` + feed CDP)。
|
||
- **Approach**:最小断言集 = CDP 启动帧(非空 canvas)+ 交互后状态截图 + `game_project` ≥ published + 遥测 `session_start`/终局事件;用 SAA 路生成的游戏;资产经 U1 比对命中。
|
||
- **Patterns**:`game-runtime/games/_wg1-gen/_shared/play.cdp.cjs` nine-gate;`SaaFullGraphE2eTest`;003-U1 e2e 工具。
|
||
- **Test scenarios**:**Covers R4** feed 真玩到终局 + CDP 截图 + 落库/遥测事件;**Covers R11** 资产特征比对命中;edge 生成失败就地降级。
|
||
- **Verification**:CDP 四件套 + DB/遥测行。
|
||
|
||
#### U9. M0 core 联合验收门(003-U3)
|
||
|
||
- **Goal**:M0 core e2e = 一句话真生成可玩游戏 + 三契约(API/dispatcher/manifest)对齐。
|
||
- **Requirements**:origin 003-U3。
|
||
- **Dependencies**:**Plan A gen-done + U1 + U8**;mini-desktop。
|
||
- **Files**:集成验收(无新文件);挂总账 M0 里程碑追踪。
|
||
- **Approach**:mini-desktop CDP 一句话端到端 + 三契约核;M0+(入 feed/审核)随就绪联合验。
|
||
- **Test scenarios**:Test expectation: none —— 集成验收门;交付 = M0 core e2e 证据。
|
||
- **Verification**:M0 core e2e 过 + 三契约对上。
|
||
|
||
---
|
||
|
||
### Phase 3 — 最终收口(全依赖)
|
||
|
||
#### U10. 双里程碑收口 + 最终 Phase-1 验收(R10 / 003-U4)
|
||
|
||
- **Goal**:`core-done` = U1–U9 证据冻;`Phase-1 done = gen-done ∧ core-done`;创始人签核;最终回归。
|
||
- **Requirements**:R10;origin 003-U4。
|
||
- **Dependencies**:**U1–U9 + Plan A gen-done**。
|
||
- **Files**:收口记录 + `docs/mvp/MVP进度总账.md` 回填。
|
||
- **Approach**:收口口径 = R1/R2/R4/R5/R6 同一运行窗口(≤2 工作日)收齐 + R8 滚动累计 + 创始人 24h 签核;最终回归 = `deploy/smoke-test.sh` 绿 + 8 页 CDP 走查真数据 + 简单游戏 e2e + 经济 e2e;M1/M2/M3 域逐项绑 002 对应 unit + 证据。
|
||
- **Test scenarios**:Test expectation: none —— 最终回归/收口门。
|
||
- **Verification**:全过 = **Phase-1 done**(gen-done ∧ core-done 各自打勾 + 总判签核)。
|
||
|
||
---
|
||
|
||
## 范围边界
|
||
|
||
**Deferred to Follow-Up Work**
|
||
- 广度域逐域三跨 e2e(本档只抽检);MQ 异步化、best-of-N。
|
||
|
||
**非本档(归他处)**
|
||
- gen-done = Plan A(003-U1 用对 M3 + 003-U2 flip)+ T1/T2 跨档 TODO。
|
||
- 性能/可用性轴(feed 首屏 P75<3s / 可用性 ≥99.5%)延后 Phase-2(风险接受,见 origin)。
|
||
- 真广告/真支付/实名/ICP(日历闸门)= mock;3D/Cocos/复杂游戏(P2/P3)。
|
||
|
||
## 依赖与前置
|
||
|
||
- **Plan A(gen-done)**:Phase 2/3 的 game-quality 门(U7/U8/U9/U10)消费其 ≥80% 产出(单向、末段)。Plan A 另落 T1(回退同契约实证)、T2(flip 两步消 R1↔R2 循环)。
|
||
- **mini-desktop**(九门 e2e + 端口 4320/9222 + flock):U8/U9/U10 e2e 与 Plan A 量测**串行排队**。
|
||
- 003-U1 e2e 工具(已合 `dev/2.0.0`)、`NEWAPI_KEY`(`docs/内网凭据与端点.md`)。
|
||
- Phase 1 真验证前提:plan002 前端(U8/U9/U10)`VITE_API_BASE`→staging。
|
||
|
||
## 风险
|
||
|
||
- **R1 game-quality 门等 gen-done**:Plan A ≥80% 可达性未证(v3 用法错为主因但 n=5)→ U7/U8/U9 收口时点不定。缓解:Phase 1 全独立先冻,gen-done 到再跑 Phase 2。
|
||
- **R2 gd-runtime 单 owner**:本档独占 gd-runtime,Plan A 走 DESIGN_SYSTEM——若 Plan A 误改 gd-runtime 则冲突。缓解:Plan A prompt 已铁律标注。
|
||
- **R3 mini-desktop 串行瓶颈**:两线 e2e 排队;缓解 = flock 单实例锁 + 错峰。
|
||
|
||
## 来源
|
||
|
||
- `docs/brainstorms/2026-06-19-plan003-phase1验收闭环-requirements.md`(origin,过 §6.8 双评审)。
|
||
- `docs/plans/2026-06-18-003-feat-gen-quality-converge-and-m0-integration-plan.md`(003-U3/U4/U5)。
|
||
- `.agents/skills/{game-e2e-cdp-harness,ui-walkthrough-cdp,staging-ops,saa-graph-orchestration}.md`。
|
||
- `deploy/smoke-test.sh`;`docs/mvp/MVP进度总账.md`。
|