docs(mvp): B2 数据回路 A/B e2e 收口 + JSON 列写入红线蒸馏
总账/作战清单:M3 发布链 + 数据回路(M5 种子)标真实 e2e —— A弱(q28)/B强(q88)→事件落库→quality_score→feed 重排(B超A)→重放同 eventId 幂等,§0 验收门三条全过;telemetry/feed/链路5 真实度上修。engineering-conventions §1.2 新增「JSON 列必须写合法 JSON、禁 Map.toString()」红线(B2 实测教训)。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
33b8f6becf
commit
097f14b0b6
@ -31,6 +31,7 @@
|
||||
- 大表查询必须命中索引;`WHERE`/`ORDER BY`/`JOIN` 字段需有对应索引,新查询要确认执行计划。
|
||||
- 分页用游标或 `LIMIT`;禁止深分页 `LIMIT 100000,20` 这类全表扫描。
|
||||
- 复杂查询走 MyBatis XML,简单 CRUD 用 MyBatis-Plus。
|
||||
- **JSON 列写入**:映射 MySQL `json` 列的 DO 字段必须存**合法 JSON 文本**——用 `JsonUtils.toJsonString(obj)` 序列化,**严禁 `Map/对象.toString()`**(产出 `{k=v}` 非合法 JSON,MySQL 抛 `Invalid JSON text` 致整批事务回滚)。⚠️ 单测 mock mapper **测不到**此约束,须靠集成测试(Testcontainers)或 staging 实测兜底(B2 实测教训)。
|
||||
|
||||
### 1.3 错误码分配(每模块独占一段,禁止冲突)
|
||||
|
||||
|
||||
@ -30,7 +30,8 @@
|
||||
|
||||
- [x] **B0 锁定执行 spec**(✅ 2026-06-09 v2 定稿 `867c452`,主 agent 独立核验 + Codex 两轮评审 Go,D-PUB=α 已拍板):化解 autoplan 挖出的 5 个 critical —— 精确定义"可见态"(project PUBLISHED + package READY + versionId + rank.status=1) · 发布编排 `APPROVED→PUBLISHED` · version 创建链 · `package_json` 多文件契约 · `eventId` 幂等契约。**含一项需你点头的架构决策:审核通过是否自动发布到 PUBLISHED。** `done=execution spec 过自审 + 你点头`
|
||||
- [x] **B1 批次①契约/状态机校正** ✅ **2026-06-09 staging e2e 实证**(submit→人工 APPROVE→项目 PUBLISHED(4)+包 status=1+版本 status=3+feed_rank+feed/stream 读到它;三提交 e670eaf/1740d8c/a707687,mvn+5 模块单测+vue-tsc 全绿,两轮 Codex 评审)(含 6 个开工前置项:`VITE_API_BASE` / mock 门控 / token=test1+tenant-id / 本机 vite dev 连 staging / 契约裁决 / beacon 走 baseURL)。`done=前端真连 staging、发布能进 PUBLISHED、feed 读 rank`
|
||||
- [ ] **B2 批次②最小数据闭环** ← **护城河种子真实起步**:PackageFactory→落包→发布入 feed→试玩→事件落库→quality_score→feed 排序。`done=A/B 验收协议通过(见 §0 验收门)`
|
||||
- [x] **B2 批次②最小数据回路** ✅ **§0 验收门三条全过(2026-06-09 staging e2e)**:克隆 9001→9002 两款已发布游戏,A弱互动(q=28)/B强互动(q=88)→事件落库→quality_score→feed_rank.sort_score→**feed 重排(B超A)**→重放同 eventId 不重复计数(真 HTTP+真后端+真库)。**顺修 B1 潜伏 bug**:`props` 落 MySQL `json` 列原用 `Map.toString()` 致 `Invalid JSON text` 整批回滚,改 `JsonUtils.toJsonString`(+回归守卫单测,telemetry 13 测绿)。
|
||||
- [ ] **B2′ 真实可玩 runtime(人可演示半)**:PackageFactory + clicker 小游戏在 game-studio **人能点着玩**、试玩自然产 play/like/share → 看 feed 真重排;顺修 feed 卡片 title/cover=null(跟踪项①)。`done=浏览器里玩→feed 真重排`
|
||||
- [ ] **B3 批次③小卖部皮肤 + ≥10 参数化种子内容**(可降级)。`done=feed 有内容池,不是两款游戏赛马`
|
||||
- [ ] **B4 其余 4 链路烟测登记**(广告/收益/分享/互动):HTTP 通 + code==0 + 结构符 yaml,标【真实/桩】。`done=缺口登记总账`
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
> **本文件是项目管理唯一活账**:把「计划 ↔ 完成 ↔ 待办 ↔ 执行记录」对在一起。
|
||||
> **铁律**:每次波次收口、每次里程碑状态变化,**必须同步更新本表 + 对应模块 `.agent`**,否则视为未收口。
|
||||
> 计划权威来源:`.agents/knowledge/mvp-scope-and-milestones.md`(55 P0 / 137 技术项 / M0-M5)、`docs/architecture/{产品需求清单,技术架构与模块,需求模块映射}.md`(Doc A/B/C)、`docs/superpowers/specs/mvp-execution-spec-design.md`。
|
||||
> 维护:主 agent | 最近更新:**2026-06-09**(建账,对账至 commit `8565fa2`)。
|
||||
> 维护:主 agent | 最近更新:**2026-06-09**(B2 数据回路 A/B e2e 收口 + 修 telemetry props/json 列 bug;对账至 commit `aa99e76`+本次)。
|
||||
|
||||
---
|
||||
|
||||
@ -13,7 +13,8 @@
|
||||
|
||||
- ✅ **M0 契约锁定 + M1 全栈可启动** 已达成(单体真启动、Flyway V1-V9 全绿、admin/app-api 200,staging 在 mini-desktop 在线)。
|
||||
- 🟡 已建 **9/13** 个 game 模块脊柱(owner 覆盖 43/55 P0),但**大多是骨架 + 桩 + 单测**,不是真实端到端。
|
||||
- ❌ 按真正验收线「**55/55 P0 产品功能可验证 + 生成成功率≥80%**」衡量,**真实可验收的 P0 还很少**(project CRUD / 发布锁风门 / feed 流结构)。大头——**真实生成(M2) / 真实分发(M3) / 真实变现(M4) / 数据回路(M5)**——仍是桩。
|
||||
- 🟢 **发布链(M3) + 数据回路种子(M5) 已 e2e 真实**(B1 发布编排跨 4 表 + B2 遥测→quality_score→feed 重排+幂等)。
|
||||
- ❌ 按真正验收线「**55/55 P0 产品功能可验证 + 生成成功率≥80%**」衡量,**真实可验收的 P0 仍少**。大头——**真实生成(M2) / 真实变现(M4)**——仍是桩;**数据回路(M5)** 余 MQ 异步化 + 真实试玩前端(人可玩 demo)。
|
||||
|
||||
> 换算:**结构骨架 ≈ 70%,真实产品功能验收 ≈ 早期(个位数 P0 端到端可验证)**。两者勿混淆——这正是过去"波次跑完=进度推进"的认知偏差所在。
|
||||
|
||||
@ -26,7 +27,7 @@
|
||||
| **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 YudaoServerApplication`;Flyway V1-V9 全 success;24 张 game_* 表;admin-api `/system/user/page`→20 真实用户、app-api `/feed/stream`→200 | 启动修复 `d7fac90`+`8565fa2` |
|
||||
| **M2 创作链路(真 LLM)** | 6/18(Day8) | ❌ **未达成** | aigc/studio 为骨架+桩,Dify 真实生成未接;"生成成功率≥80%"无法测 | → P1 桩真实化 |
|
||||
| **M3 分发链路** | 6/20(Day10) | 🟢 **发布链真实(6/9 e2e)** | **黄金闭环 B1 staging 实证**:submit→锁风门→人工 APPROVE→**发布编排一次事务跨 4 表**(项目PUBLISHED4+包1+版本3+feed_rank)→feed/stream 读到它;前端联调改造已合(真连 staging)。**仍待 B2**:真实 clicker-plus runtime 试玩 + 数据回路 A/B + 互动/分享真采 | `6c8844f`→`a707687` |
|
||||
| **M3 分发链路** | 6/20(Day10) | 🟢 **发布链+数据回路真实(6/9 e2e)** | **B1**:submit→锁风门→APPROVE→发布编排一次事务跨4表→feed 可见。**B2 数据回路**:A弱(q28)/B强(q88)→事件落库→quality_score→sort_score→**feed重排(B超A)**→重放幂等(§0验收门全过);顺修 props/json 列 bug(+回归守卫)。**仍待**:真实可玩 runtime(人点着玩产事件)+ 互动/分享真采 | `6c8844f`→`a707687`+B2 fix |
|
||||
| **M4 变现链路** | 6/23(Day11) | 🟡 **部分** | ad/trade 骨架(slot/settle/分账/提现);真实广告联盟=桩、pay 模块未接单体 | `43fce85` |
|
||||
| **M5 MVP 交付** | 6/27(Day15) | ❌ **未达成** | 55/55 P0 真实可验收 + 冒烟全绿 + P0 Bug=0 远未达 | — |
|
||||
|
||||
@ -41,8 +42,8 @@
|
||||
| **project** | 5 | ✅成熟 | 1(15 例) | project.yaml | V1 | ✅ | ✅ 状态机/归属/审核/发布门禁/CRUD **真实**;本模块最成熟 | `c4e2d73`·`096020f`·`6c8844f` |
|
||||
| **aigc** | 3 | 🟡 | 1 | aigc.yaml | V2 | ✅ | 任务态+seam;**Dify 真实生成=桩** | `c4e2d73` |
|
||||
| **runtime** | 3 | 🟡 | 4 | runtime.yaml | V3 | ✅ | build/session/package DO;**真实编译打包=桩** | `c4e2d73`·`2ae0c6f` |
|
||||
| **feed** | 13 | 🟡 | 1 | feed.yaml | V4 | ✅ | stream/zones 结构(curl 200);**quality_score 排序/真实互动/分享=桩** | `c4e2d73` |
|
||||
| **telemetry** | 1 | 🟡 | 3 | telemetry.yaml | V5 | ✅ | 事件接收骨架;**MQ 消费聚合/质量分=桩** | `c4e2d73` |
|
||||
| **feed** | 13 | 🟡 | 1 | feed.yaml | V4 | ✅ | stream/zones 结构(curl 200);**quality_score 排序=真实(B2 回灌 e2e)**;真实互动/分享=桩;卡片 title/cover 回填=null(待修) | `c4e2d73`·B2 |
|
||||
| **telemetry** | 1 | 🟡 | 3 | telemetry.yaml | V5 | ✅ | **事件同步写落库+quality_score算分+feed回灌 真实 e2e(B2)**;MQ 异步聚合留 TODO(桩) | `c4e2d73`·B2 |
|
||||
| **ad** | 2 | 🟡 | 2 | ad.yaml | V6 | ✅ | slot/settle 骨架;**真实广告联盟=桩** | `43fce85`·`096020f` |
|
||||
| **trade** | 3 | 🟡 | 4 | trade.yaml | V7 | ✅ | 分账/结算/提现骨架;**真实 pay=桩** | `43fce85`·`096020f` |
|
||||
| **studio** | 7 | 🟡 | 1 | studio.yaml | V8 | ✅ | 创作任务链+aigc seam;**真实生成编排=桩** | `b70e90b` |
|
||||
@ -65,7 +66,7 @@
|
||||
| 2 | 发布 → 审核 → 游戏流 | 🟡 | publish+锁风门 curl 真实、审核状态机真实、feed 结构在;**前端未接** |
|
||||
| 3 | 游戏流 → 试玩 → 互动 → 分享 | 🟡 | 结构骨架;**runtime 编译/互动/分享=桩** |
|
||||
| 4 | 广告展示 → 收益 → 钱包可见 | 🟡 | 骨架;**真实广告/pay=桩** |
|
||||
| 5 | 遥测 → 质量分 → 推荐优化(数据回路) | ❌ | 仅事件接收骨架;**MQ 聚合/quality_score/feed 反哺=桩** |
|
||||
| 5 | 遥测 → 质量分 → 推荐优化(数据回路) | 🟢 | **数据回路 e2e 真实(B2)**:事件→quality_score→feed 重排(B超A)+重放幂等;MQ 异步化/真实试玩前端待补 |
|
||||
|
||||
---
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user