games-development-ai/docs/agent-specs/2026-06-08-后端模块并行建设-review.md
zizi c4e2d73300 feat(backend): Wave1 后端脊柱 5 模块 + 8 类契约 + yudao-cloud fork 接线
- game-cloud:yudao-cloud fork(裁剪至 system/infra)+ 5 业务模块 project/aigc/runtime/feed/telemetry
- 黄金模块 game-module-project + 克隆 4 脊柱模块;46 单测绿 + 41 模块集成编译绿
- contracts/:8 类契约锁定(5 API YAML + sdk-interface.d.ts + game-package.schema + events 等)
- yudao-server 接线:全局组件扫描 + @MapperScan + Flyway V1-V5(baseline-version=0)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-08 09:10:05 +00:00

8.6 KiB
Raw Blame History

后端 12 模块并行建设 — Review 版 Master Plan

编号HJ-BUILD-001 生成 2026-06-08 类型review 版(结论先行,供决策,不含代码级细节) 配套执行版(待批准后写):2026-06-08-后端模块并行建设-execution.md 上游依据黄金模块已验证memory golden-module-project-verified)、契约 M0 已锁(contracts/、MVP 执行 specHJ-MVP-SPEC-001、架构三文档套件Doc A/B/C、克隆 playbook.agents/skills/add-business-module.md)。


一、结论(先行)

  1. 现在可以从串行手写切换到"契约先行 × N 路并行 × 逐模块验证门":地基(黄金范式 + 8 契约 + 工具链)已验证,剩余 12 模块本质是"克隆范式 + 实现各自已锁契约",模块间被契约解耦 → 可并行。
  2. 并行很干净:全局扫描已覆盖整个 cn.wanxiang.game.module 命名空间,新模块零接线自动生效;唯一共享改动面 = yudao-server/pom.xml 依赖 + Flyway 版本号——由主 agent 串行统一处理,子 agent 只在隔离 worktree 内建+验模块,互不冲突。
  3. 按闭环优先分三波,先证 1 条真闭环,再补变现与治理。每模块的验证门 = mvn 编译通过 + Service 单测绿(与 project 同标准)。
  4. 需先补 12 模块的契约API yaml + DB 迁移 + 错误码段),契约是并行的前置与单一事实源,须主 agent 评审锁定后才放并行建设。
  5. 本计划本身是抗漂移产物:目标/决策/推理写入本 doc + 执行版 + 各模块 .agent,不依赖会话记忆。

二、背景与现状(已验证的地基,勿重复造)

资产 状态
黄金模块 game-module-project-api/-server 编译 + 单测验证BUILD SUCCESS, 9/9
8 类契约M0 已锁project 的 API+DB 已落;其余 12 模块契约待补
B 路线全局接线(扫描/MapperScan/type-aliases = cn.wanxiang.game.module 已生效,新模块自动纳入
工具链 JDK17+Maven、.m2 依赖缓存 就绪(后续构建快)
克隆 playbook add-business-module.md ⚠ 存在但过时(-biz/game-server//app,未反映全局扫描),须先校正

三、目标 / 非目标

目标:把 MVP 后端剩余 12 个 game-module 建成可编译、可单测、接入单体的标准模块,先走通 1 条真实闭环脊柱再补变现与治理全过程契约先行、durable 记录、并行加速。

非目标(本阶段不做)

  • 不追求真实外部依赖打通Dify/LLM/真实支付/广告 SDK = 人工日历闸门,见 memory mvp-binding-constraint-calendar-gates)——这些模块交付"可编译骨架 + 契约对接点",真实联调待闸门就绪。
  • 不做公网正式上线MVP 验收 = staging 灰度,见绑定约束 memory
  • 不在本阶段做前端game-admin/game-studio

四、推荐方案:契约先行 × N 路并行 × 验证门

三相推进,相内并行、相间设闸:

  • Phase 0校正 playbook主 agent~0.5h:把 add-business-module.md 与黄金现实对齐(-biz-servergame-serveryudao-server/app/app-api、注明全局扫描免逐模块接线、样板指向 project作为子 agent 唯一遵循的执行手册。
  • Phase A契约扩展并行起草 + 主 agent 评审锁定):为每模块产出 api-schemas/{name}.yaml + db-schemas/V{x}__{name}.sql + 错误码段,源自 Doc C 需求模块映射。子 agent 各起草一模块,主 agent 审跨模块一致性后锁定(契约是单一事实源,不可并行写完即用)。
  • Phase B模块并行建设子 agentworktree 隔离):每子 agent 克隆 project 范式实现一模块 → mvn -pl {module} -am compile + test 自验。互不触碰 yudao-server。
  • Phase C集成主 agent 串行):统一加 N 个 yudao-server/pom.xml 依赖、协调 Flyway 版本号、mvn install 全量绿、汇总验收。

闭环优先分波Phase A/B 按波推进)

