docs(organizer): 06-16增量文档整理——压2归2+玩法模板术语17处对齐+总账除漂移
doc-organizer 两阶段审批门·阶段二(创始人批:执行/全改17处/清PNG/动态日期)。 分析相=25 opus agent 三轴只读 fan-out;计划经 opus 对抗评审 GO-带必修。 轴①过期分类(20档): - COMPRESS 2桩: round2-staging-e2e-verdict→round3(703e462c)、生成引擎-并行编排→多session总账 - ARCHIVE 2: 技术决策版重写-review(对齐已落)/视觉增强repair-review(NO-GO) 入 _archive/ - KEEP 16: W-G1开闸验收门/studio设计体系HJ-FE-DS-001/生成线 在飞 SoT 不动 轴②核心档措辞: - 玩法模板术语17处跨4核心档+工具analyze.mjs TRUTH 对齐 HJ-DEMO-AUDIT-001 (废=游戏模板/填参线;玩法模板=品类框架·引导生成·未废=最高优先级待建) - Dify/OpenGame家族0真改(已标作废/future-state/决策史,证实06-16对齐可信) - W-T1b-Runner历史档顶部加术语指针(正文不改) 轴③总账: M2现在时漂移修(四模板→W-CLEAN清+generic桥接接棒,demo审计C6) + 06-17工作回填(SAA trace真库收口/generic开闸首件/crypto.subtle整款加载修/census) 工具: doc-organizer.sh 硬编码06-16→动态 latest_date(免一天即过期) 清: 7证据PNG(留report.md) | _index 活地图维护(supersede链/补漏登/修断链) 留痕: docs/agent-specs/2026-06-17-文档整理-plan.md(计划+评审) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ -25,7 +25,7 @@
|
||||
| **单体启动** | 13 个业务模块编译为同一 JAR(game-server),用 Spring Profile 控制模块加载;需独立扩缩时改 Nacos 配置即拆为独立微服务(Huijing Cloud 原生支持)。 |
|
||||
| **契约先行**(contract-first) | Day 0 先锁定契约文件写入 `contracts/` 提交 git,各工位据此 mock 并行开发,联调延后至 Day 11。共 **8 类契约**:7 个 Day-0 `contracts/` 文件(API/DB/SDK/GamePackage/事件/~~Dify IO~~〔Dify 已降级远期未部署,见 `contracts/DEPRECATED-dify-workflow-io.md`〕/广告位)+ Prompt Registry(`contracts/prompts/`)为第 8 类。 |
|
||||
| **门禁(7 道)** | 创作全链路 7 道质量/合规阻断点:①Prompt 安全 ②AI 产出合规 ③资产入库版权+风格 ④组装 Schema 完整性 ⑤编译后性能(≤10MB/首屏≤2MB/无外网) ⑥预览可玩性自测 ⑦发布终审(合规+适龄)。 |
|
||||
| **Fallback 生成器**(确定性 Fallback) | LLM 不可用/超时/熔断时退化为确定性兜底产出,保证生成链路不全断。(~~"模板填充"~~ 措辞按 2026-06-12 模板哲学更新:玩法模板层已废除,兜底走固定可玩产物,非旧"模板填参"线;生成主线=agent 写码于插件库 HJ-GEN-001。) |
|
||||
| **Fallback 生成器**(确定性 Fallback) | LLM 不可用/超时/熔断时退化为确定性兜底产出,保证生成链路不全断。(~~"模板填充"~~ 措辞按 2026-06-12 模板哲学更新:游戏模板/填参线已废(W-CLEAN),兜底走固定可玩产物,非旧"模板填参"线;生成主线=agent 写码于插件库 HJ-GEN-001。注:玩法模板(品类框架·引导生成·非 pre-built 代码)未废待建。) |
|
||||
| **Game SDK 降级铁律** | Plugin 层代码全部 try-catch 包裹、异常不向游戏抛;游戏主循环(requestAnimationFrame)永不被 SDK 阻塞——"游戏稳定性 > 数据完整性"。 |
|
||||
| **WS1-WS5** | MVP 5 个工位:WS1 平台基座、WS2 AI 生成、WS3 运行时与分发、WS4 产品前端、WS5 数据与变现(详见 mvp-scope-and-milestones.md)。 |
|
||||
| **M0-M5** | MVP 6 个里程碑:M0 契约锁定 / M1 全栈可启动 / M2 创作链路 / M3 分发链路 / M4 变现链路 / M5 MVP 交付。 |
|
||||
@ -46,7 +46,7 @@
|
||||
| **Golden Config 回归** | 用模板标准配置样例做比对回归,确保模型/模板迭代后生成质量不退化。 |
|
||||
| **trace_id** | Gateway 入口注入、全链路透传(含生成侧 new-api 网关调用与运行时 SDK;~~Dify/OpenGame~~ 已降级远期未部署)的追踪 ID,是调试与可观测的主线。 |
|
||||
| **DAU** | 日活跃用户;MVP 目标 1,000 DAU,正式目标 100,000 DAU。 |
|
||||
| **分层运行时(Tier1/2/3)** | 游戏产物三层:Tier1 极轻量H5/2D(MVP 唯一交付层;**引擎=LittleJS 增强发行版,2026-06-12 终裁**+Runner v2;~~模板双层架构〔核心代码模板/玩法模板〕~~ → **模板=LittleJS 能力插件/二次开发件**(2026-06-12 模板哲学重申:玩法模板层废除,玩法/美术/关卡/UI=agent 生成域,好玩基线 v2 改挂评估门);15KB 红线已废除、改三层约束框架,见 `docs/brainstorms/2026-06-11-tier1-runtime-constraints-requirements.md`);Tier2 复杂2D+3D / Tier3 独立App=Cocos Creator 3.8.8+MCP。详见 tech-decisions §1.1。 |
|
||||
| **分层运行时(Tier1/2/3)** | 游戏产物三层:Tier1 极轻量H5/2D(MVP 唯一交付层;**引擎=LittleJS 增强发行版,2026-06-12 终裁**+Runner v2;~~模板双层架构〔核心代码模板/玩法模板〕~~ → **模板=LittleJS 能力插件/二次开发件**(2026-06-12 模板哲学重申:游戏模板/填参式双层架构已废,玩法/美术/关卡/UI=agent 生成域,好玩基线 v2 改挂评估门;玩法模板(品类框架)未废待建);15KB 红线已废除、改三层约束框架,见 `docs/brainstorms/2026-06-11-tier1-runtime-constraints-requirements.md`);Tier2 复杂2D+3D / Tier3 独立App=Cocos Creator 3.8.8+MCP。详见 tech-decisions §1.1。 |
|
||||
| **Cocos-MCP** | 用 MCP 协议(158 工具)让 AI 驱动 Cocos Creator 3.8.8 编辑器做复杂2D/3D/原生游戏;属有状态 agentic 编排、归 studio(区别于 aigc 的无状态单次文生代码原子;~~原对照"OpenGame"~~ 已降级远期未部署)。 |
|
||||
| **Prompt Registry(Prompt 即契约)** | git `contracts/prompts/` 为全生命周期 prompt 的单一事实源(第 8 类契约):版本化 + 输入输出 Schema 绑定 + 约束块 + Golden 集 + owner,运行时按 `id@version` 加载注入、不内嵌引擎内核。 |
|
||||
| **Prompt 轻量门禁** | prompt 改动 PR 触发的效果验证:Schema 通过率 + 生成成功率≥80% + Golden 回归 + 成本/延迟不劣化 + 人工抽检;可玩性靠行为指标反哺、不做结构化自动评分。 |
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
|
||||
> **⚠️ 现行口径回填(2026-06-12,单源已 commit `1272383` 清毒;本蒸馏同步纠偏)**:下方分层图的「AI 引擎层 / 运行时栈 / 中间件层」为 1.x 蓝图态,部分组件已非现行主线,按下列裁决读:
|
||||
> - **AI 引擎层**:生成主线 = **new-api 网关 → 便宜模型直连**(agent 写码于插件库,HJ-GEN-001 终审);**Dify/OpenGame = 降级远期、从未部署**(C2 / HJ-GEN-001)。agentic 编排基建 = **SAA(Spring AI Alibaba v1.1.2.2)裸图编排 (HJ-AGI-002;short-term SAA-only,AgentScope 降 long-term premium 独立轨)**,「自研编排/DAG 工作流引擎」表述作废。
|
||||
> - **运行时栈 Tier1**:= **LittleJS 增强发行版 + Runner v2**(2026-06-12 创始人终裁);「自研 Canvas Runtime<15KB」废除;「模板双层/玩法模板层」废除→模板=LittleJS 能力插件/二次开发件,玩法/美术/关卡/UI=agent 生成域。Tier2/3 = Cocos+MCP 不变。详见 [`tech-decisions.md`](./tech-decisions.md) §1.1。
|
||||
> - **运行时栈 Tier1**:= **LittleJS 增强发行版 + Runner v2**(2026-06-12 创始人终裁);「自研 Canvas Runtime<15KB」废除;「模板双层/游戏模板(填参式整局代码)」废除(随 W-CLEAN 清)→模板=LittleJS 能力插件/二次开发件;玩法/美术/关卡/UI=agent 生成域。注:「玩法模板」(品类框架·引导生成·非填参代码)未废、当前最高优先级待建(generic 桥接 7534bdf9 暂解 limbo;HJ-DEMO-AUDIT-001)。Tier2/3 = Cocos+MCP 不变。详见 [`tech-decisions.md`](./tech-decisions.md) §1.1。
|
||||
> - **中间件层**:**RocketMQ / Nacos = future-state,MVP 未部署**(异步走 Spring 内事件/同步链路)。
|
||||
|
||||
```
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
|
||||
## 1. 关键决策表(ADR)
|
||||
|
||||
> **⚠️ 回填(2026-06-10,HJ-AUDIT-001;再回填 2026-06-12;三回填 2026-06-15 HJ-AGI-002)**:下表「AI 生成引擎」行已被取代两轮——~~C2 裁定后 MVP 主线=模板驱动(LLM 直出 GameConfig+固定模板)~~ → **现行主线=agent 写码于插件库**(HJ-GEN-001 终审 2026-06-12:玩法模板层废除随 W-CLEAN 清除,填参线退役;生产生成=便宜模型经 new-api+harness 门,agentic 基建=SAA(Spring AI Alibaba v1.1.2.2)裸图编排 (HJ-AGI-002;short-term SAA-only,AgentScope 降 long-term premium 独立轨))。Dify/OpenGame 均未部署、降级远期。§1.1 Tier1 行的「OpenGame 文生代码」同此。
|
||||
> **⚠️ 回填(2026-06-10,HJ-AUDIT-001;再回填 2026-06-12;三回填 2026-06-15 HJ-AGI-002)**:下表「AI 生成引擎」行已被取代两轮——~~C2 裁定后 MVP 主线=模板驱动(LLM 直出 GameConfig+固定模板)~~ → **现行主线=agent 写码于插件库**(HJ-GEN-001 终审 2026-06-12:游戏模板/填参线随 W-CLEAN 清除退役;**「玩法模板」(品类框架·引导生成·非 pre-built 代码)未废=当前最高优先级待建(HJ-DEMO-AUDIT-001 创始人 06-17 纠正)**;生产生成=便宜模型经 new-api+harness 门,agentic 基建=SAA(Spring AI Alibaba v1.1.2.2)裸图编排 (HJ-AGI-002;short-term SAA-only,AgentScope 降 long-term premium 独立轨))。Dify/OpenGame 均未部署、降级远期。§1.1 Tier1 行的「OpenGame 文生代码」同此。
|
||||
> **⚠️ 回填(2026-06-11,Tier1 重设计·创始人专门会话)**:下表「游戏运行时」行的 **Tier1「自研 Canvas<15KB」被二次质疑裁定取代**——自研壳实为机制演示(资产载而不绘/零 juice/只胜不败),手搓引擎=critical risk;**15KB 红线废除**(系 srcdoc 内联架构的衍生约束,前提已失效),改为三层约束框架(SLO 地板@千元机+4G P75 / 预算入场券 B1 gz≤350KB·raw≤1.5MB / 工程增强层 E1-E6),引擎=契约下可换的实现,**终裁待 LittleJS vs Phaser eval-spike**。单一事实源:`docs/brainstorms/2026-06-11-tier1-runtime-constraints-requirements.md` + `docs/agent-specs/_archive/2026-06-11-Tier1运行时重设计-review.md`。
|
||||
|
||||
| 决策点 | 选择 | 理由 | 放弃的备选(why-not) | 风险 |
|
||||
@ -31,11 +31,11 @@
|
||||
|
||||
### 1.1 分层运行时设计
|
||||
|
||||
游戏产物分三层,对应不同运行时:**Tier1 = LittleJS 增强发行版 + Runner v2(agent 写码于插件库生成,HJ-GEN-001;~~原「自研 Canvas + OpenGame 生成」已废除~~,见下表);Tier2/3 统一用 Cocos Creator 3.8.8 + MCP。** MVP 仅交付 Tier1;非目标保持收敛(Tier2/3 仅远期探针,见 §7)。
|
||||
游戏产物分三层,对应不同运行时:**Tier1 = LittleJS 增强发行版 + Runner v2(agent 写码于插件库生成,HJ-GEN-001;~~原「自研 Canvas + OpenGame 生成」已废除~~,见下表);Tier2/3 统一用 Cocos Creator 3.8.8 + MCP。**(术语澄清:废的是游戏模板/填参线(W-CLEAN),「玩法模板」(品类框架)未废、待建。) MVP 仅交付 Tier1;非目标保持收敛(Tier2/3 仅远期探针,见 §7)。
|
||||
|
||||
| 层 | 定位 | 选型 | 生成路径 | 状态 |
|
||||
|---|---|---|---|---|
|
||||
| **Tier1 极轻量H5/2D** | 游戏流即点即玩,首屏 P75<3s + 点卡→可玩 S2(常态≤2s) | ~~自研轻量 Canvas Runtime(<15KB)~~ → **LittleJS + Runner v2(2026-06-12 创始人终裁,spike 85/82:冷开 0.54s vs 2.86s=4.8~5.3×/引擎 15.9KB gz/敏感性分析裁量分拉平 S2 硬差仍定向,终裁包 `docs/agent-specs/2026-06-11-T1引擎终裁包.md`)**:引擎 URL 化交付享 HTTP+编译双缓存;~~模板双层架构~~ → **模板=LittleJS 能力插件/二次开发件**(2026-06-12 模板哲学重申:玩法模板层废除,玩法/美术/关卡/UI=agent 生成域,好玩基线 v2 改挂评估门;**裁决①(2026-06-12):粒子/物理/后处理插件=引擎能力包装层,禁在受控面墙内平行重造引擎内建能力,β 设引擎真接线门;Q4 补裁(2026-06-13):「自研内容是引擎外的层,不是对引擎本体的替代」——「有意替代」豁免关闭,自研仅限包装层/引擎缺件补层,确定性取证诉求在 harness/门侧解决(手搓 Canvas2D 零实测证据优于引擎内建,且自揽平台渲染差异债)**);iframe 沙箱 + SDK 注入不变 | ~~LLM 填参~~ → **agent 写码于插件库**(HJ-GEN-001 终审;旧填参线随模板废除退役;美术/音乐=mmx 优先,2026-06-12 拍) | ✅ W-T1b 主门过(拔高样板「暖阳小卖部」2026-06-12 创始人亲玩判 passed),**MVP 唯一交付层**。真护城河=沙箱/SDK/契约/三容器(全保留);存量 1.x 双轨冻结;引擎复议权=拔高暴露引擎级阻塞(终裁包 §4.5-3) |
|
||||
| **Tier1 极轻量H5/2D** | 游戏流即点即玩,首屏 P75<3s + 点卡→可玩 S2(常态≤2s) | ~~自研轻量 Canvas Runtime(<15KB)~~ → **LittleJS + Runner v2(2026-06-12 创始人终裁,spike 85/82:冷开 0.54s vs 2.86s=4.8~5.3×/引擎 15.9KB gz/敏感性分析裁量分拉平 S2 硬差仍定向,终裁包 `docs/agent-specs/2026-06-11-T1引擎终裁包.md`)**:引擎 URL 化交付享 HTTP+编译双缓存;~~模板双层架构~~ → **模板=LittleJS 能力插件/二次开发件**(2026-06-12 模板哲学重申:游戏模板/填参线废,玩法/美术/关卡/UI=agent 生成域(玩法模板=品类框架·未废·待建),好玩基线 v2 改挂评估门;**裁决①(2026-06-12):粒子/物理/后处理插件=引擎能力包装层,禁在受控面墙内平行重造引擎内建能力,β 设引擎真接线门;Q4 补裁(2026-06-13):「自研内容是引擎外的层,不是对引擎本体的替代」——「有意替代」豁免关闭,自研仅限包装层/引擎缺件补层,确定性取证诉求在 harness/门侧解决(手搓 Canvas2D 零实测证据优于引擎内建,且自揽平台渲染差异债)**);iframe 沙箱 + SDK 注入不变 | ~~LLM 填参~~ → **agent 写码于插件库**(HJ-GEN-001 终审;旧填参线随模板废除退役;美术/音乐=mmx 优先,2026-06-12 拍) | ✅ W-T1b 主门过(拔高样板「暖阳小卖部」2026-06-12 创始人亲玩判 passed),**MVP 唯一交付层**。真护城河=沙箱/SDK/契约/三容器(全保留);存量 1.x 双轨冻结;引擎复议权=拔高暴露引擎级阻塞(终裁包 §4.5-3) |
|
||||
| **Tier2 复杂2D+3D** | 中重度含 3D,渠道分发 | **Cocos Creator 3.8.8 + MCP**(备选 PlayCanvas) | **Cocos-MCP** agentic 工具编排(studio 编排) | ✅ 锁定。MCP 158 工具可 AI 驱动;MVP 至多 1 个探针 demo |
|
||||
| **Tier3 独立App** | 打包为原生应用 | **Cocos 原生导出**(同 Tier2 引擎) | 同 Tier2 + 打包 | ✅ 锁定引擎。否决 Unity(AI 适配差、启动重);MVP 后投入 |
|
||||
|
||||
@ -79,7 +79,7 @@
|
||||
| **时间线** | 双路线并存:投资人版 5 人/11 周、执行 spec 10 人/3 周;执行排期以 mvp-execution-spec 为准(含逐日计划与里程碑) |
|
||||
| **MVP 范围/口径** | MVP 验收以 Doc A 的 **55 项 P0 产品功能**为准;技术实现范围经 Doc C 反查 Doc B(工作量 ≈137 技术项)。详见 [`mvp-scope-and-milestones.md`](./mvp-scope-and-milestones.md) §3 |
|
||||
| **模块划分** | **13 模块**(含 game-module-studio 创作编排域,aigc 为无状态生成原子);能力清单拆为产品功能(Doc A)/技术功能(Doc B)/映射(Doc C) 三文档分离 |
|
||||
| **生成主线** | ~~MVP=模板驱动(LLM 直出 GameConfig+固定模板)~~ → **agent 写码于插件库**(HJ-GEN-001 终审 2026-06-12;旧填参线随模板废除退役〔M-b 执行器写链语义保留复用〕;生产=便宜模型经 new-api+harness 门〔W-G1 L1 worker + 九门真玩 harness + 3 款冒烟已实证地板成立 HJ-GEN-001(¥0.01–0.03<¥0.15 闸);全 20 款 bake-off + 四模型横比 + Claude-free judge 门待跑,配方见 [`skills/cheap-model-game-generation.md`](../skills/cheap-model-game-generation.md)〕;agentic 基建=SAA(Spring AI Alibaba v1.1.2.2)裸图编排 (HJ-AGI-002;short-term SAA-only,AgentScope 降 long-term premium 独立轨));Dify/OpenGame=远期增强未部署 |
|
||||
| **生成主线** | ~~MVP=模板驱动(LLM 直出 GameConfig+固定模板)~~ → **agent 写码于插件库**(HJ-GEN-001 终审 2026-06-12;旧游戏模板/填参线退役(W-CLEAN)〔M-b 执行器写链语义保留复用〕;生产=便宜模型经 new-api+harness 门〔W-G1 L1 worker + 九门真玩 harness + 3 款冒烟已实证地板成立 HJ-GEN-001(¥0.01–0.03<¥0.15 闸);全 20 款 bake-off + 四模型横比 + Claude-free judge 门待跑,配方见 [`skills/cheap-model-game-generation.md`](../skills/cheap-model-game-generation.md)〕;agentic 基建=SAA(Spring AI Alibaba v1.1.2.2)裸图编排 (HJ-AGI-002;short-term SAA-only,AgentScope 降 long-term premium 独立轨));Dify/OpenGame=远期增强未部署 |
|
||||
|
||||
### 4.1 生产质量三层 reframe(创始人亲玩校准锁定,2026-06-14·WG1 review §8)
|
||||
|
||||
@ -100,7 +100,7 @@ W-G1 实证后创始人亲玩校准拍定:**生产环无 Claude**,质量由*
|
||||
|
||||
每条决策都自带风险与"降级方案"——这是"够用即可、可替换"原则在工程上的兜底。摘录高/极高影响项:
|
||||
|
||||
> ⚠️ 下表「LLM 调用不稳定」行的"Dify 重试+熔断"与「OpenGame 社区停更」整行为 1.x 蓝图态:Dify/OpenGame 降级远期、从未部署(C2/HJ-GEN-001),其应对/降级机制已 moot;现行 LLM 不稳定应对=new-api 网关多模型切换 + harness 门兜底,"模板填充"措辞同 §4 已废(玩法模板层废除)。
|
||||
> ⚠️ 下表「LLM 调用不稳定」行的"Dify 重试+熔断"与「OpenGame 社区停更」整行为 1.x 蓝图态:Dify/OpenGame 降级远期、从未部署(C2/HJ-GEN-001),其应对/降级机制已 moot;现行 LLM 不稳定应对=new-api 网关多模型切换 + harness 门兜底,"模板填充"措辞同 §4 已废(填参式游戏模板已废 W-CLEAN)。
|
||||
|
||||
| 风险 | 概率/影响 | 应对 | 降级方案 |
|
||||
|---|---|---|---|
|
||||
@ -121,7 +121,7 @@ W-G1 实证后创始人亲玩校准拍定:**生产环无 Claude**,质量由*
|
||||
|
||||
## 7. 不做(明确非目标,技术决策版 §1.3)
|
||||
|
||||
**MVP/近期非目标(保持收敛)**:MVP 不做 3D、不做专业级游戏引擎(Unity/Unreal 级)、不做海外市场;不做完全开放式代码生成(模板约束——创作者通过**配置**而非写 JS 驱动游戏);不自研大模型(接入通用 LLM + 开源 Agent 框架)。
|
||||
**MVP/近期非目标(保持收敛)**:MVP 不做 3D、不做专业级游戏引擎(Unity/Unreal 级)、不做海外市场;不做完全开放式代码生成(**harness 九门约束**——agent 写码于 LittleJS 插件库,非旧"配置填参"线);不自研大模型(接入通用 LLM + 开源 Agent 框架)。
|
||||
|
||||
**远期分层路线(仅探针,不进 MVP)**:Tier2 复杂2D+3D、Tier3 独立App(统一 Cocos+MCP,见 §1.1)为远期方向;MVP 至多做 1 个 Cocos-MCP 探针验证链路可行性,不投入工程。**Unity 始终否决。**
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ const staleDocs = Array.isArray(A.staleDocs) ? A.staleDocs : []
|
||||
const TRUTH =
|
||||
'现行真相:生成主线=模板驱动 via new-api 网关(Dify/OpenGame 降 long-term·MVP 从不部署);' +
|
||||
'引擎=LittleJS 增强发行版(55KB gz,勿写13/15KB)+Runner v2(game-host.d.ts),自研 Canvas<15KB 已废;' +
|
||||
'模板=LittleJS 插件,玩法模板层废除(W-CLEAN);agentic=SAA(Spring AI Alibaba GA v1.1.2.2)裸图(HJ-AGI-002),AgentScope 降 long-term;' +
|
||||
'模板=LittleJS 插件;游戏模板/填参线已废(W-CLEAN),玩法模板(品类框架·引导生成·非pre-built代码)未废=最高优先级待建(HJ-DEMO-AUDIT-001 创始人06-17纠正);agentic=SAA(Spring AI Alibaba GA v1.1.2.2)裸图(HJ-AGI-002),AgentScope 降 long-term;' +
|
||||
'美术/音乐=mmx-cli,ComfyUI 退备选;RocketMQ/Nacos=框架自带但 MVP 未部署=future-state(勿删);命名空间=com.wanxiang.huijing;品牌=绘境AI'
|
||||
|
||||
const CLS = {
|
||||
|
||||
@ -8,6 +8,10 @@ SPECS="docs/agent-specs"
|
||||
STATE="$ROOT/.agents/tools/doc-organizer-state.json"
|
||||
G(){ git -C "$ROOT" -c core.quotePath=false "$@"; }
|
||||
|
||||
# 最新日期前缀(今日在飞保护锚点):动态取目录内最大 dated 档,免硬编码过期
|
||||
# (2026-06-17 改:旧硬编码 2026-06-16 一天即过期——致 06-16 档被误当在飞拒归档、真在飞的 06-17 档反没保护)
|
||||
latest_date(){ ls -1 "$ROOT/$SPECS"/2026-*.md 2>/dev/null | sed -E 's#.*/(2026-[0-9]{2}-[0-9]{2}).*#\1#' | sort -u | tail -1; }
|
||||
|
||||
# 从 state 读上次清理锚点(无 jq 也能跑:python 解析)
|
||||
last_field(){ python3 -c "import json,sys;print(json.load(open('$STATE'))['last_cleanup'].get('$1',''))" 2>/dev/null; }
|
||||
|
||||
@ -29,16 +33,16 @@ case "$cmd" in
|
||||
|
||||
health) # 热目录健康度(阈值据 engineering-conventions §10)
|
||||
cd "$ROOT/$SPECS"
|
||||
n=$(ls -1 2026-*.md 2>/dev/null | grep -v '^2026-06-16' | wc -l)
|
||||
LD="$(latest_date)"; n=$(ls -1 2026-*.md 2>/dev/null | grep -v "^$LD" | wc -l)
|
||||
sz=$(du -sm "$ROOT/$SPECS" | cut -f1)
|
||||
echo "## 热目录健康度"
|
||||
echo " 顶层 dated .md(非最新日): $n $([ "$n" -gt 30 ] && echo '⚠>30 该归档' || echo 'OK')"
|
||||
echo " agent-specs 体积: ${sz}M $([ "$sz" -gt 6 ] && echo '⚠>6M 该清证据' || echo 'OK')"
|
||||
echo "## 带 SHIPPED/SUPERSEDED 横幅却仍在热目录(应 archive)"
|
||||
grep -lE '状态: ?(SHIPPED|SUPERSEDED|SPIKE-DONE)' 2026-*.md 2>/dev/null | grep -v '^2026-06-16' | sed 's/^/ /' || true
|
||||
grep -lE '状态: ?(SHIPPED|SUPERSEDED|SPIKE-DONE)' 2026-*.md 2>/dev/null | grep -v "^$LD" | sed 's/^/ /' || true
|
||||
echo "## execution/edit-plan >150 行仍在热目录(应 compress 留桩)"
|
||||
for f in 2026-*-execution.md 2026-*-edit-plan.md; do
|
||||
[ -f "$f" ] || continue; case "$f" in 2026-06-16-*) continue;; esac
|
||||
[ -f "$f" ] || continue; case "$f" in "$LD"-*) continue;; esac
|
||||
l=$(wc -l <"$f"); [ "$l" -gt 150 ] && echo " $l 行 $f"
|
||||
done
|
||||
echo "## doc 树混入的非 md(白名单 orchestrator/channel-spike/generation-spike/_archive 除外)"
|
||||
@ -73,9 +77,10 @@ case "$cmd" in
|
||||
archive) # 可逆搬运: git mv 入 _archive + 同步修引用。用法: archive <basename...>
|
||||
shift; [ $# -eq 0 ] && { echo "用法: archive <文件名...>"; exit 1; }
|
||||
mkdir -p "$ROOT/$SPECS/_archive"
|
||||
LD="$(latest_date)"
|
||||
for f in "$@"; do
|
||||
b="$(basename "$f")"
|
||||
case "$b" in 2026-06-16-*) echo "拒绝: $b 是最新日在飞档"; continue;; esac
|
||||
case "$b" in "$LD"-*) echo "拒绝: $b 是最新日($LD)在飞档"; continue;; esac
|
||||
G mv "$SPECS/$b" "$SPECS/_archive/$b" && echo "归档: $b"
|
||||
done
|
||||
# 同步修引用: agent-specs/<已归档名> -> agent-specs/_archive/<名>(字面替换,幂等)
|
||||
|
||||
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 28 KiB |
@ -1,5 +1,7 @@
|
||||
# W-T1b · Runner v2 + LittleJS 能力插件库 + 拔高样板 · 评审版 v2.0(HJ-T1B-001)
|
||||
|
||||
> **⚠️ 术语后续纠正(2026-06-17,HJ-DEMO-AUDIT-001)**:本 spec 下文「玩法模板(品类骨架)永久废除」中被废的实为**游戏模板/填参式整局代码**(旧 4 模板,W-CLEAN 已清);创始人 06-17 重定性——**「玩法模板」(品类框架·引导 AI 生成·非 pre-built 代码)未废 = 当前最高优先级待建**。本档为 06-12 历史决策记录,正文不改、以此指针为准。
|
||||
|
||||
> **状态:v2.1 —— 评审修订完毕,待创始人过目 §8 → T1b-α 开工(授权已给)。** 评审记录:v2.0 对抗审经 Claude 回落通道(Codex 上游 503 两连败,按协议回落注明,恢复后补 Codex 轮)——3 P0/5 P1/3 P2 全采纳:outcome 与既有 `completed` 契约字段裁定/channel-spike 资产归属纠正(渠道线资产≠feed 发行版)/范围门循环依赖拆解(seed 先验入)/"工厂同款循环"措辞诚实化/P2P8 玩法语义去滑坡/美术边界钉死/1.x 退役升架构改写+CDP 门/主门收敛护栏/字节单件配额。
|
||||
> **模板哲学(本 spec 的宪法)**:模板 = **LittleJS 插件/二次开发件**——平台维护「LittleJS 增强发行版」,每个插件是一项引擎能力(碰撞/粒子/物理/手感…),即插即用、可组合、版本化;**不含玩法、不含美术成品、不含关卡、不含 UI——四者 = agent 造游戏时的生成域**。玩法模板(品类骨架)永久废除(同质化根源);好玩基线 v2 挂**评估门**。
|
||||
> 上游:引擎终裁包(LittleJS)|HJ-GEN-001 v1.3(9a=能力插件清单)|渠道判定 HJ-CH-001|W-CLEAN 已清场(旧 4 模板+存量 1022 行已归档删除,1.x 无存量包袱)。
|
||||
|
||||
@ -1,178 +1,20 @@
|
||||
# Lane S · round-2 staging e2e 双验证 verdict(V16 真库 + form① SAA + 组B 落库)
|
||||
# Lane S · round-2 staging e2e 双验证 verdict(已压缩留桩)
|
||||
|
||||
> 类型:staging 端到端真验收口报告。
|
||||
> 执行环境:mini-desktop(100.64.0.7)隔离实例 `:48090`(dispatcher=saa),连 staging 隔离 MySQL `ruoyi-vue-pro@127.0.0.1:13306`(组A V15 真库);**live `:48080` 全程未动**(每步实证 HTTP 200,pid 479414 不变)。
|
||||
> 构建源:本 worktree HEAD `2c96e63a`(含组B `96081a57`)→ Gitea `dev/2.0.0` HTTP clone 进 `/root/build-lane-s` → `mvn clean install -pl huijing-server -am`(BUILD SUCCESS 48s,jar 字节码实证含 V16 SQL + ReadinessScorer + DifyCallbackTxService)。
|
||||
> 时间:2026-06-17 02:31~03:0x(CST)。
|
||||
> **状态:SUPERSEDED → [`2026-06-17-round3-SAA-trace-split-brain-real-db-verdict.md`](2026-06-17-round3-SAA-trace-split-brain-real-db-verdict.md)(commit `703e462c`)**
|
||||
> 类型:staging 端到端真验收口报告(压缩桩;原 178 行全文见 git 历史)。
|
||||
> 压缩于 2026-06-17 文档整理([plan](2026-06-17-文档整理-plan.md))。
|
||||
|
||||
---
|
||||
## 目标
|
||||
|
||||
## 0. 结论先行
|
||||
round-2 staging e2e 双验证:V16 真库 + form① SAA 九门 + 组B 落库,验 `dispatcher=saa` 进程内派发路 trace 接线是否闭合。环境=mini-desktop 隔离实例 `:48090`(连 staging 隔离 MySQL),live `:48080` 全程未动。
|
||||
|
||||
| 验证项 | 结论 | 关键证据 |
|
||||
|---|---|---|
|
||||
| **V16 真库验**(最低交付) | ✅ **PASS** | `game_aigc_task` 真建 `trace_json`(json,null,序13) + `readiness_score`(smallint,null,序14),紧贴 `failure_reason` 后;`flyway_schema_history` 有 `16.0.0`「aigc task add trace readiness」success=1 exec=32ms;当前最高版本=16.0.0 |
|
||||
| **V1 九门**(form① SAA 真玩) | ✅ **PASS** | SAA 图真跑:design→generate(M2.7 真产 engineBundle)→scaffold→esbuild build→九门真玩(Chrome headless)。**首次 attempt 8/9 门 pass(H_progress=false),SAA 图 repair 轮重生后最终九门全过 → status=succeeded**(wall=479s,含多轮 repair)。九门 harness 真驱动链 + 自修复环全证实 |
|
||||
| **V2 真生成** | ✅ **PASS** | SAA 图真调 new-api(M2.7) 产 `generated-factory.js`+`bundle.iife.js`;终局 `[saa-dispatch] 图执行完成 status=succeeded engineBundleLen=212901`(**含 `__GameBundle`**,防御性校验通过才置 succeeded);真渲染截图 first-paint/after-play |
|
||||
| **V3 进程内回调** | ✅ **PASS** | dispatcher=saa 选定(形态①);终局回调线程=`saa-graph-dispatcher-1`(**进程内**)→ `handleCallback`→三表写链:`status=2`+`versionId=93113`、`currentVersionId` 回写、落包 checksum=`c07ece…` bundleSize=216916。**无 HTTP `/dify/callback-internal` 出站、无 HMAC 验签**(HTTP 路才有 `CallbackSignatureVerifier`,SAA 路无)。**且 `trace_json IS NULL`**——SAA 路 split-brain 双向实证(§7-1) |
|
||||
| **V4 入 feed** | ✅ **达「版本就绪+待发布」档(如实标注·非链路缺陷)** | succeeded callback 真建 version 93113 + runtime_package(**scene=preview 可取 code=0**;scene=play 返 `1102001002 运行包未发布` = 正确门控)+ 回写 currentVersionId=93113;`game_version.status=2`、`game_runtime_package` 落库带 checksum。**project 9318 仍 status=0(DRAFT)→ feed 不可见(feed 过滤未发布)**。= runplan §1-注 第二档「version 就绪+待发布」:**worker succeeded ≠ 准予发布**,发布裁决归治理层(退役登记 §5)。链路无缺口(图→九门→进程内回调→三表落包→版本就绪),缺的只是「过发布门」这一步 |
|
||||
| **组B 落库**(9d trace + D11 + D9) | ✅ **PASS(经 HTTP 回调路真验)** | task 139 经 `/dify/callback`(带 trace) 真落库:`trace_json` 12 键、必填子集 7 项全非空、D9 `similarity{dupHit,titleNorm,sig,dupWith}` 内嵌、`readiness_score=96`∈[0,100]、`/task` RespVO 透出 `readinessScore=96`。**⚠️ 经 HTTP 回调路而非 form① SAA 路——见 §6 split-brain 边界(这是组B 实际接线路)** |
|
||||
| **checkpoint step5(顺带)** | ✅ **PASS** | 首个 dispatch 懒建 `GRAPH_CHECKPOINT`+`GRAPH_THREAD` 真表(`CREATE_IF_NOT_EXISTS`,连 yudao Druid DataSource);`SaaNewApiGenerateSmokeTest` 单测真调 new-api PASS(43s) |
|
||||
## 结论(桩保留关键事实)
|
||||
|
||||
**一句话**:V16 真库 + 组B 落库链 + form① SAA 图真跑九门(repair 后全过)→进程内回调→三表落包→版本就绪 = **V1-V4 全部实证可信**。V4 落「version 就绪+待发布」正确档(project 留 DRAFT,feed 过滤未发布——worker succeeded≠发布,非链路缺陷)。组B 落库经 HTTP 回调路真验(readiness=96)。另揪出**两个真问题**(§7):①组B trace 落库与 form① SAA 路 **split-brain 双向实证**(SAA 路成功但 trace_json 恒 NULL);②SAA 首启**首个 dispatch 瞬态** fast-fail llm_error(稳态后全稳)。
|
||||
- **V16 真库列序**:`trace_json`(序 13)/ `readiness_score`(序 14)已落库。
|
||||
- **form① SAA**:一句话生成九门 repair 后全过 → `succeeded`。
|
||||
- **V3 进程内回调**:无 HTTP / 无 HMAC,`status=2` + versionId `93113`。
|
||||
- **组B HTTP 路** readiness=96;**V4**「version 就绪 + 待发布」正确档。
|
||||
- **核心未决项(SAA 进程内派发路 trace split-brain)→ 已被 round3 同线收口 supersede**(`703e462c` 真库验:`dispatcher=saa` 落 `trace_json`/`readiness_score` 真非空、开关关 NULL)。
|
||||
- follow-up 全吸收进 round3:F5 组B `ReadinessScorer` H_progress-asBool bug / F3 SAA cost 折¥ / 早期 boot SAA fast-fail 预热。
|
||||
|
||||
---
|
||||
|
||||
## 1. V16 真库验(最低交付,已锁定)
|
||||
|
||||
实例 boot(02:31:44)Flyway 自动跑 V16,真 staging MySQL 实证:
|
||||
|
||||
```
|
||||
-- boot 日志:
|
||||
Successfully applied 1 migration to schema `ruoyi-vue-pro`, now at version v16.0.0 (execution time 00:00.032s)
|
||||
|
||||
-- SHOW COLUMNS(information_schema 实查):
|
||||
序12 failure_reason varchar(32)
|
||||
序13 trace_json json NULL ← V16 新建
|
||||
序14 readiness_score smallint NULL ← V16 新建
|
||||
序15 result_package_url varchar(512)
|
||||
(两列紧贴 failure_reason 后,与 DDL `AFTER failure_reason` 一致)
|
||||
|
||||
-- flyway_schema_history:
|
||||
version=16.0.0 description="aigc task add trace readiness" type=SQL success=1 installed_on=2026-06-17 02:31:44 execution_time=32ms
|
||||
当前最高版本:16.0.0 > 15.0.0(aigc task add level,组A) > 14.0.0(...)
|
||||
```
|
||||
|
||||
**PRE-boot 基线(实证 V16 真由本次 boot 跑)**:boot 前查同库 `game_aigc_task` 仅到 `failure_reason`,**无** trace_json/readiness_score;flyway 最高=15.0.0,**无** V16 行。→ 坐实两列+history 行系本实例 boot 时 V16 迁移真建,非预先存在。
|
||||
|
||||
---
|
||||
|
||||
## 2. 构建与隔离(live 未动)
|
||||
|
||||
- clone `dev/2.0.0`@`2c96e63a` 进 `/root/build-lane-s`(含 `96081a57` 组B;V16 SQL/ReadinessScorer.java/dedup.py 文件实证在)。
|
||||
- `mvn clean install -pl huijing-server -am`:BUILD SUCCESS 48s;jar 字节码 `unzip -l` 实证含 `BOOT-INF/classes/db/migration/V16.0.0__*.sql` + `ReadinessScorer.class` + `DifyCallbackTxService.class`。
|
||||
- 起隔离实例 `:48090`:`dispatcher=saa` + `aigc.trace.enabled=true` + `AIGC_DEDUP_ENABLED=1` + `aigc.control-plane.enabled=true`(GP9) + safety `baseUrl=http://100.64.0.8:3000`(默认) + `NEWAPI_KEY`(env 注入) + `AIGC_SAA_GAME_RUNTIME_DIR=/root/build-lane-s/game-runtime` + `AIGC_WORKER_URL=`(空,saa 路不走 HTTP worker)。systemd-run durable 单元 `lane-s-48090`,stdout 经 shell `> file 2>&1` 重定向(systemd `append:` 会吞后台线程日志——见 §7-3 坑)。
|
||||
- live `:48080`:构建/起服/净场/取消任务全程每步实证 HTTP 200、pid 479414 不变,**未触达**。隔离 MySQL 同库(13306)但隔离实例独立进程,生成写库(草稿/任务/版本)入同库不污染 live 运行态。
|
||||
|
||||
---
|
||||
|
||||
## 3. form① SAA e2e(V1/V2 链路证实)
|
||||
|
||||
真跑链(task 140,gameId 9318,traceId `aigc-18ad3056…`):
|
||||
|
||||
```
|
||||
[executor-tick] 任务认领成功 taskId=140, templateId=generic, 排队时长=1s
|
||||
[saa-dispatch] checkpoint MysqlSaver 已建(GRAPH_CHECKPOINT/GRAPH_THREAD via CREATE_IF_NOT_EXISTS)
|
||||
[saa-dispatch] SAA 图构造完成(缓存复用):maxRepairs=5, maxPlayerRounds=1, newApiBase=http://100.64.0.8:3000, checkpoint=MysqlSaver(...)
|
||||
[saa-dispatch] job 已提交进程内 SAA 图(留 RUNNING 等回调,终态由 handleCallback 驱动) gameId=9318, brief=做一个打砖块小游戏…
|
||||
[executor-dispatch] generic 任务已派发 worker(留 RUNNING 等回调)taskId=140, model=MiniMax-M2.7
|
||||
```
|
||||
|
||||
- **V2 真生成**:SAA 图 design→generate 真调 new-api(M2.7) 产物落 `game-runtime/games/_wg1-gen/saa-aigc-18ad3056…/`:`generated-factory.js`(LLM 产)、`bundle.iife.js`(212KB,esbuild 真打包)、`entry-bundle.js`、`index.html`、`play-spec.json`。终局 `[saa-dispatch] 图执行完成 status=succeeded engineBundleLen=212901`——engineBundle 含 `__GameBundle`(`buildCallbackReqVO` 防御性校验「succeeded ∧ bundle.contains("__GameBundle")」通过才置 succeeded,否则归 failed)。
|
||||
- **V1 九门(含自修复环)**:play 节点 fork `serve-and-play.sh saa-aigc-18ad… 4320 9222`(Chrome headless 真玩)。
|
||||
- **首次 attempt**:8/9 门 pass——`A_boot/B_uncaught/C_frame(f0=61→f1=91 delta=30)/D_render(bright=156550)/E_live/F_wiring/G_input/I_control` 全 true(I_control 实测挡板响应点击:tapX=50→挡板 moved -135 到目标、tapX=340→moved 270 到目标,distToTarget=10 pass,**打砖块挡板控制真可玩**);唯 **H_progress=false**(局内进度/胜负推进门未满足)。
|
||||
- **SAA 图 repair 环(蓝图 §3.1 self-repair)**:H_progress 不过 → 图回 generate 重生(maxRepairs=5)→ 多轮 generate+build+play 后**最终九门全过 → verdict.pass=true → status=succeeded**(总 wall=479s≈8min)。
|
||||
- **判据**:SAA 图的「九门硬地板 + 自修复环」**真生效**——首版生成质量不达(H_progress),图自动 repair 直到过门,最终产出一个九门全过的真可玩打砖块。链路(认领→图→九门 harness→repair→回调→落包)全程真跑实证。
|
||||
|
||||
---
|
||||
|
||||
## 4. V3 进程内回调(status=2+versionId·无 HTTP·无 HMAC 实证)
|
||||
|
||||
task 140 九门全过后,SAA 图出口进程内回调全链(终局日志,线程=`saa-graph-dispatcher-1`):
|
||||
|
||||
```
|
||||
[saa-dispatch] 图执行完成,进程内回调 traceId=aigc-18ad3056…, status=succeeded, engineBundleLen=212901, wall=479457ms
|
||||
[handleCallback] 收到 Dify 回调 traceId=aigc-18ad3056…, status=succeeded, templateId=generic ← 同线程 saa-graph-dispatcher-1(进程内,非 http-nio)
|
||||
[createForPackage] 落包建版本成功 gameId=9318, genTaskId=140, versionId=93113
|
||||
[createForPackage] 已回写项目当前生效版本 gameId=9318, currentVersionId=93113
|
||||
[handleCallbackTx] 落包完成 taskId=140, versionId=93113, pkgId=93113, checksum=c07ece48…, bundleSize=216916
|
||||
[handleCallbackTx] 回调 succeeded 三表写入链完成 taskId=140, versionId=93113
|
||||
[deliver] 站内信投递成功 userId=1, type=1, bizRef=9318(社区通知挂点亦真触发)
|
||||
```
|
||||
|
||||
- **status=2+versionId**:DB 实查 `game_aigc_task` id=140 → `status=2`、`version_id=93113`;API `/app-api/aigc/task/140` → status=2 versionId=93113。
|
||||
- **进程内·无 HTTP·无 HMAC**:回调线程=`saa-graph-dispatcher-1`(SAA 后台执行线程,非 http-nio 请求线程);`SaaGraphDispatcher.runGraphAndCallback` 出口直调 `difyCallbackService.handleCallback(reqVO)`(源码 :191),**不经** `/dify/callback-internal` HTTP、**不经** HMAC。反证:全程无 `/dify/callback-internal` 出站;`CallbackSignatureVerifier`「回调签名校验」仅 HTTP 路触发(task 139 HTTP 路有此行,task 140 SAA 路无)。
|
||||
- **split-brain 双向实证**:task 140 SAA 路成功 + 三表落包,但 `trace_json IS NULL`、`readiness_score=NULL`(RespVO readinessScore=None)——因 SAA 路 `buildCallbackReqVO` 不 setTrace(§7-1)。对比 task 139 HTTP 路 trace_json 非空+readiness=96。**同一 `persistTraceQuietly` 共享写点,SAA 路喂 null→NULL、HTTP 路喂非空→落库**——边界铁证。
|
||||
|
||||
---
|
||||
|
||||
## 5. V4 分档说明(如实标注:本次落「version 就绪+待发布」档)
|
||||
|
||||
runplan §1 注 + §4 明确 V4 分两档落地。本次实测落 **第二档「version 就绪 + 待发布」**(worker succeeded ≠ 准予发布,退役登记 §5):
|
||||
|
||||
- **version+package 真就绪**:`game_version` 93113 status=2、`game_runtime_package` 93113 落库带 checksum=`c07ece…`;`game_project` 9318 `current_version_id=93113` 已回写。
|
||||
- **包可取(preview 态)**:`GET /app-api/runtime/package/93113?scene=preview` → `code=0` 有 data(包真取得)。
|
||||
- **play 态门控正确**:`GET …?scene=play` → `code=1102001002「运行包未发布,玩家暂不可试玩」`——即 play 态试玩须先过发布门,**符合设计**(未发布的生成款不放玩家面)。
|
||||
- **feed 不可见(符合预期)**:`feed_find_game(9318)=False`;`game_project` 9318 `status=0(DRAFT)`——feed 过滤未发布项。
|
||||
- **判据**:这是 runplan §1-注的**第二档**——SAA succeeded callback 只做「建版本→组包→落包→回写 currentVersionId」,**项目留 DRAFT,发布裁决归治理层**(创作者/审核台走发布门后才入 feed)。**链路无缺口**(图→九门→进程内回调→三表落包→版本就绪全通),缺的只是「项目过发布门」这一正交步骤——不属本 e2e 生成链路职责。
|
||||
- 要演示「V4 真翻进 feed」**正交手段**:对 9318 走 `POST /app-api/project/{id}/publish` + admin review(黄金闭环 B1/B2 已证发布链),与本 SAA 生成链路证实解耦。
|
||||
|
||||
---
|
||||
|
||||
## 6. 组B 落库真验(经 HTTP 回调路 = 组B 实际接线路)
|
||||
|
||||
task 139 经 `POST /dify/callback`(带 9d trace:必填子集 7 项 + 可选段 + D9 similarity),`aigc.trace.enabled=true` 下真落库:
|
||||
|
||||
```
|
||||
-- 后端日志:
|
||||
[handleCallbackTx] 回调 failed 落库完成 taskId=139, failureReason=llm_error
|
||||
[persistTrace] 落 trace_json + readiness_score 完成(非阻断)taskId=139, traceLen=680, readiness=96
|
||||
|
||||
-- DB 实查(game_aigc_task id=139):
|
||||
trace_json 非空:12 键;readiness_score=96
|
||||
必填子集 7 项:pass=true / repairs=1 / wallS=23.4 / models 非空 / attempts=1 条 / gameId=gb-landing / stage=stage1 —— 全非空
|
||||
D9 similarity(内嵌 trace_json):dupHit=false / titleNorm=zubluodibian / sig=a1b2c3d4e5f6 / dupWith=null
|
||||
readiness_score=96 ∈ [0,100] ✓
|
||||
|
||||
-- API 实查:
|
||||
GET /app-api/aigc/task/139 → RespVO.readinessScore=96 ← BeanUtils 平铺自动映射透出(AigcTaskRespVO,与 admin /task/page 同 VO 同字段)
|
||||
```
|
||||
|
||||
- D11 算分实证:trace{pass=true + gatespec.driver + sevenGateVerdict.guards.H_progress=true + repairs=1 + cost.totalRmb=0.031} → ReadinessScorer 算 96(≈ 0.50×1 + 0.25×1 + 0.15×0.7 + 0.10×1 = 0.955 → 96)。公式真生效。
|
||||
- 非阻断实证:trace 落库走 succeeded(:175)/failed(:229) 两路;本验经 failed 路(无需 engineBundle/组包,最小化落库链验证),落 trace/算分均 best-effort try-catch,不阻断主链。
|
||||
|
||||
> **⚠️ 关键边界(§7-1 split-brain)**:组B trace 落库链由 **Python HTTP worker** 喂(`service.py:_extract_trace`→`payload["trace"]`→HTTP `/dify/callback-internal`→`reqVO.trace`);**form① SAA 路 `buildCallbackReqVO` 不 setTrace**(trace 恒 null)。故「同一 job 既走 form① 又验组B 落库」**架构上不成立**——二者在不同派发路。本报告据此**分两路各验**:form① 验 SAA 生成链(V1-V3),组B 落库经 HTTP 回调路验(task 139)。`persistTraceQuietly` 是两路共享写点(`handleCallbackTx:175/229`),SAA 路传 null→trace_json 保持 NULL,HTTP 路传非空→真落库。
|
||||
|
||||
---
|
||||
|
||||
## 7. 揪出的真问题(按严重度)
|
||||
|
||||
### 7-1【设计边界·中】组B trace 与 form① SAA 路 split-brain
|
||||
|
||||
- **现象**:`SaaGraphDispatcher.buildCallbackReqVO`(:312-348)只 set traceId/templateId/assets/gameConfig/status/engineBundle/failureReason,**不 setTrace**。故 dispatcher=saa 路 `reqVO.getTrace()` 恒 null → `persistTraceQuietly` 整段旁路 → trace_json/readiness_score 恒 NULL。
|
||||
- **根因**:组B(`96081a57`)trace 产出链全在 Python HTTP worker(`service.py`/`studio.py`/`dedup.py`),**未触 `SaaGraphDispatcher`**(git show 实证:组B 改 DifyCallbackTxService/ReadinessScorer/V16/dedup.py/service.py,无 Saa* 文件)。组B execution §3.1/§6.1 全锚 HTTP worker 路,从未提 SAA 路。
|
||||
- **影响**:当生成主线切 dispatcher=saa(form①)时,组B 的 9d trace/D11/D9 三件**全部失效**(trace 永远进不来)。即「组B 落了能管」在 SAA 生产路上等于没接。
|
||||
- **建议(不在本任务改)**:SAA 路要享组B 能力,须在 `SaaGenNodes`/`SaaGraphDispatcher` 把图内已产的 verdict/guards/cost/attempts(九门 harness 已落 evidence/verdict.json,图状态已有 playPass/feedback)抽成 trace map 塞 `reqVO.setTrace(...)`——补 SAA 路的 `_extract_trace` 等价物。属组B 的「另一条派发路」补全,需单独 spec。
|
||||
|
||||
### 7-2【可靠性·待复现·中】早期 boot 的 SAA 任务 fast-fail(llm_error)
|
||||
|
||||
- **现象**:02:39/02:42 两次 boot 上的 task 137/138 **fast-fail**(4-7s,llm_error,无 scaffold dir,dispatch 返 false → executor `callbackFailed(llm_error)`)。而 02:46 boot 的 task 140(**该 boot 首个 SAA 任务**)稳态成功(`checkpoint MysqlSaver 已建` + `图构造完成` + 真跑九门 + repair + succeeded)。
|
||||
- **取证受阻(关键)**:137/138 的 `[saa-dispatch]` 失败日志被 systemd `append:` stdout 缓冲吞掉(§7-3,当时尚未改 shell 重定向),**未抓到确切 return-false 分支**(目录检查 / ensureGraph throw / 线程池拒)。改 shell 重定向后 task 140 日志抓全,但 task 140 恰好成功——**未能在「日志可见」+「fast-fail 复现」同时成立的一次里取到根因**。
|
||||
- **排除项**:`SaaNewApiGenerateSmokeTest` 单测真调 new-api PASS(43s) → 排除「LLM 通道/图构造根本不可用」;task 140 首个 dispatch 含 checkpoint 表 `CREATE_IF_NOT_EXISTS` 成功 → checkpoint 初建本身非必然失败因。故 137/138 fast-fail **更可能是早期 boot 的偶发瞬态**(环境/端口/首次冷启 race),而非稳定的「首 dispatch 必失败」。
|
||||
- **影响 + 后续**:生产若 dispatcher=saa,**不能排除**实例重启后偶发任务被瞬态判 failed(llm_error)(fast-fail,stale-watchdog 不兜)。**建议复现确认**:用 shell 重定向(日志可见)连续 boot+首发任务 N 次,统计 fast-fail 率并抓 return-false 分支日志,若坐实再给 dispatch 加重试/boot 预热。本次未坐实根因,标**待复现**不夸大。
|
||||
|
||||
### 7-3【取证坑·低·已绕过】systemd `append:` 吞后台线程 stdout 日志
|
||||
|
||||
- **现象**:systemd-run `-p StandardOutput=append:file` 起 JVM 时,`scheduling-1`(executor tick 背景线程)的 INFO 日志**完全不落文件**(http-nio 线程日志正常落);`stdbuf -oL`、SIGQUIT、graceful stop 均不解。
|
||||
- **绕法(已用)**:改 `systemd-run … /bin/bash -c 'exec java … > /root/lane-s-48090.log 2>&1'`(shell 重定向到普通文件),logback ConsoleAppender `immediateFlush` 真生效,背景线程日志即时落盘——task 140 全链日志由此抓全。
|
||||
- **沉淀**:staging 起隔离实例若要抓后台/调度线程日志,**用 shell `> file` 重定向,勿用 systemd `append:`**(后者对非主线程 stdout 有吞日志风险)。建议补进 `staging-ops.md`。
|
||||
|
||||
---
|
||||
|
||||
## 8. 证据路径(mini-desktop)
|
||||
|
||||
| 证据 | 路径 |
|
||||
|---|---|
|
||||
| 隔离实例全链日志 | `/root/lane-s-48090.log`(task 140 认领→图构造→job 已提交→派发;task 139 HTTP 回调落库+persistTrace) |
|
||||
| form① e2e harness | `/root/saa_form1_e2e.py`(复用 `backend_gw.py`,黑盒验 V3/V4) |
|
||||
| 组B 落库 harness | `/root/groupb_landing.py`(建任务→HTTP `/dify/callback` 带 trace→验 readiness) |
|
||||
| V16 DB 验证脚本 | `/root/v16_verify.sh`(两列 + flyway 行 + 序位) |
|
||||
| 构建 jar | `/root/build-lane-s/game-cloud/huijing-server/target/huijing-server.jar`(02:30:47,含组B 字节码) |
|
||||
| 构建日志 | `/root/build-lane-s-mvn.log`(BUILD SUCCESS 48s) |
|
||||
| SAA 生成产物(V2) | `/root/build-lane-s/game-runtime/games/_wg1-gen/saa-aigc-18ad30568a044c659866308f93794b4b/`(generated-factory.js / bundle.iife.js 212KB / index.html) |
|
||||
| 九门 verdict(V1) | 同上 `/evidence/verdict.json`(首次 8/9,repair 后全过→succeeded)+ `first-paint.png`/`after-play.png` 真渲截图 |
|
||||
| V3 succeeded 回调链 | `/root/lane-s-48090.log` grep `18ad3056`:图执行完成 status=succeeded engineBundleLen=212901 → handleCallback(saa-graph-dispatcher-1 线程) → versionId=93113 落包 checksum=c07ece… |
|
||||
| V4 包就绪/待发布 | `game_version/game_runtime_package` id=93113(DB);`runtime/package/93113?scene=preview`=code0、`?scene=play`=未发布门控;project 9318 status=0 DRAFT |
|
||||
| SAA→new-api 冒烟 | `mvn test -Dtest=SaaNewApiGenerateSmokeTest`(PASS 43s,"SAA->new-api 冒烟证据") |
|
||||
|
||||
> 验证状态:V16 真库 / V1 九门(repair 后全过) / V2 真生成(engineBundle 212901 含 __GameBundle) / V3 进程内回调(status=2+versionId 93113·无 HTTP·无 HMAC) / 组B 落库(HTTP 路·readiness=96) / checkpoint step5 = **均带文件:行 + DB 实查 + 日志实证,全 PASS**。V4 = **达「version 就绪+待发布」正确档(project 留 DRAFT,feed 过滤未发布·worker succeeded≠发布),链路无缺口**。另揪 2 真问题(split-brain 双向实证 / 早期 boot fast-fail 待复现)+ 1 取证坑(systemd append: 吞后台日志·已绕过)。
|
||||
> 原始证据日志(`/root/lane-s-48090.log` 等)在 mini-desktop 机侧、属一次性产物不随档保留。**权威现状以 round3 verdict 为准。**
|
||||
|
||||
@ -1,143 +1,18 @@
|
||||
# 生成引擎 · 并行开发编排(多 session 共用 · 依赖图 + 车道)
|
||||
# 生成引擎 · 并行开发编排(已压缩留桩)
|
||||
|
||||
> **状态**:编排协调版 · 2026-06-16 · 供**多 session 并行开发**共用读。
|
||||
> **WHAT 来源**:`docs/agent-specs/2026-06-16-生成引擎-任务清单普查.md`(任务全景普查 §1-§8)。本文是其 **HOW-to-parallelize**——把 open 任务切成可并行车道 + 标依赖 + 划 session 边界。
|
||||
> **核心原则**:parallel boundary = **module boundary**;车道间**零共享状态**、只经**契约**交互(参 `.agents/skills/contract-first-development.md` / `.agents/workflows/mvp-execution-orchestration.md` 第 5 策)。
|
||||
> **⚠️ session 边界(最重要)**:`game-studio/`(产品前端:创作页 / feed UI / 缩略图展示 / 进度条 / 设计体系 HJ-FE-DS-001)**整块归 studio session**;本编排的**后端/worker session 一行不碰 `game-studio/`**,接缝一律走契约先行。
|
||||
> **状态:SUPERSEDED → [`2026-06-17-多session分工与任务总账.md`](2026-06-17-多session分工与任务总账.md)**(_index §1 实证:6c6g↔Mac↔studio 角色分权模型版取代本「模块切分版」)
|
||||
> 类型:多 session 并行车道编排(HOW,压缩桩;原 143 行全文见 git 历史)。
|
||||
> 压缩于 2026-06-17 文档整理([plan](2026-06-17-文档整理-plan.md))。
|
||||
|
||||
---
|
||||
## 目标
|
||||
|
||||
## 0. 已落主线(截至 2026-06-16 · 各车道起点)
|
||||
把 [`2026-06-16-生成引擎-任务清单普查.md`](2026-06-16-生成引擎-任务清单普查.md) 的 open 任务切成可并行车道 + 依赖图 + session 边界(parallel boundary = module boundary,车道间零共享状态、只经契约交互)。
|
||||
|
||||
| 项 | 状态 | commit |
|
||||
|---|---|---|
|
||||
| tap-targets 自产 driver 临门一脚(moat 主线杠杆) | ✅ | `a2cbabe6` |
|
||||
| 组A · D12 控制平面 v0 + GP9 合规先行段 | ✅ | `0b1b37ea` |
|
||||
| 组C · 首局体验门(品类化 additive 派生超集) | ✅ | `d4f16aab` |
|
||||
| 组B · 落库组 execution spec(= Lane A 起点,待实现) | 📝 spec | `cd0692b3` |
|
||||
## 结论(桩保留关键事实)
|
||||
|
||||
---
|
||||
- **已落主线起点**:tap-targets 自产 driver 临门一脚 `a2cbabe6` / 组A D12 控制平面 v0+GP9 `0b1b37ea` / 组C 首局门 `d4f16aab` / 组B 落库组 spec `cd0692b3`。
|
||||
- **session 边界铁律**:`game-studio/`(产品前端:创作页/feed UI/缩略图/进度条/设计体系 HJ-FE-DS-001)整块归 studio session,后端/worker session 一行不碰,接缝走契约先行。
|
||||
- 被 **`2026-06-17-多session分工与任务总账.md`** 取代(模块切分版 → 角色分权模型版:Mac 实现 / 6c6g 独立评审+真机验 / studio 前端,dev 先行/集成测后置)。
|
||||
- 硬规则已另蒸馏:`.agents/skills/{contract-first-development,staging-ops}.md` + memory `{multi-session-shared-tree-push-conflict,prefer-parallel-over-serial}`。
|
||||
|
||||
## 1. 依赖图
|
||||
|
||||
```mermaid
|
||||
flowchart TB
|
||||
classDef founder fill:#fff3cd,stroke:#856404
|
||||
classDef studio fill:#f8d7da,stroke:#b21f2d,stroke-dasharray:4 4
|
||||
classDef seam fill:#ede0f8,stroke:#5a2a82
|
||||
|
||||
subgraph CP["🚪 开种子 · 4 个并行前提 → 放"]
|
||||
G0["G0 创作页核实<br/>read-only 走查"]
|
||||
G1["G1 GP9 staging 验 10 负例<br/>组A 代码✅·proof 待"]
|
||||
GSEC["2 安全洞收内网"]:::founder
|
||||
GLAB["labels.json 人锚"]:::founder
|
||||
OPEN{{"放种子创作者"}}
|
||||
G0-->OPEN
|
||||
G1-->OPEN
|
||||
GSEC-->OPEN
|
||||
GLAB-->OPEN
|
||||
end
|
||||
|
||||
subgraph LA["Lane A · aigc 后端/契约/DB(车道内串行)"]
|
||||
A1["组B 落地 V16<br/>D9+D11+trace9d"]-->A2["source 列隔离 V17"]-->A3["Dify 残骸 R6"]
|
||||
end
|
||||
subgraph LB["Lane B · SAA worker"]
|
||||
B1["form① e2e"]---B2["agent-loop-v1 退役"]---B3["player 子图"]
|
||||
end
|
||||
subgraph LC["Lane C · 质量/harness/成本"]
|
||||
C1c["scale-20 补全"]---C2c["四模型横比"]---C3c["¥0.15/P75 验收门"]
|
||||
end
|
||||
subgraph LD["Lane D · prompt-gatespec(双侧同步)"]
|
||||
D1["t2048 latch"]---D2["brief pin 自产化"]---D3["插件门面决策"]
|
||||
end
|
||||
|
||||
subgraph STUDIO["🚧 另一 session 在改 · 后端 session 只读不写 game-studio/"]
|
||||
S1["创作页修复"]:::studio
|
||||
S2["feed/sort 前端消费"]:::studio
|
||||
S3["缩略图/封面/叙事"]:::studio
|
||||
S4["进度条 UI"]:::studio
|
||||
S5["设计体系 HJ-FE-DS-001"]:::studio
|
||||
end
|
||||
subgraph SEAM["🟪 契约缝 · 后端 session 做后端半 → studio 做前端半"]
|
||||
K1["FeedCard +templateName"]:::seam
|
||||
K2["sort_score 多因子公式·后端"]:::seam
|
||||
K3["streaming SSE·后端"]:::seam
|
||||
end
|
||||
|
||||
C1c-. scale20 数据 .->D3
|
||||
C2c-. 横比 .->D3
|
||||
A1-. trace 字段 .->C3c
|
||||
GLAB-. 人锚解锁放量判定 .->C1c
|
||||
G0-. 断则交付 .->S1
|
||||
K1-->S2
|
||||
K2-->S2
|
||||
K3-->S4
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. 车道表(每条 = 独立 worktree,off origin/dev/2.0.0)
|
||||
|
||||
| 车道 | 内容 | 现可并行? | 车道内次序 | 跨车道依赖 | 模块边界(文件域) |
|
||||
|---|---|---|---|---|---|
|
||||
| **A · aigc 后端/DB** | 组B(V16)→source列(V17)→Dify残骸R6 | ✅ | **串行**(共享 `game_aigc_task` DO + Flyway 版本序) | 出 trace 喂 C 的 ¥验收门 | `game-module-aigc` + `contracts/api-schemas/aigc.yaml` + `wg1/gen-worker`(service.py/studio.py 抽 trace、dedup.py) |
|
||||
| **B · SAA worker** | form① e2e / agent-loop-v1 退役登记 / player 子图 / gatespecParseErr 回灌 | ✅ | 可并 | 无 | SAA worker 编排面(dispatcher/图/检查点) |
|
||||
| **C · 质量/harness/成本** | scale-20 补全 / 四模型横比 / 好玩基线 v2 rubric / ¥0.15+P75 验收门 / 抽检阀·告警阈值 | ◑ 部分 | 可并 | 好玩判定等 labels.json(创始人);¥验收门等 A 的 trace 字段 | 九门 harness + 评估/成本脚本(不碰后端业务码) |
|
||||
| **D · prompt-gatespec** | t2048 latch 放宽 / brief pin 自产化 / 插件门面缺口决策 | ◑ 部分 | 可并 | 插件门面决策等 C 的 scale-20 数据 | `roles.py`(Python)+ `SaaPrompts.java`(SAA)**字符级双侧同步**(公平性铁律) |
|
||||
| **E · 开闸前置** | G0 创作页核实(read-only 走查)/ G1 GP9 staging 真验 10 负例 | ✅ | 可并 | G0 若发现断 → 交 studio session 修 | staging 运维 + CDP 走查(只读)/ 后端部署 |
|
||||
| 🚧 **studio** | 创作页修复 / feed·sort 消费 / 缩略图展示 / 进度条 / 设计体系 | — | — | **另一 session 拥有,后端 session 不碰** | `game-studio/` 全域 |
|
||||
|
||||
---
|
||||
|
||||
## 3. 并行硬规则(防撞)
|
||||
|
||||
1. **worktree 隔离**:每车道一棵 worktree(`git worktree add -b <lane> <path> origin/dev/2.0.0`),零共享工作树;push 前 `fetch + rebase origin/dev/2.0.0`,撞车的**别人 untracked 文档先 `find` 挪走**再 rebase(参 memory `multi-session-shared-tree-push-conflict`)。
|
||||
2. **Flyway 版本预分配**(防抢号):**组B = `V16.0.0`、source 列 = `V17.0.0`**;Lane A 内 A1→A2 都改 `AigcTaskDO.java` → **同一 worktree 串行顺做**,禁两 worktree 并发改同一 DO 类。
|
||||
3. **不碰 `game-studio/`**:后端/worker session 对 `game-studio/` **只读不写**;任何前端改动属 studio session。
|
||||
4. **契约缝 = 契约先行**:接缝三件(FeedCard `templateName` / `sort_score` 多因子 / streaming SSE)——后端 session 先改 `contracts/` + 实现后端半、**通知 studio session** 接前端半;禁绕过契约直接联调。
|
||||
5. **公平性铁律(Lane D 专属)**:`roles.py` 与 `SaaPrompts.java` 的 gatespec 规则**字符级一致**,改一侧必同步另一侧(Python 先、SAA 逐字跟进)。
|
||||
6. **非阻断/可回滚**:观测类(组B 三件)落库失败一律 best-effort 吞异常不阻断主链;新增列/字段 additive 可空、feature-flag 全关 = 现行字节不变。
|
||||
7. **ultracode 并行 worktree 防悬空提交(Round1 血泪铁律)**:子代理在**预建 worktree** 内做 git 操作,**必须 `git -C <worktree> ...`**(或先确认 `pwd` 在 worktree 内)——**严禁 commit 到主 checkout `/root/games-development-ai`**。主 agent 推送前**逐车道核验 commit 真落在其分支**(`git -C <worktree> log --oneline -n` / `git log <lane-branch>`);若 commit 错落主 checkout 成悬空(HEAD 移走后 `git log` 不见、仅 reflog/`git fsck --lost-found` 可寻)→ 用 `git cherry-pick <sha>` 找回到正确分支再推。来源:Round1 Lane E 子代理把提交错落主 checkout 成悬空 commit(已 cherry-pick 救回)。
|
||||
|
||||
---
|
||||
|
||||
## 4. 跨车道依赖 / 闸门 / 创始人卡点
|
||||
|
||||
**车道间硬依赖(图中虚线)**
|
||||
- `C.scale-20 + C.四模型横比` → **D.插件门面缺口决策**(无 scale-20 数据不能拍 20 款成功率上限/token 成本,普查标"W-G1 架构最关键未决")。
|
||||
- `A.组B trace 9d` → **C.¥0.15/款 + P75 验收门**(需 per-game trace 字段完整)。
|
||||
- `A.组B V16` ↔ `A.source 列 V17`:共享 `game_aigc_task` DO + Flyway 序 → **车道内串行**。
|
||||
|
||||
**创始人卡点(blocked-on-founder,非车道能解)**
|
||||
- **labels.json 人锚**:创始人亲玩补锚 → 解锁 bake-off 放量好玩判定(卡 C 的放量段)。
|
||||
- **2 安全洞**:new-api 3000 公网暴露 / 8888 短信旁路码——上线前必修(confidence-100),ops/创始人路由。
|
||||
- **真实计费扣退**:随 M4(new-api `AddToken` 硬编码 UserId 阻塞),与配额/背压拆开。
|
||||
|
||||
**开种子闸门(4 并行前提 → 放)**
|
||||
G0 创作页核实 ∧ G1 GP9 staging 验 ∧ 2 安全洞收内网 ∧ labels.json 补锚 → **放种子创作者**。
|
||||
**真公开上线另受日历闸门**(ICP 备案 / 短信签名报备 / 支付 / 广告)——不可压缩的真瓶颈,创始人轨(memory `mvp-binding-constraint-calendar-gates`)。
|
||||
|
||||
---
|
||||
|
||||
## 5. 立即可并行启动 / 阻塞
|
||||
|
||||
- **现在可同时开火**:**A、B、C、E** 四条(各自 worktree + 子代理)。**D** 可并但 D3 插件决策须等 C 的 scale-20 数据。
|
||||
- **阻塞**:放量好玩判定 / labels.json / 2 安全洞 / 真实计费 / 日历闸门——均在创始人或 ops,非车道内能推进。
|
||||
|
||||
---
|
||||
|
||||
## 6. 给 studio session 的边界与接缝(双向读)
|
||||
|
||||
> 本节给**正在改 studio 的那个 session** 读:明确"哪些是你的、哪些是契约缝、怎么协同"。
|
||||
|
||||
- **你的全域**:`game-studio/`(创作页、feed 列表/卡片、缩略图展示、生成进度条、设计体系/i18n/通用组件库 HJ-FE-DS-001)。后端 session 不会改这里。
|
||||
- **3 个契约缝**(后端 session 交付后端半 + 契约,你接前端半):
|
||||
1. **FeedCard `templateName`**:契约 `contracts/`(FeedCard)加 `templateName` 玩法标签字段 → 你在 feed 卡片消费做玩法分发信号。
|
||||
2. **feed `sort_score` 多因子**:后端把 `sort_score` 从 `quality_score+boost` 升级为多因子(freshness/interaction_rate/skip_rate/...)→ 你的 feed 列表只是消费排序结果,**前端无需改**,但若要展示"为什么排这"需新字段时走契约。
|
||||
3. **streaming SSE 进度**:后端出 SSE 进度端点 → 你在创作页接进度条 UI。
|
||||
- **G0 创作页核实**:后端 session 会对创作页做**只读 CDP 走查**(查 W-CLEAN 后"开始生成"是否禁用/创作主链是否断),**不改你的代码**;若发现断链,**修复由你做**(后端 session 出复现证据交付)。
|
||||
- **协同协议**:接缝改动一律**契约先行 → 通知** → 双方各改各侧;push 前互相 `fetch+rebase`,撞车 untracked 先挪。
|
||||
|
||||
---
|
||||
|
||||
> **一句话**:WHAT 看普查清单,HOW 看本文。后端 5 车道(A/B/C/D/E)各自 worktree 并行,`game-studio/` 全归 studio session,接缝走契约。开种子 = 4 前提齐;真上线另卡日历闸门。
|
||||
> 现行并行分工以多session分工与任务总账为准;本桩仅留 WHAT→HOW 溯源。
|
||||
|
||||
159
docs/agent-specs/2026-06-17-文档整理-plan.md
Normal file
@ -0,0 +1,159 @@
|
||||
# 文档整理 · 清理计划(2026-06-17 · 待创始人审批)
|
||||
|
||||
> 类型:doc-organizer 阶段一产物(**只读分析→计划→评审→审批**;**本计划批准前零文件改动**,仅本计划档本身已落盘)。
|
||||
> 触发:创始人「docs/agent-specs 06-10→06-17 分类+压缩清理+核心档更新到最新+按最新口径改总账」。
|
||||
> 方法:`doc-organizer.sh scan` 取信号 → 内联分析 workflow(25 opus agent·三轴只读 fan-out·1.4M tokens)→ 本计划 → opus 评审 → 审批。
|
||||
> 判据:`engineering-conventions §10` + 活地图 `_index.md` + MEMORY;现行真相基准 = `tech-decisions.md` + `AGENTS §3`(已含 06-17 玩法模板术语纠正)。
|
||||
|
||||
---
|
||||
|
||||
## 0. 结论先行(决策级)
|
||||
|
||||
1. **窗口口径**:06-16 已做首轮全量治理(21M→4M·64 档归档),故 06-10→06-15 的 13 顶层档昨天刚判 ACTIVE 并保留。本轮**真增量 = 06-16 那批 20 档**(昨天「今日在飞不动」、今天已可裁)。06-17 的 9 档 = 今天在飞,**红线不碰**。
|
||||
2. **过期分类(20 档)**:**KEEP 16 / COMPRESS 2 / ARCHIVE 2**。需动手的只有 4 档——压 2 桩(被 06-17 同线 supersede)、归 2 档(已执行/已否决留痕)。
|
||||
3. **核心档措辞**:**Dify/OpenGame 家族零真改**(采样全是已标作废/决策史/future-state,证实 06-16 对齐可信);**真问题 = 玩法模板术语漂移 16 处 + 关联生成口径 1 处,跨 4 核心档 + 工具 1 处**——按 **HJ-DEMO-AUDIT-001(创始人 06-17 纠正)** 须正名「游戏模板/填参线已废」并补「玩法模板(品类框架)未废=最高优先级待建」。**这是本轮"核心档更新到最新"的头号项**。
|
||||
4. **进度总账**:①**M2「现在时漂移」**(仍写"四模板可生成",但 W-CLEAN 已清旧模板、generic 桥接接棒)= demo 审计 C6 已核实,须改;②**06-17 工作回填**(SAA trace 真库收口 / generic 一句话入口 / crypto.subtle 整款加载修 / 完成度 census)。
|
||||
5. **工具新鲜度**:`doc-organizer.sh` 硬编码「最新日在飞=2026-06-16」已过期(今天 06-17),致 06-16 档被误当在飞拒归档、而真在飞的 06-17 档反没保护 → 须改。
|
||||
6. **量化收益**:热目录顶层 dated 档 42→40(归 2)、2 巨档压桩、4 核心档术语对齐现行、总账消除 1 处现在时漂移 + 回填 06-17 一日工作、工具止 1 处过期。
|
||||
|
||||
> **待创始人拍 3 项**(详见 §6):A. 玩法模板术语 16 处是否本轮就改(默认建议改);B. 证据 PNG 是否清;C. 工具日期改法(推进式 vs 动态式)。
|
||||
|
||||
---
|
||||
|
||||
## 1. 逐档处置表 A — 06-16 增量 20 档(轴①分类结果)
|
||||
|
||||
> 图例:KEEP=留热目录活档 / COMPRESS=改写为桩留指针 / ARCHIVE=git mv 入 `_archive/`(仍 git 跟踪)。
|
||||
|
||||
| 档 | 行 | action | status | 理由(一句) |
|
||||
|---|---|---|---|---|
|
||||
| W-G1开闸验收门-review | 128 | **KEEP** | ACTIVE | 当前最高优先级在飞·开闸决策线纲领 SoT |
|
||||
| W-G1开闸验收门-组A-execution | 389 | **KEEP** | ACTIVE | 在飞·组A 实现 SoT(未消费,无落库 commit) |
|
||||
| W-G1开闸验收门-组B-execution | 472 | **KEEP** | ACTIVE | 在飞·落库组实现 SoT(9d trace/D11/D9/V16) |
|
||||
| W-G1开闸验收门-组C-execution | 107 | **KEEP** | ACTIVE | 在飞·组C(无 verdict=未消费) |
|
||||
| 开闸前置-G0G1-verdict | 108 | **KEEP** | ACTIVE | 在飞·GP9 staging 真验 SoT,放行未发生 |
|
||||
| 生成引擎主线-传承与演进-review | 98 | **KEEP** | ACTIVE | 生成线在飞·§4 四项待拍 |
|
||||
| 生成引擎-任务清单普查 | 129 | **KEEP** | ACTIVE | 生成线在飞主图·哪些 open/噪声唯一 SoT |
|
||||
| M4变现真实化-review | 148 | **KEEP** | ACTIVE | 变现④做真线唯一 SoT·尚无 execution(两轮评审待办) |
|
||||
| 消费侧钱包最小闭环-review | 66 | **KEEP** | ACTIVE | 钱包线唯一决策 SoT·§6 三项待拍(⚠️_index §1 漏登→回填) |
|
||||
| 产品开发路线图-review | 200 | **KEEP** | ACTIVE | 产品视角全局路线图·§4 待拍未消费 |
|
||||
| studio视觉体系-i18n-组件库-review | 132 | **KEEP** | ACTIVE | HJ-FE-DS-001 在飞·载创始人 5 决议 |
|
||||
| studio视觉体系-i18n-组件库-execution | 95 | **KEEP** | ACTIVE | 在飞·设计体系唯一落地 SoT(金样板门未验绿) |
|
||||
| studio-vs-demo-UI差距-review | 196 | **KEEP** | ACTIVE | HJ-FE-DS-001 输入·UI 差距分析 SoT |
|
||||
| SAA-form①-e2e-runplan | 215 | **KEEP**△ | ACTIVE | ⚠️评审 M1 修正:e2e 已被 06-17 round3 消费(form①打砖块·九门全过 succeeded),KEEP 仅因留 harness 可复现配方;**列下轮 COMPRESS 候选** |
|
||||
| agent-loop-v1-退役登记 | 218 | **KEEP** | ACTIVE | orchestrator↔SAA 边界裁决 SoT·退役未发生 |
|
||||
| agent-specs目录治理-review | 232 | **KEEP** | SHIPPED | 治理线唯一 SoT(附录A 全量 action 权威)·06-17 活地图仍引 |
|
||||
| **round2-staging-e2e-verdict** | 178 | **COMPRESS** | SUPERSEDED | 被 06-17 round3 同线收口 supersede(703e462c),follow-up 全吸收 |
|
||||
| **生成引擎-并行编排** | 143 | **COMPRESS** | SUPERSEDED | 被 06-17 多session总账取代(_index §1 实证)·硬规则已另蒸馏 |
|
||||
| **技术决策版重写-review** | 65 | **ARCHIVE** | SHIPPED | 顶部「已执行」·对齐已落(成本 flag 已入 MEMORY 跟踪) |
|
||||
| **视觉增强repair-review** | 90 | **ARCHIVE** | SPIKE-DONE | 顶部「⛔NO-GO 已否决」·存为防再提决策记录 |
|
||||
|
||||
**动手项**:COMPRESS 2(round2-verdict→指针 round3 / 并行编排→指针 多session总账)、ARCHIVE 2(git mv 入 `_archive/`)。其余 16 KEEP 不动。
|
||||
|
||||
---
|
||||
|
||||
## 2. 逐档处置表 B/C — 06-10→06-15(信 _index)+ 06-17(在飞 defer)
|
||||
|
||||
### B. 06-10→06-15 共 13 档 = 全 KEEP(_index §1 06-16 已判 ACTIVE,1 天内无状态变化,不重判)
|
||||
|
||||
`2026-06-10-架构文档三向审计-review`(R1-R4 战略活账) · `2026-06-11-{newapi计费平面集成-review, T1引擎终裁包, W4单位经济埋点-review}` · `2026-06-12-{W-CH-α渠道引擎对比spike-execution, W-T1b-Runner与双层模板-review, 渠道适配判定, 游戏生成系统总体架构-review}` · `2026-06-13-{runner-v2-arc-review, WG1-20经典轻游戏基准}` · `2026-06-15-{SAA-AgentScope-agent平台-目标架构-review, SAA-能力API接入-dossier, T1b-β收口报告}`
|
||||
|
||||
> 注:`W-T1b-Runner与双层模板-review`(06-12 模板哲学宪法) 含「玩法模板」术语,但属**历史决策记录**(决策史勿强对齐),不纳入 §4 术语修。
|
||||
|
||||
### C. 06-17 共 9 档 = DEFER(红线:最新日在飞不碰,next-window 再裁)
|
||||
|
||||
全部本轮不动。仅登记:`round3-SAA-trace-split-brain-real-db-verdict`、`组B-SAA路trace接线-execution`(_index 已标"已收口",384 行 execution=**下轮 COMPRESS 候选**)、`demo与三文档套件缺口冲突审计-review`、`产品功能与技术模块-完成度与优先级总账`、`多session分工与任务总账`、`固定游戏架构与SAA-agentic-studio-review`、`开闸-一句话入口接线-review`、`生成主线-对话生成修改素材-review`、`生成主线-游戏生命周期项目管理-review`。
|
||||
|
||||
### D. 子目录 / 证据(机械检测,低优)
|
||||
|
||||
| 对象 | 体积 | 建议 | 说明 |
|
||||
|---|---|---|---|
|
||||
| `2026-06-10-passport-e2e-evidence/`(3 PNG·无结论 md) | 164K | **EVICT 候选** | passport 波已收口(MEMORY 有结论),UI 证据可重生成 |
|
||||
| `2026-06-11-前端接线创作链路UI走查/evidence/`(4 PNG) | — | **EVICT 候选**·留 `report.md` | 链路①已收口;report.md 是结论保留 |
|
||||
| `2026-06-09-agent-loop-v1/ideas/*.txt`(7 txt) | 32K | **留** | 太小;agent-loop-v1=活工具箱宿主(orchestrator 白名单) |
|
||||
| `generation-spike/` `channel-spike/` `orchestrator/` | — | **留** | 白名单(可复现证据/活 spike/活工具箱) |
|
||||
|
||||
> 证据 PNG 总计 ~368K,目录 4.4M(<6M 阈值=无体积压力),故 EVICT 为**可选低优**,创始人可不清。
|
||||
|
||||
---
|
||||
|
||||
## 3. 措辞修订清单 — 轴②(A) Dify/OpenGame 家族 = **0 真改**(确认干净)
|
||||
|
||||
逐处采样证实:`技术决策版` 16 疑似 / `tech-decisions` 2 疑似 / `投资人版` 1 疑似 **全是假阳**——均已带「作废 / 从未部署 / 降级远期 / future-state / moot 横幅 / 删除线 / 决策史」标注(决策史/甘特/带横幅风险表本就假阳)。**投资人版 9 处 findings 全放过**。→ 证实 `_index §3`「核心档已对齐现行真相」可信,本轴无动作。
|
||||
|
||||
> 灰区升级(评审 S2 采纳):`tech-decisions.md:124`「创作者通过**配置**而非写 JS 驱动游戏」与现行「agent 写码于插件库」相左。因 `tech-decisions.md` 是 `.agents/knowledge/` **日常入口活蓝图**(非历史档),日常开发会直接读到 → **并入 §4 本批同改**(已计入下表 tech-decisions 6 处)。
|
||||
|
||||
---
|
||||
|
||||
## 4. 措辞修订清单 — 轴②(B) 玩法模板术语漂移 = **16 处真改**(头号项)
|
||||
|
||||
**依据**:HJ-DEMO-AUDIT-001(创始人 06-17,权威,已入 MEMORY+_index)——**废的是「游戏模板」**(pre-built 整局游戏代码/填参线/旧 4 模板,W-CLEAN 已清);**「玩法模板」**(品类/玩法框架·引导 AI 生成·非 pre-built 代码)**未废 = 当前最高优先级待建**。核心档却普遍写「玩法模板层废除」(substance 对、术语错)。
|
||||
|
||||
**统一修法**(外科 Edit,不重排):把「玩法模板层废除/已废」→「**游戏模板/填参式模板已废(W-CLEAN,旧4模板+存量已清)**」,并就近补「**『玩法模板』=品类框架·引导生成·未废·当前最高优先级待建**」。
|
||||
|
||||
| 档 | 改处 | 定位(行) |
|
||||
|---|---|---|
|
||||
| `docs/architecture/系统概要设计-技术决策版.md` | **8** | 13、16、55、794、1087、1412、1547、1552(315 mermaid=放过) |
|
||||
| `.agents/knowledge/tech-decisions.md` | **6** | 13、38、82、103、34 + **124**(评审 S2:「配置而非写JS」漂移并入) |
|
||||
| `.agents/knowledge/glossary.md` | **2** | 28、49 |
|
||||
| `.agents/knowledge/product-and-architecture.md` | **1** | 47 |
|
||||
| `.agents/tools/doc-organizer-analyze.mjs` | **1** | 21(工具自身 TRUTH 基准,同口径修,免下轮再喂错基准) |
|
||||
|
||||
> **评审 S1(可选指针)**:`2026-06-12-W-T1b-Runner与双层模板-review.md:4`「玩法模板(品类骨架)永久废除」与创始人最新纠正**实质反转**(永久废除 vs 未废待建)。该档=历史决策记录(**不强改正文**),但建议在其顶部或 `_index §2` 加一行指针「此处『永久废除』指游戏模板/填参线,玩法模板品类框架未废,见 HJ-DEMO-AUDIT-001」,免新接手照信。
|
||||
|
||||
> `bigRewrite=false`(全是点状外科改,非重写,无需单独大档计划)。逐处 quote+fix 见分析 workflow 输出(`tasks/w35qqluna.output` axis2)。
|
||||
|
||||
---
|
||||
|
||||
## 5. 总账回填项(轴③ · `docs/mvp/MVP进度总账.md`)
|
||||
|
||||
### (a) M2「现在时漂移」修(= demo 审计 C6 已核实冲突)
|
||||
- **现状**:§0 + §1 M2 行写「**四模板** clicker/merge/idle/tycoon 各可生成可玩可进 feed」(现在时,暗示模板是现行生成路)。
|
||||
- **现行真相**:W-CLEAN 已清旧 4 模板+存量数据(smoke `aigc/template/list 空=设计态`);**06-17 generic 桥接(7534bdf9)接棒**——一句话无需选模板即走 generic 生成路(拆模板门)。
|
||||
- **修法**:四模板成就改**历史时态**(M-c 历史达成),补现行 generic 入口口径;**honest 边界**=generic 真出可玩游戏仍挂 W-G1 开闸验收门(不overclaim)。
|
||||
|
||||
### (b) 头部 + §6 执行记录 06-17 回填
|
||||
| 工作 | commit | 状态 |
|
||||
|---|---|---|
|
||||
| SAA 进程内派发路 trace split-brain 真库收口 | 703e462c + round3 verdict | 已收口(dispatcher=saa 落 trace_json/readiness_score 真库验) |
|
||||
| F5 ReadinessScorer.firstPlay 既存 bug 修 + SAA boot eager 预热 | 5f6cdd0c + 3f712499 | 已修 |
|
||||
| generic 一句话入口桥接(开闸首件·拆模板门) | 7534bdf9 + 870bf56b | 已落(入口归一缺省 generic) |
|
||||
| 非安全上下文 crypto.subtle 整款游戏加载失败修 | 4e486f60 | 已修(明文IP/http 退 demo 误报根因) |
|
||||
| 产品功能×技术模块完成度与优先级 census | bd93c35c | 已出(155 功能/13 模块逐条实证) |
|
||||
|
||||
> 收口口径遵 `wave-close-checklist.md` 第 1 步(§0/§6 + 表头日期 + 对账 commit)。
|
||||
|
||||
---
|
||||
|
||||
## 6. 工具新鲜度修 + 待创始人拍板
|
||||
|
||||
### 工具修:`doc-organizer.sh` 硬编码「最新日在飞」过期
|
||||
- 4 处硬编码 `2026-06-16`(行 32/38/41/78),今天 06-17 已错位 → **行 78 archive 拒绝**会挡住本轮 2 个 06-16 ARCHIVE 档。
|
||||
- **必须先修**(否则归档跑不动)。两种改法见下 Q3。
|
||||
|
||||
### 待拍板 3 项(AskUserQuestion)
|
||||
- **Q1 玩法模板术语 16 处**:本轮就改(默认建议)/ 仅改日常入口(tech-decisions+glossary+product-and-architecture+工具,暂不动 1562 行技术决策版)/ 全部 defer 到 demo 审计完全落定。
|
||||
- **Q2 证据 PNG**:清(EVICT passport+前端UI走查 PNG,留 report.md)/ 不清(无体积压力)。
|
||||
- **Q3 工具日期**:推进式(硬编码 06-16→06-17,最小改)/ 动态式(改 `ls 取最大日期`,一劳永逸但改动略大)。
|
||||
|
||||
---
|
||||
|
||||
## 7. 风险 / 约束 / 红线
|
||||
|
||||
1. **阶段一只读**:本计划批准前**零文件改动**(仅本计划档已落)。
|
||||
2. **可回滚**:COMPRESS/ARCHIVE 全程 git 跟踪;归档=git mv 入 `_archive/` 文件名不变 + 自动修引用。
|
||||
3. **在飞不碰**:06-17 全 9 档 + 16 个 KEEP 档不动;W-G1/studio 设计体系/生成线在飞 SoT 全保。
|
||||
4. **术语修边界**:只动**活核心档**陈述现行口径处;历史决策记录(W-T1b-Runner review、mermaid 蓝图、决策史表)**不强对齐**。
|
||||
5. **多 session 共享树**:orchestrator/ 有他人 untracked 新文件(dash_walk.py 等)→ 守卫式 `git add` 指定路径,**禁 `git add -A`**。
|
||||
6. **honest 口径**:总账 generic 生成不 overclaim(真出可玩仍挂 W-G1)。
|
||||
|
||||
---
|
||||
|
||||
## 8. 阶段二执行序(批准后)
|
||||
0. 修 `doc-organizer.sh` 硬编码日期(Q3 选法)——**评审 M2:必须先于步 2**(否则 `archive` 拒跑 06-16 档)。
|
||||
1. COMPRESS 2 桩(round2-verdict / 并行编排)→ 写状态横幅+指针。
|
||||
2. ARCHIVE 2(`doc-organizer.sh archive 技术决策版重写-review.md 视觉增强repair-review.md`)→ 自动修引用。
|
||||
3. (Q1 批准则)玩法模板术语 17 处(含 tech-decisions:124)外科改 + 工具 TRUTH 修 + (可选 S1)W-T1b-Runner 指针注(派 opus 子代理逐档改、主代理验证)。
|
||||
4. 总账回填(M2 漂移 + 06-17 §6/头部)。
|
||||
5. (Q2 批准则)EVICT 证据 PNG。
|
||||
6. `_index.md` 维护:移 2 ARCHIVE/2 COMPRESS 出 §1、补登 `消费侧钱包最小闭环-review`、更新 §3 归档段。
|
||||
7. 守卫式 add + 提交 + `doc-organizer.sh record <commit> "<摘要>"` 记本次清理时间。
|
||||
@ -17,9 +17,6 @@
|
||||
- `2026-06-13-WG1-20经典轻游戏基准-review.md` — W-G1 靶集 + 4 类缺口诊断(在飞)
|
||||
- `prompt治理体系-execution.md` — Prompt 第 8 契约执行版(Registry / 门禁 / HITL,现行)
|
||||
- `2026-06-09-generation-spike/` — C1 生成 spike 证据底座(可复现,被 MEMORY 引)
|
||||
- `2026-06-17-固定游戏架构与SAA-agentic-studio-execution.md` — **ACTIVE · 当前生成主线架构 execution**(固定游戏架构=轻量声明式领域模型+2D 适配器 / SAA studio 9+1+1 agent / 8 契约 / 救场阶梯 / 缓存三段式;**两 spike 已绿**:缓存经 new-api 透传 76-93%、classify tickModel 100%)
|
||||
- `2026-06-17-固定游戏架构与SAA-agentic-studio-review.md` — 上档配套**设计 review**(自洽,含深析 §10 + 创始人决策;已承原 v2 生命周期原则)
|
||||
- ↳ **一题一活档收敛(2026-06-17)**:`对话生成修改素材-review`(v1) 已删(前提证伪)、`生命周期项目管理-review`(v2) 已折入上档 §1 并归档 `_archive/`(见 §2)
|
||||
|
||||
### agentic 基建(当前主线 HJ-AGI-002 = SAA-only)
|
||||
- `2026-06-15-SAA-AgentScope-agent平台-目标架构-review.md` — 当前 agentic 编排目标架构(决策口径)
|
||||
@ -46,8 +43,8 @@
|
||||
### 活工具箱(非 doc,但活,保留)
|
||||
- `2026-06-09-agent-loop-v1/orchestrator/` — QA 生成编排器 + 计费 `newapi_cost.py` + CDP harness `player_cdp.py`(被 11 处活资产引用;建议长期迁 `tools/`)
|
||||
|
||||
### 06-16 今日在飞(本轮治理不动)
|
||||
`W-G1开闸验收门-review` + `-组A-execution`、`生成引擎主线-传承与演进-review`、`生成引擎-任务清单普查`、`M4变现真实化-review`、`studio-vs-demo-UI差距-review`、`产品开发路线图-review`、`视觉增强repair-review`、`studio视觉体系-i18n-组件库-review`(HJ-FE-DS-001·设计体系/通用组件/双语方案+mockup,待创始人拍板)
|
||||
### 06-16 在飞(多为待创始人拍板或在飞实现;2026-06-17 文档整理保留)
|
||||
`W-G1开闸验收门-review` + `-组A/B/C-execution`(开闸验收门=当前最高优先级在飞)、`生成引擎主线-传承与演进-review`、`生成引擎-任务清单普查`、`M4变现真实化-review`、`消费侧钱包最小闭环-review`、`studio-vs-demo-UI差距-review`、`产品开发路线图-review`、`studio视觉体系-i18n-组件库-review`+`-execution`(HJ-FE-DS-001·设计体系/通用组件/双语方案+mockup,待创始人拍板)、`SAA-form①-e2e-runplan`(harness 配方;e2e 已被 round3 消费=下轮 COMPRESS 候选)、`开闸前置-G0G1-verdict`、`agent-loop-v1-退役登记`(orchestrator↔SAA 边界裁决)
|
||||
|
||||
---
|
||||
|
||||
@ -62,7 +59,8 @@
|
||||
| `核心功能技术实现方案.md`(单体) | ↔ `技术实现方案-sections/` **互为 DUP**,取一即可 |
|
||||
| `wave3创作补全与发布闸门-review`(HJ-BUILD-003) | `wave3-staging联调与P0补全-review`(004 继承+取代) |
|
||||
| W-G1 06-14 组(`P3-W-G1`/`WG1-bakeoff`/`scale20`) | **06-16 开闸验收门 + 任务清单普查 接棒** |
|
||||
| 生成主线 `对话生成修改素材-review`(v1·D5「改打包产物」已证伪) + `生命周期项目管理-review`(v2) | **固定游戏架构与SAA-agentic-studio review+execution**(v1 删 / v2 折入+归档 `_archive/`;2026-06-17「一题一活档」收敛) |
|
||||
| `2026-06-16-round2-staging-e2e-verdict`(已压桩) | **`2026-06-17-round3-SAA-trace-split-brain-real-db-verdict`**(`703e462c` 真库收口) |
|
||||
| `2026-06-16-生成引擎-并行编排`(已压桩·模块切分版) | **`2026-06-17-多session分工与任务总账`**(角色分权模型版) |
|
||||
|
||||
---
|
||||
|
||||
@ -72,5 +70,6 @@
|
||||
- **已执行(B3 压缩 + 退役设计簇)**:25 个已收口 execution/edit-plan 巨档压成桩(Mc批② 1305→9、wave3 985→8、A0 789→9、P3 641→10…);退役 06-09 核心功能技术实现方案单体(2360→9)+总体设计-review,删其 sections/ DUP。**目录 21M→4.0M**。
|
||||
- **已执行(蓝图除锈)**:`.agents/knowledge/{tech-decisions,glossary,product-and-architecture,mvp-scope}` 把废弃选型(Dify/OpenGame/自研Canvas/ComfyUI/AgentScope)的过期权威表述外科改为现行口径。
|
||||
- **已执行(B2 归档)**:64 个闭线工作记录(压缩桩 + 闭线 review/report/纪要)移入 `docs/agent-specs/_archive/`(文件名不变;活资产 20 处旧路径引用已同步改 `_archive/`)。**热目录 ≤06-15 仅留 13 活档**(即上方第 1 节)。
|
||||
- **已执行(核心档对齐)**:技术决策版/开发团队版/投资人版/护城河 + `.agents/knowledge` 蓝图已对齐现行真相([`2026-06-16-技术决策版重写-review.md`](2026-06-16-技术决策版重写-review.md))。
|
||||
- **已执行(核心档对齐)**:技术决策版/开发团队版/投资人版/护城河 + `.agents/knowledge` 蓝图已对齐现行真相([`2026-06-16-技术决策版重写-review.md`](_archive/2026-06-16-技术决策版重写-review.md),2026-06-17 已归档)。
|
||||
- **已执行(2026-06-17 文档整理治理)**:06-16 增量分类——归档 2(技术决策版重写-review / 视觉增强repair-review 入 `_archive/`)、压桩 2(round2-staging-e2e-verdict→round3 / 生成引擎-并行编排→多session总账)、**玩法模板术语 17 处核心档对齐现行**(HJ-DEMO-AUDIT-001:废=游戏模板/填参线,玩法模板品类框架未废待建)、清 7 证据 PNG、`doc-organizer.sh` 日期动态化;计划+评审留痕 [`2026-06-17-文档整理-plan.md`](2026-06-17-文档整理-plan.md)。
|
||||
- 闭线/已死档全在 `_archive/`(仍 git 跟踪可查,按文件名);判活看本图第 1 节、判死看第 2 节。全量逐文件 action 见治理 review 附录 A。
|
||||
|
||||
@ -10,10 +10,10 @@
|
||||
> - 产品需求/技术模块/映射 三文档:`docs/architecture/产品需求清单.md`、`docs/architecture/技术架构与模块.md`、`docs/architecture/需求模块映射.md`
|
||||
|
||||
> **⚠️ 回填状态(2026-06-10 起 → 2026-06-16 对齐现行真相,依据 HJ-AUDIT-001 架构三向审计 + 后续多次创始人裁定)**:本档为蓝图权威,正文已逐节对齐以下裁定(**以裁定为准**)。本档 v2.0 成稿于 2026-06-06,下列 7 条均晚于成稿、已落入正文:
|
||||
> 1. **生成主线已转向「模板驱动 via new-api 网关」→ 再演进为「agent 写码于插件库」**(C2 裁定 2026-06-09 spike 52/52 结构层 100%;HJ-GEN-001 终审 2026-06-12 玩法模板层废除):LLM 经 **new-api 网关**直连便宜模型直出可玩游戏,经 harness 九门兜底;**Dify / OpenGame 均从未部署、降级为远期增强**,非现行生成引擎。后端实测 14 文件接 new-api(`game-module-aigc-server`)。
|
||||
> 1. **生成主线已转向「模板驱动 via new-api 网关」→ 再演进为「agent 写码于插件库」**(C2 裁定 2026-06-09 spike 52/52 结构层 100%;HJ-GEN-001 终审 2026-06-12 游戏模板/填参线退役):LLM 经 **new-api 网关**直连便宜模型直出可玩游戏,经 harness 九门兜底;**Dify / OpenGame 均从未部署、降级为远期增强**,非现行生成引擎。后端实测 14 文件接 new-api(`game-module-aigc-server`)。
|
||||
> 2. **agentic 编排基建 = SAA(Spring AI Alibaba GA v1.1.2.2)裸 `StateGraph` 编排**(HJ-AGI-002,2026-06-15):short-term SAA-only,AgentScope 降 long-term premium 独立轨;后端实测 `spring-ai-alibaba` 已接入(`SaaStudioGraph` 等)。旧「自研编排/DAG 工作流引擎/Dify 可视化编排」表述全部作废。
|
||||
> 3. **Tier1 引擎 = LittleJS 增强发行版(55KB gz)+ Runner v2 装载契约 `game-host.d.ts`**(2026-06-12 终裁,spike 85/82):本档「自研 Canvas Runtime <15KB」相关描述全部被取代——**15KB 红线废除**(系 srcdoc 内联架构的衍生约束,前提已失效),改三层约束框架(SLO@千元机+4G P75 / 预算入场券 gz≤350KB·raw≤1.5MB / 工程增强层);沙箱/SDK/三容器控制点不变。
|
||||
> 4. **模板 = LittleJS 能力插件/二次开发件;玩法模板层已废除(W-CLEAN)**:玩法/美术/关卡/UI = agent 生成域;旧 4 模板 + 存量数据已清除。Tier2/3 复杂 2D/3D/原生仍用 Cocos Creator 3.8.8 + MCP(不变)。
|
||||
> 4. **模板 = LittleJS 能力插件/二次开发件;游戏模板/填参式模板已废除(W-CLEAN,旧4模板+存量已清)**:玩法/美术/关卡/UI = agent 生成域;旧 4 模板 + 存量数据已清除。Tier2/3 复杂 2D/3D/原生仍用 Cocos Creator 3.8.8 + MCP(不变)。**注:「玩法模板」(品类/玩法框架·引导 AI 生成·非 pre-built 代码)未废 = 当前最高优先级待建(HJ-DEMO-AUDIT-001,创始人 2026-06-17 纠正)。**
|
||||
> 5. **AI 素材/音乐工具链 = mmx-cli(MiniMax,2026-06-12 创始人亲验拍板默认)**:agent 造游戏直接 CLI 调用、免 GPU/免训练;**ComfyUI 退备选**,Stability Audio 等亦降级。
|
||||
> 6. **代码命名空间整体改名为 `com.wanxiang.huijing`**(公司 Wanxiang / 项目 Huijing,2026-06-15 合 dev/2.0.0);对外品牌 = **绘境AI**。
|
||||
> 7. **执行排期以 `mvp-execution-spec` + `docs/mvp/MVP作战清单.md` 为准**,§9 甘特仅作蓝图参考;2026-06-08 业务决策已将 MVP 验收改为「staging/内网种子灰度走通真闭环」,公网上线 = MVP 后并行长周期任务(受日历闸门约束)。
|
||||
@ -52,7 +52,7 @@
|
||||
- 不做 3D 开放世界游戏生成
|
||||
- 不做专业级游戏引擎(Unity/Unreal 级别)
|
||||
- 不做海外市场(MVP 阶段)
|
||||
- 不做完全开放式代码生成(agent 写码于 LittleJS 插件库 + harness 九门约束保证稳定性;玩法模板层已废除 W-CLEAN)
|
||||
- 不做完全开放式代码生成(agent 写码于 LittleJS 插件库 + harness 九门约束保证稳定性;游戏模板/填参线已废 W-CLEAN)
|
||||
- 不自研大模型(接入通用 LLM 经 new-api 网关 + 开源 Agent 框架 SAA/Spring AI Alibaba)
|
||||
|
||||
---
|
||||
@ -791,7 +791,7 @@ runtime-module 编译 GamePackage 时:
|
||||
**架构决策(现行,2026-06-16)**:**SAA(Spring AI Alibaba)裸 `StateGraph` 编排** + **new-api 网关 → 便宜 LLM** + agent 写码于 LittleJS 插件库 + harness 九门兜底。
|
||||
|
||||
> ✅ **现行主线(C2 裁定 2026-06-09 → HJ-GEN-001 终审 2026-06-12 → HJ-AGI-002 2026-06-15)**:
|
||||
> - 生成 = LLM 经 **new-api 网关**(OpenAI 兼容,多模型)直连便宜模型(DeepSeek-v4 / MiniMax-M2.7/M3);C2 spike(4 模板 × 13 创意 = 52/52 结构层 100%)证实「LLM 直出 + 固定运行时」可达标,后续 HJ-GEN-001 进一步演进为「agent 写码于插件库」(玩法模板层随 W-CLEAN 废除)。
|
||||
> - 生成 = LLM 经 **new-api 网关**(OpenAI 兼容,多模型)直连便宜模型(DeepSeek-v4 / MiniMax-M2.7/M3);C2 spike(4 模板 × 13 创意 = 52/52 结构层 100%)证实「LLM 直出 + 固定运行时」可达标,后续 HJ-GEN-001 进一步演进为「agent 写码于插件库」(游戏模板/填参线随 W-CLEAN 退役)。
|
||||
> - 编排基建 = **SAA 裸 `StateGraph`**(11 节点 / 4 条件边,`SaaStudioGraph.assemble()` 唯一布线源),done 由 harness 九门确定性判定、不让 LLM 自评。
|
||||
> - **Dify / OpenGame 均从未部署、降级为远期增强**;下方"为什么选 Dify + OpenGame"表保留为决策史(蓝图原案),非现行架构。
|
||||
|
||||
@ -1084,7 +1084,7 @@ Cocos Creator 3.8.8 + MCP → 官方一键导出小游戏包
|
||||
微信=引擎官方格式;抖音=自有导出接口;快手=经"微信格式兼容转换"(快手开发者工具,无专用接口);Tier1(LittleJS)渠道 adapter 走 W-CH-α 竞标
|
||||
```
|
||||
|
||||
> **模板哲学(2026-06-12 W-CLEAN)**:**玩法模板层已废除**——模板 = LittleJS 能力插件/二次开发件,玩法/美术/关卡/UI 全是 agent 生成域;旧 4 模板(clicker/dodge/runner/match)+ 存量数据已清除。好玩基线 v2 改挂评估门。
|
||||
> **模板哲学(2026-06-12 W-CLEAN)**:**游戏模板/填参式模板已废除(W-CLEAN,旧4模板+存量已清)**——模板 = LittleJS 能力插件/二次开发件,玩法/美术/关卡/UI 全是 agent 生成域;旧 4 模板(clicker/dodge/runner/match)+ 存量数据已清除。好玩基线 v2 改挂评估门。**注:「玩法模板」(品类/玩法框架·引导 AI 生成·非 pre-built 代码)未废 = 当前最高优先级待建(HJ-DEMO-AUDIT-001,创始人 2026-06-17 纠正)。**
|
||||
|
||||
为什么分层:
|
||||
- Web 预览和游戏流需要**极快加载**(P75 < 3s),Tier1 LittleJS 增强发行版 + Runner v2 满足,MVP 仅交付此层
|
||||
@ -1409,7 +1409,7 @@ main ← 始终可部署,保护分支
|
||||
|
||||
| 扩展方向 | 预留机制 |
|
||||
|---|---|
|
||||
| 新玩法/能力插件 | LittleJS 能力插件注册(玩法模板层已废除 W-CLEAN,玩法/美术/关卡/UI=agent 生成域)+ Prompt Registry 示例 |
|
||||
| 新玩法/能力插件 | LittleJS 能力插件注册(游戏模板/填参线已废 W-CLEAN,玩法/美术/关卡/UI=agent 生成域)+ Prompt Registry 示例 |
|
||||
| 新 LLM 供应商 | new-api 网关多通道(OpenAI 兼容)+ 同模型降级抽检 |
|
||||
| 新广告联盟 | AdProvider SPI 接口 |
|
||||
| 新支付渠道 | PayChannel SPI 接口(Huijing 原生支持) |
|
||||
@ -1544,12 +1544,12 @@ gantt
|
||||
| **生成主线 = 模板驱动 via new-api 网关 → agent 写码于插件库(MVP 现行)** | C2 裁定:`docs/agent-specs/2026-06-09-generation-spike/spike-summary.md`;HJ-GEN-001 + `.agents/skills/cheap-model-game-generation.md` |
|
||||
| **agentic 编排基建 = SAA(Spring AI Alibaba GA v1.1.2.2)裸 `StateGraph` 编排(HJ-AGI-002,现行;AgentScope 降 long-term premium)** | `docs/agent-specs/2026-06-15-SAA-*` + `.agents/skills/saa-graph-orchestration.md` + `.agents/knowledge/tech-decisions.md` §1/§4 |
|
||||
| **Tier1 引擎 = LittleJS 增强发行版(55KB gz)+ Runner v2 装载契约 `game-host.d.ts`(2026-06-12 终裁,自研 Canvas<15KB 已废除、15KB 红线废除)** | `docs/agent-specs/2026-06-11-T1引擎终裁包.md` + `.agents/knowledge/tech-decisions.md` §1.1 |
|
||||
| **模板 = LittleJS 能力插件;玩法模板层已废除(W-CLEAN),玩法/美术/关卡/UI=agent 生成域** | HJ-GEN-001 + `.agents/knowledge/tech-decisions.md` §1.1 |
|
||||
| **模板 = LittleJS 能力插件;游戏模板/填参式模板已废除(W-CLEAN),玩法/美术/关卡/UI=agent 生成域;「玩法模板」(品类/玩法框架·引导 AI 生成·非 pre-built 代码)未废=当前最高优先级待建(HJ-DEMO-AUDIT-001,创始人 2026-06-17 纠正)** | HJ-GEN-001 + `.agents/knowledge/tech-decisions.md` §1.1 |
|
||||
| **AI 素材/音乐工具链 = mmx-cli(MiniMax,2026-06-12 创始人亲验拍板默认);ComfyUI 退备选** | `.agents/knowledge/tech-decisions.md` §1(AI 素材工具链行)|
|
||||
| **代码命名空间 = com.wanxiang.huijing(公司 Wanxiang/项目 Huijing,2026-06-15 合 dev/2.0.0);对外品牌 = 绘境AI** | `docs/memorys` brand-rename + `.agents/knowledge/product-and-architecture.md` |
|
||||
| **RocketMQ / Nacos = future-state(yudao 框架自带依赖+yaml 配置存在,MVP 未部署 broker/registry)** | 本文 §3.1/§3.3/§5.2/§7.2;`.agents/knowledge/tech-decisions.md` |
|
||||
| LLM 接入(D1:主 DeepSeek/备 Qwen;现行 = new-api 网关多模型,deepseek-v4-flash/pro + MiniMax-M2.7/M3 渠道全活) | `docs/agent-specs/_archive/2026-06-08-mvp业务决策.md` + `.agents/knowledge/tech-decisions.md` §3 |
|
||||
| MVP 模板集(D2:idle/tycoon/merge/clicker —— ⚠️ 玩法模板层已随 W-CLEAN 废除、存量数据已清除;模板=LittleJS 插件) | 同上 + HJ-AUDIT-001 R4 + W-CLEAN |
|
||||
| MVP 模板集(D2:idle/tycoon/merge/clicker —— ⚠️ 游戏模板/填参线(旧4模板)已随 W-CLEAN 废除、存量已清;玩法模板(品类框架)未废待建;模板=LittleJS 插件) | 同上 + HJ-AUDIT-001 R4 + W-CLEAN |
|
||||
|
||||
### 11.3 后续文档规划
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
> **本文件是项目管理唯一活账**:把「计划 ↔ 完成 ↔ 待办 ↔ 执行记录」对在一起。
|
||||
> **铁律**:每次波次收口、每次里程碑状态变化,**必须按 [`wave-close-checklist`](../../.agents/skills/wave-close-checklist.md) 七步收口**(本表+表头日期、作战清单+归档、回填、蒸馏、索引;`.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-16**(**七 goal 并行波 + M4 mock 可切真 + staging 新命名空间上线**〔7 个 goal 并行交付(卖相批/消息中心+个人中心/数据看板/创作者 stats 端点 G2/M4 变现④可切真 G1/B 端定制前端 G3);M4 业务逻辑已真实落地(ad 24 测+trade 41 测+community 22 测=87 单测全绿)∧ mock e2e 门真跑(广告→结算→提现→mock 打款回调 1→2,4 条对账断言全 HOLD);真广告联盟/真支付受日历闸门=mock gated;staging 后端重部署 com.wanxiang.huijing 新命名空间(jar `afa07715`),5 新端点 curl 200/code=0,smoke 11/12(唯一 FAIL=aigc/template/list 空=W-CLEAN 设计态非回归);spec=`docs/agent-specs/2026-06-16-M4变现真实化-review.md`〕。前序 2026-06-15 **T1b-β 实质收口**〔引擎真接线 Phase A(A0 掌帧+A1-A4 能力包装+A6 真机门 6/6,`3e5cab4`)+ Runner v2 全弧(经 engineBundle 内嵌机制)支撑 feed 真玩、**零灰度闭环缺口、零 split-brain**;3 处 spec↔代码漂移=有意改判已回填澄清(packageUrl→engineBundle absorbed/Phase C 1.x 退役被 P2 O2(b) supersede=moot/受控面 random/time/input §1.5 翻盘=血统债);收口报告 `docs/agent-specs/2026-06-15-T1b-β收口报告.md`;推迟清单入 §5 backlog,创始人可点名转 required〕。前序 2026-06-13 **Runner v2 全弧 P1+P2 收口**:P1=王蓝莓上引擎/装载契约 spike〔real 5 门,`99b6c82`〕;**P2=通用宿主泛化、引擎游戏真渲入 feed 真玩**〔mini-desktop 真机 6 门,对账 `5d3f7a8`;4 决策落实 + 对抗复审/真机门逮 4 缺陷全修;诚实 gap=game_end 到结算取证待人工补〕;**P3/W-G1 待续**。前序同日 T1b-β Phase A 引擎真接线收口〔`3e5cab4`〕;2026-06-12 T1b-α 收口:插件库 9 件+拔高样板「暖阳小卖部」**创始人亲玩主门 PASS**,好玩基线 v2 立标)。
|
||||
> 维护:主 agent | 最近更新:**2026-06-17**(**本轮:文档整理治理(agent-specs 06-16 增量:压 2 桩+归 2 档+玩法模板术语 17 处核心档对齐+总账除 M2 现在时漂移+工具日期动态化)+ SAA trace split-brain 真库收口(`703e462c`+round3)+ generic 一句话入口开闸首件(`7534bdf9`,拆模板门、缺省 templateId=generic)+ 非安全上下文 crypto.subtle 整款加载修(`4e486f60`)+ 完成度 census(`bd93c35c`)+ demo 审计创始人术语纠正(HJ-DEMO-AUDIT-001:废=游戏模板/填参线、玩法模板品类框架未废=最高优先级待建)**;generic 真出可玩仍挂 W-G1 开闸。**前序 2026-06-16:七 goal 并行波 + M4 mock 可切真 + staging 新命名空间上线**〔7 个 goal 并行交付(卖相批/消息中心+个人中心/数据看板/创作者 stats 端点 G2/M4 变现④可切真 G1/B 端定制前端 G3);M4 业务逻辑已真实落地(ad 24 测+trade 41 测+community 22 测=87 单测全绿)∧ mock e2e 门真跑(广告→结算→提现→mock 打款回调 1→2,4 条对账断言全 HOLD);真广告联盟/真支付受日历闸门=mock gated;staging 后端重部署 com.wanxiang.huijing 新命名空间(jar `afa07715`),5 新端点 curl 200/code=0,smoke 11/12(唯一 FAIL=aigc/template/list 空=W-CLEAN 设计态非回归);spec=`docs/agent-specs/2026-06-16-M4变现真实化-review.md`〕。前序 2026-06-15 **T1b-β 实质收口**〔引擎真接线 Phase A(A0 掌帧+A1-A4 能力包装+A6 真机门 6/6,`3e5cab4`)+ Runner v2 全弧(经 engineBundle 内嵌机制)支撑 feed 真玩、**零灰度闭环缺口、零 split-brain**;3 处 spec↔代码漂移=有意改判已回填澄清(packageUrl→engineBundle absorbed/Phase C 1.x 退役被 P2 O2(b) supersede=moot/受控面 random/time/input §1.5 翻盘=血统债);收口报告 `docs/agent-specs/2026-06-15-T1b-β收口报告.md`;推迟清单入 §5 backlog,创始人可点名转 required〕。前序 2026-06-13 **Runner v2 全弧 P1+P2 收口**:P1=王蓝莓上引擎/装载契约 spike〔real 5 门,`99b6c82`〕;**P2=通用宿主泛化、引擎游戏真渲入 feed 真玩**〔mini-desktop 真机 6 门,对账 `5d3f7a8`;4 决策落实 + 对抗复审/真机门逮 4 缺陷全修;诚实 gap=game_end 到结算取证待人工补〕;**P3/W-G1 待续**。前序同日 T1b-β Phase A 引擎真接线收口〔`3e5cab4`〕;2026-06-12 T1b-α 收口:插件库 9 件+拔高样板「暖阳小卖部」**创始人亲玩主门 PASS**,好玩基线 v2 立标)。
|
||||
|
||||
---
|
||||
|
||||
@ -13,7 +13,7 @@
|
||||
|
||||
- ✅ **M0 契约锁定 + M1 全栈可启动** 已达成(单体真启动、Flyway V1-V9 全绿、admin/app-api 200,staging 在 mini-desktop 在线)。
|
||||
- 🟡 已建 **11/13** 个 game 模块脊柱(owner 覆盖 54/55 P0,仅 pay 1 P0 未接),老 9 模块**大多骨架+桩**;**Wave4 community/biz 核心真实**(通知底座+lead form 状态机,staging 两链路实测)。
|
||||
- 🟢 **生成链路(M2) + 发布链(M3) + 数据回路种子(M5) 已 e2e 真实**(M2:UI 一句话→18-27s 可玩游戏、**四模板** clicker/merge/idle/tycoon 各可生成可玩可进 feed、成功率 80%;B1 发布编排跨 4 表;B2 遥测→quality_score→feed 重排+幂等)。
|
||||
- 🟢 **生成链路(M2) + 发布链(M3) + 数据回路种子(M5) 已 e2e 真实**(M2:UI 一句话→18-27s 可玩游戏、成功率 80%;B1 发布编排跨 4 表;B2 遥测→quality_score→feed 重排+幂等)。**⚠️ 模板口径更新(2026-06-17,HJ-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 开闸验收门**,勿读成"四模板现可玩"。
|
||||
- 🟢 **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→2,4 条对账断言全 HOLD)**。**真广告联盟/真支付受日历闸门=mock gated,非真变现**。
|
||||
- ❌ 按真正验收线「**55/55 P0 产品功能可验证 + 生成成功率≥80%**」衡量,**真实可验收的 P0 仍少**。剩余大头——**真广告联盟+真 pay 接线受日历闸门 / 前端接线(admin+studio 接 staging,5 链路端到端,真机走查 G1/G2/G3 合并点待做)**〔Wave4 community+biz 已建成集成 ✅〕;**数据回路(M5)** 余 MQ 异步化;**真正上线约束=不可压缩日历闸门**(ICP/支付/广告/实名,见 §5)。
|
||||
|
||||
@ -27,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 HuijingServerApplication`;Flyway V1-V9 全 success;24 张 game_* 表;admin-api `/system/user/page`→20 真实用户、app-api `/feed/stream`→200 | 启动修复 `d7fac90`+`8565fa2` |
|
||||
| **M2 创作链路(真 LLM)** | 6/18(Day8) | 🟢 **生成链路贯通+四模板(6/9~11)** | batch-001 成功率 **80.0%**(达标口径)+ M-b 薄轮询执行器上线(UI 一句话→18-27s 可玩游戏);**模板从 1→4**(clicker/merge/idle/tycoon 各可生成可玩可进 feed,M-c 批①②,执行器 banner 四模板装载);**仍待**:A4 大样本盲评(可接受) +(可选)Dify | spike `2026-06-09-generation-spike/`·M-b `42d3237`·M-c `b1fa30d→26319b3` |
|
||||
| **M2 创作链路(真 LLM)** | 6/18(Day8) | 🟢 **生成链路贯通(6/9~11)→ generic 桥接接棒(6/17)** | batch-001 成功率 **80.0%**(达标口径)+ M-b 薄轮询执行器上线(UI 一句话→18-27s 可玩游戏);**历史**:模板 1→4(clicker/merge/idle/tycoon,M-c 批①②);**⚠️ 现行(2026-06-17)**:旧 4 模板已随 **W-CLEAN** 清除+存量数据清(`template/list` 空=设计态),**generic 桥接 `7534bdf9`** 接棒(一句话无需选模板走 generic 生成路);**仍待**:generic 真出可玩端到端过 W-G1 开闸验收门 + A4 大样本盲评 | spike `2026-06-09-generation-spike/`·M-b `42d3237`·M-c `b1fa30d→26319b3`·generic `7534bdf9` |
|
||||
| **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 0→60→**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 打款回调 1→2,4 对账断言 HOLD)**;pay 模块未接单体;**真广告联盟/真支付受日历闸门=mock gated** | `43fce85`(骨架)·`e3be456d`(G1 本波) |
|
||||
| **M5 MVP 交付** | 6/27(Day15) | ❌ **未达成** | 55/55 P0 真实可验收 + 冒烟全绿 + P0 Bug=0 远未达 | — |
|
||||
@ -158,6 +158,7 @@
|
||||
| **T1b-β 实质收口(引擎真接线 + Runner v2 全弧综合裁决 · 2026-06-15)** | 主 agent 综合 5 路侦察实证宣告**完成线达成**:引擎真接线(Phase A=A0 掌帧+A1-A4 能力包装+A6 真机门 6/6)+ Runner v2(经 P1/P2/P3,engineBundle 内嵌机制)**实质收口**,已支撑 feed 真玩(3b-B 井字棋 gameId=9306 `238ec2d` 真渲真玩入 feed/P2 `5d3f7a8` 真机 6 门/B1 主链 9001-9002 e2e 全链);**零灰度闭环缺口、零 split-brain**。**三处 spec↔代码漂移(有意改判,非 bug,回填澄清)**:① Runner v2 母 spec §5「复用 packageUrl 外链取 iife」→实际 **engineBundle 字段(契约#4 additive)随 manifest JSON 内嵌 + `window.__GameBundle` + bootGameHost**取代(不接 OSS 省一基建线,整包 sha256 单校验面)=**absorbed-by-arc 无 split-brain**;② Phase C「srcdoc→URL+四项兼容矩阵」被 **P2 O2(b)(创始人 2026-06-13 追认)supersede**(落档 `2026-06-13-P2-...execution.md` §2.1),全 studio 单宿主 GamePlayer.vue,引擎 vs demo 是 `inject.ts:240 'pkg.engineBundle?'` 同段 srcdoc 互斥分叉非双轨=**moot**;③ Phase A 受控面 random/time/input 改判(random 仍 mulberry32 自管护粒子种子确定性/time 仍 host 逻辑帧钟、probe P75 改读引擎 timeReal/input 仍 α 事件桥)=工程正确(§1.5 延迟裁定翻盘),但 spec 冻结行未回写=**血统债**(连带门12「probe 证底层非 mulberry32」子断言现码不可满足、已 moot)。**推迟清单(engine-line backlog,不在关键路径,创始人可点名转 required)**入 §5。 | 综合裁决(不引入新代码);引用 `3e5cab4`(A6 门 6/6)+`238ec2d`(3b-B 入 feed)+`5d3f7a8`(P2 真机 6 门)+`99b6c82`(P1 装载契约) | 完成线证据复用既有真机门(A6 `game-runtime/evidence/a6/`、P2 `game-studio/evidence/p2-feed/`、3b-B feed gameId=9306);本波纯收口落档批(additive 文档),**只标已真机验证的为 done**,推迟项明列不冒充 done;收口报告 `docs/agent-specs/2026-06-15-T1b-β收口报告.md` |
|
||||
| **huijing 死菜单清理收口(Codex 执行单 + 主 agent 复验 + SQL 落仓 · 2026-06-15 push)** | Fable 审计执行单(数据层为主;层B 前端/层C 后端经实据判定 fork 已前置裁剪=**无操作**,不为凑而删)→ Codex 零裁量执行 staging 软删 **16 棵死顶级子树 1243 行菜单 + 437 行 role_menu 孤儿**(备份表 `system_menu_bak_20260611` + 固化删除集 `cleanup_menu_del_20260611` + 五道安全断言含 `trade:` 前缀碰撞 0 命中 + 逐段计数闸门);pay(1117)/bpm(1185) 两棵死菜单随 16 棵一并删(后端模块保留,M4/远期接入时从备份表回灌);主 agent 独立复验全闸门后 cherry-pick SQL 落仓入 dev/2.0.0。**备份三表保留 ≥30 天(2026-07-11 后另议清)** | `09d590c`(执行单)+`3279b5c`(SQL 落仓 cherry-pick;原 `be355d3`) | staging 实测复验:menu_alive **1441→198**、软删审计列 menu 1243/role_menu 437、孤儿 0、admin 登录 top=`[系统管理,基础设施]`、nodes=58/perms=145、**smoke 12/12 全过**(五链路无连带伤害);落仓 SQL `deploy/sql/2026-06-11-menu-cleanup.sql` |
|
||||
| **七 goal 并行波 + M4 mock 可切真 + staging 新命名空间上线(2026-06-16)** | **7 个 goal 并行交付**:①卖相批(退出登录入口/主按钮品牌渐变/Inter 字体/字号 token,`42342e8c`)②消息中心+个人中心(`3147b11d`,闭合评审 L-1/Profile)③数据看板(`5463796f`,P-OPS-01 指标卡真/趋势诚实占位)④创作者 stats 端点 G2(`b51025e1`,`/app-api/telemetry/my/{summary,trend}` 归属隔离)⑤M4 变现④可切真 G1(`e3be456d`,打款异步 CAS+PayoutClientFactory fail-fast+reward 现金 recordIncome TIP+广告验签+对账断言)⑥B 端定制前端 G3(`afa07715`,studio 接 biz 7 端点)⑦staging 后端重部署新命名空间 `com.wanxiang.huijing`(jar `afa07715`,隔离验过才切+回滚件留)。**M4 变现关键纠偏**:任务书原记「ad/trade=骨架+桩」与代码现状不符——计费/结算/提现/分账**业务逻辑已真实落地且有单测**(本波从读码实证出发,非轻信原有记录)。本波做真=打款异步状态机+fail-fast+reward 到账+验签+收益端点。spec=`docs/agent-specs/2026-06-16-M4变现真实化-review.md` | `42342e8c`·`3147b11d`·`5463796f`·`b51025e1`·`e3be456d`·`afa07715`(均已推 origin/dev/2.0.0) | **87 单测全绿**(ad 24/trade 41/community 22,主 agent 亲跑);staging mock e2e 门真跑(广告→结算→提现→mock 打款回调 1→2);4 条对账断言全 HOLD;5 新端点 curl 200/code=0;smoke 11/12(唯一 FAIL=aigc/template/list 空=W-CLEAN 设计态非回归);前端 :4173 重建(含新视图);**真广告联盟/真支付受日历闸门=mock gated,已在措辞中如实标注** |
|
||||
| **06-17 多件并行(SAA trace 真库收口 + generic 开闸首件 + demo 审计术语纠正 + 文档整理治理)** | ① SAA 进程内派发路 trace split-brain 真库收口(`dispatcher=saa` 落 `trace_json`/`readiness_score` 真非空、开关关 NULL)+ F5 ReadinessScorer.firstPlay bug 修 + SAA boot eager 预热(修早期 fast-fail 冷启 race)② generic 一句话入口桥接=**开闸首件**(拆模板门、入口归一缺省 `templateId=generic`)③ 非安全上下文 crypto.subtle 整款游戏加载失败修(明文 IP/http 退 demo 误报根因)④ demo↔三文档套件缺口冲突审计(HJ-DEMO-AUDIT-001:13 冲突核实/3 伪冲突)+ **创始人术语纠正**(废=游戏模板/填参线,玩法模板品类框架未废=最高优先级待建)⑤ 产品功能×技术模块完成度 census(155 功能/13 模块逐条读码实证)⑥ **文档整理治理**(agent-specs 06-16 增量分类:压 2 桩+归 2 档+玩法模板术语 17 处核心档对齐+总账除 M2 现在时漂移+工具日期动态化) | `703e462c`·`5f6cdd0c`·`3f712499`·`7534bdf9`·`870bf56b`·`4e486f60`·`bd93c35c`·`e0fba66b`·`6f537ef6`·`2f1a7972`(+本轮文档整理提交) | round3 verdict 真库验(`2026-06-17-round3-SAA-trace-split-brain-real-db-verdict.md`);generic=入口归一(真出可玩仍挂 W-G1 开闸);census/审计=只读读码实证;文档整理=plan+opus 评审 GO-带必修、术语改 grep 反向校验零漂移 |
|
||||
|
||||
## 7. 风险与口径提醒
|
||||
|
||||
|
||||