flowchart LR
  P[project ✅] --> W1
  subgraph W1[Wave1 闭环脊柱先证1条真闭环]
    A[aigc 101·壳] --> R[runtime 102] --> F[feed 103] --> T[telemetry 104]
  end
  W1 --> W2
  subgraph W2[Wave2 变现闭环]
    AD[ad 111] --> TR[trade 106] --> PAY[pay 105]
  end
  W2 --> W3
  subgraph W3[Wave3 互动与治理]
    C[community 107] --- CO[compliance 109] --- IP[ip 108] --- B[biz 110]
  end

脊柱走通 = 创作→生成(壳)→预览→流→试玩→遥测 在 staging 可跑 ≥1 条aigc 真实生成待 Dify/LLM 闸门。


五、关键设计决策与取舍

# 决策 理由 / 取舍
1 子 agent 用 worktree 隔离 并行建模块 多 agent 同时写文件不冲突;代价是每 agent ~200-500ms+磁盘,值得(避免串行)。
2 集成pom/Flyway只由主 agent 串行做 yudao-server/pom.xml 与 Flyway 版本空间是唯一共享面,串行化消除合并冲突。
3 验证门 = 编译 + Service 单测(非集成测试) 本环境无 Docker/MySQL集成测试Testcontainers跑不了单测用 Mockito 覆盖业务逻辑,集成测试标注为 staging 阶段。诚实标注运行时未验证。
4 aigc/pay/ad 等先交付骨架 真实联调卡人工日历闸门;骨架先就位让闭环结构成立、契约对接点明确,闸门一到即填。
5 契约先补齐再并行建 契约是解耦前提与单一事实源;若边建边定契约,并行模块会互相打架。
6 跨模块只依赖对方 -apiFeign 同步 / MQ 异步) playbook 常见坑:-server 互依赖会编译耦合/循环依赖。

六、编排架构

flowchart TD
  Main[主 agent编排 + 评审 + 集成 + 验收] -->|Phase0 校正| PB[playbook 对齐黄金现实]
  Main -->|Phase A 派发| CA1[子:起草 aigc 契约]
  Main -->|Phase A 派发| CA2[子:起草 runtime 契约]
  Main -->|Phase A 派发| CAx[子:起草 ...其余契约]
  CA1 & CA2 & CAx -->|回收| Rev[主 agent 评审跨模块一致性 → 锁定契约]
  Rev -->|Phase B 派发, worktree 隔离| B1[子:建 aigc → mvn 编译+单测自验]
  Rev -->|Phase B 派发| B2[子:建 runtime → 自验]
  Rev -->|Phase B 派发| Bx[子:建 ...]
  B1 & B2 & Bx -->|回收已验证模块| Int[主 agent Phase C 串行集成]
  Int -->|加 pom 依赖 + 协调 Flyway 版本| Full[mvn install 全量验证]
  Full --> Acc[验收 + 更新 .agent/契约/记忆]

七、Blast radius / 风险与缓解

风险 影响 缓解
并行 agent 抢改 yudao-server/pom.xml/Flyway 合并冲突、构建坏 集成只由主 agent 串行做(决策 2
12 模块契约一次性补,质量参差 单一事实源被污染 Phase A 主 agent 评审门 + 复用 project 契约结构
真实外部依赖未通被误判"完成" 验收虚高 骨架模块显式标注"运行时/联调未验证,待闸门"(决策 4
Flyway 多模块版本号撞车 迁移乱序/校验失败 主 agent 统一版本空间:V{模块序}.{x.y},集成期分配
playbook 过时致子 agent 漂移 产出不一致 Phase 0 先校正 playbook决策硬前置
子 agent 关键任务质量 范式走样 关键任务子 agent 跑 Opusmemory opus-subagents-critical-tasks),主 agent 验证门兜底

八、验收标准

  • 每模块:mvn -pl {module} -am compile 绿 + Service 单测绿 + 契约文件入 contracts/
  • 整体:mvn install 全量绿;cn.wanxiang.game.module 下 13 模块全部被扫描接入。
  • 脊柱Wave1能在 staging有基建时走通 ≥1 条闭环(创作→生成壳→预览→流→试玩→遥测)。
  • 文档:每模块 .agent + 契约同步 + 本计划/执行版/记忆更新,无信息只活在会话

九、待你确认(决策项)

  1. 是否采纳本 review 方案(契约先行 × 三相并行 × 闭环优先分波)?
  2. 执行编排载体:用 Workflow 编排(确定性并行/流水线,一次跑多 agenttoken 量较大)还是我手动逐波派 Agent(更可控、可中途校准)?
  3. 分波范围:先只做 Wave1 脊柱4 模块)验证编排有效,还是一次规划三波全量?
  4. 骨架深度aigc/pay/ad 等外部依赖模块,只搭骨架+契约对接点(推荐)还是连 mock 实现一并做?

批准后我:①写执行版 spec ②校正 playbook ③按选定载体派并行子 agent主 agent 设验证门 + 串行集成。