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>
This commit is contained in:
zizi 2026-06-17 12:12:24 +00:00
parent 2751d98724
commit ebd615c93e
21 changed files with 224 additions and 341 deletions

View File

@ -25,7 +25,7 @@
| **单体启动** | 13 个业务模块编译为同一 JARgame-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/2DMVP 唯一交付层;**引擎=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/2DMVP 唯一交付层;**引擎=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 RegistryPrompt 即契约)** | git `contracts/prompts/` 为全生命周期 prompt 的单一事实源(第 8 类契约):版本化 + 输入输出 Schema 绑定 + 约束块 + Golden 集 + owner运行时按 `id@version` 加载注入、不内嵌引擎内核。 |
| **Prompt 轻量门禁** | prompt 改动 PR 触发的效果验证Schema 通过率 + 生成成功率≥80% + Golden 回归 + 成本/延迟不劣化 + 人工抽检;可玩性靠行为指标反哺、不做结构化自动评分。 |

View File

@ -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-002short-term SAA-onlyAgentScope 降 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 暂解 limboHJ-DEMO-AUDIT-001Tier2/3 = Cocos+MCP 不变详见 [`tech-decisions.md`](./tech-decisions.md) §1.1
> - **中间件层****RocketMQ / Nacos = future-stateMVP 未部署**(异步走 Spring 内事件/同步链路)。
```

View File

@ -10,7 +10,7 @@
## 1. 关键决策表ADR
> **⚠️ 回填2026-06-10HJ-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-002short-term SAA-onlyAgentScope 降 long-term premium 独立轨)。Dify/OpenGame 均未部署、降级远期。§1.1 Tier1 行的「OpenGame 文生代码」同此。
> **⚠️ 回填2026-06-10HJ-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-002short-term SAA-onlyAgentScope 降 long-term premium 独立轨)。Dify/OpenGame 均未部署、降级远期。§1.1 Tier1 行的「OpenGame 文生代码」同此。
> **⚠️ 回填2026-06-11Tier1 重设计·创始人专门会话)**:下表「游戏运行时」行的 **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 v2agent 写码于插件库生成HJ-GEN-001~~原「自研 Canvas + OpenGame 生成」已废除~~见下表Tier2/3 统一用 Cocos Creator 3.8.8 + MCP。** MVP 仅交付 Tier1非目标保持收敛Tier2/3 仅远期探针,见 §7
游戏产物分三层,对应不同运行时:**Tier1 = LittleJS 增强发行版 + Runner v2agent 写码于插件库生成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 v22026-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 v22026-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 + 打包 | ✅ 锁定引擎。否决 UnityAI 适配差、启动重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.010.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-002short-term SAA-onlyAgentScope 降 long-term premium 独立轨)Dify/OpenGame=远期增强未部署 |
| **生成主线** | ~~MVP=模板驱动LLM 直出 GameConfig+固定模板)~~**agent 写码于插件库**HJ-GEN-001 终审 2026-06-12游戏模板/填参线退役W-CLEANM-b 执行器写链语义保留复用〕;生产=便宜模型经 new-api+harness 门W-G1 L1 worker + 九门真玩 harness + 3 款冒烟已实证地板成立 HJ-GEN-001¥0.010.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-002short-term SAA-onlyAgentScope 降 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 始终否决。**

View File

@ -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 = {

View File

@ -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/<名>(字面替换,幂等)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@ -1,5 +1,7 @@
# W-T1b · Runner v2 + LittleJS 能力插件库 + 拔高样板 · 评审版 v2.0HJ-T1B-001
> **⚠️ 术语后续纠正2026-06-17HJ-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-001W-CLEAN 已清场(旧 4 模板+存量 1022 行已归档删除,1.x 无存量包袱)。

View File

@ -1,178 +1,20 @@
# Lane S · round-2 staging e2e 双验证 verdictV16 真库 + form① SAA + 组B 落库
# Lane S · round-2 staging e2e 双验证 verdict已压缩留桩
> 类型staging 端到端真验收口报告。
> 执行环境mini-desktop100.64.0.7)隔离实例 `:48090`dispatcher=saa连 staging 隔离 MySQL `ruoyi-vue-pro@127.0.0.1:13306`组A V15 真库);**live `:48080` 全程未动**(每步实证 HTTP 200pid 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 48sjar 字节码实证含 V16 SQL + ReadinessScorer + DifyCallbackTxService
> 时间2026-06-17 02:31~03:0xCST
> **状态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 隔离 MySQLlive `: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 门 passH_progress=falseSAA 图 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 留 DRAFTfeed 过滤未发布——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 全吸收进 round3F5 组B `ReadinessScorer` H_progress-asBool bug / F3 SAA cost 折¥ / 早期 boot SAA fast-fail 预热。
---
## 1. V16 真库验(最低交付,已锁定)
实例 boot02:31:44Flyway 自动跑 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 COLUMNSinformation_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_scoreflyway 最高=15.0.0**无** V16 行。→ 坐实两列+history 行系本实例 boot 时 V16 迁移真建,非预先存在。
---
## 2. 构建与隔离live 未动)
- clone `dev/2.0.0`@`2c96e63a``/root/build-lane-s`(含 `96081a57` 组BV16 SQL/ReadinessScorer.java/dedup.py 文件实证在)。
- `mvn clean install -pl huijing-server -am`BUILD SUCCESS 48sjar 字节码 `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 e2eV1/V2 链路证实)
真跑链task 140gameId 9318traceId `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` 全 trueI_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_jsondupHit=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 保持 NULLHTTP 路传非空→真落库。
---
## 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=saaform①组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-failllm_error
- **现象**02:39/02:42 两次 boot 上的 task 137/138 **fast-fail**4-7sllm_error无 scaffold dirdispatch 返 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-failstale-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 |
| 九门 verdictV1 | 同上 `/evidence/verdict.json`(首次 8/9repair 后全过→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=93113DB`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 留 DRAFTfeed 过滤未发布·worker succeeded≠发布链路无缺口**。另揪 2 真问题split-brain 双向实证 / 早期 boot fast-fail 待复现)+ 1 取证坑systemd append: 吞后台日志·已绕过)。
> 原始证据日志(`/root/lane-s-48090.log` 等)在 mini-desktop 机侧、属一次性产物不随档保留。**权威现状以 round3 verdict 为准。**

View File

@ -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. 车道表(每条 = 独立 worktreeoff 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-100ops/创始人路由。
- **真实计费扣退**:随 M4new-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 溯源。

View File

@ -0,0 +1,159 @@
# 文档整理 · 清理计划2026-06-17 · 待创始人审批)
> 类型doc-organizer 阶段一产物(**只读分析→计划→评审→审批****本计划批准前零文件改动**,仅本计划档本身已落盘)。
> 触发创始人「docs/agent-specs 06-10→06-17 分类+压缩清理+核心档更新到最新+按最新口径改总账」。
> 方法:`doc-organizer.sh scan` 取信号 → 内联分析 workflow25 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 项**(详见 §6A. 玩法模板术语 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 | 在飞·落库组实现 SoT9d 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①打砖块·九门全过 succeededKEEP 仅因留 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 同线收口 supersede703e462cfollow-up 全吸收 |
| **生成引擎-并行编排** | 143 | **COMPRESS** | SUPERSEDED | 被 06-17 多session总账取代_index §1 实证)·硬规则已另蒸馏 |
| **技术决策版重写-review** | 65 | **ARCHIVE** | SHIPPED | 顶部「已执行」·对齐已落(成本 flag 已入 MEMORY 跟踪) |
| **视觉增强repair-review** | 90 | **ARCHIVE** | SPIKE-DONE | 顶部「⛔NO-GO 已否决」·存为防再提决策记录 |
**动手项**COMPRESS 2round2-verdict→指针 round3 / 并行编排→指针 多session总账、ARCHIVE 2git 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 已判 ACTIVE1 天内无状态变化,不重判)
`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、1552315 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 修 + (可选 S1W-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> "<摘要>"` 记本次清理时间。

View File

@ -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/`)、压桩 2round2-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。

View File

@ -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-0022026-06-15short-term SAA-onlyAgentScope 降 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 / 预算入场券 gz350KB·raw1.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-cliMiniMax2026-06-12 创始人亲验拍板默认)**agent 造游戏直接 CLI 调用、免 GPU/免训练;**ComfyUI 退备选**Stability Audio 等亦降级。
> 6. **代码命名空间整体改名为 `com.wanxiang.huijing`**(公司 Wanxiang / 项目 Huijing2026-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/M3C2 spike4 模板 × 13 创意 = 52/52 结构层 100%证实「LLM 直出 + 固定运行时」可达标,后续 HJ-GEN-001 进一步演进为「agent 写码于插件库」(玩法模板层随 W-CLEAN 废除)。
> - 生成 = LLM 经 **new-api 网关**OpenAI 兼容多模型直连便宜模型DeepSeek-v4 / MiniMax-M2.7/M3C2 spike4 模板 × 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 → 官方一键导出小游戏包
微信=引擎官方格式;抖音=自有导出接口;快手=经"微信格式兼容转换"快手开发者工具无专用接口Tier1LittleJS渠道 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 < 3sTier1 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-cliMiniMax2026-06-12 创始人亲验拍板默认ComfyUI 退备选** | `.agents/knowledge/tech-decisions.md` §1AI 素材工具链行)|
| **代码命名空间 = com.wanxiang.huijing公司 Wanxiang/项目 Huijing2026-06-15 合 dev/2.0.0);对外品牌 = 绘境AI** | `docs/memorys` brand-rename + `.agents/knowledge/product-and-architecture.md` |
| **RocketMQ / Nacos = future-stateyudao 框架自带依赖+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 模板集D2idle/tycoon/merge/clicker —— ⚠️ 玩法模板层已随 W-CLEAN 废除、存量数据已清除;模板=LittleJS 插件) | 同上 + HJ-AUDIT-001 R4 + W-CLEAN |
| MVP 模板集D2idle/tycoon/merge/clicker —— ⚠️ 游戏模板/填参线(旧4模板)已随 W-CLEAN 废除、存量已清;玩法模板(品类框架)未废待建;模板=LittleJS 插件) | 同上 + HJ-AUDIT-001 R4 + W-CLEAN |
### 11.3 后续文档规划

View File

@ -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 端定制前端 G3M4 业务逻辑已真实落地ad 24 测+trade 41 测+community 22 测=87 单测全绿)∧ mock e2e 门真跑广告→结算→提现→mock 打款回调 1→24 条对账断言全 HOLD真广告联盟/真支付受日历闸门=mock gatedstaging 后端重部署 com.wanxiang.huijing 新命名空间jar `afa07715`5 新端点 curl 200/code=0smoke 11/12唯一 FAIL=aigc/template/list 空=W-CLEAN 设计态非回归spec=`docs/agent-specs/2026-06-16-M4变现真实化-review.md`〕。前序 2026-06-15 **T1b-β 实质收口**〔引擎真接线 Phase AA0 掌帧+A1-A4 能力包装+A6 真机门 6/6`3e5cab4`+ Runner v2 全弧(经 engineBundle 内嵌机制)支撑 feed 真玩、**零灰度闭环缺口、零 split-brain**3 处 spec↔代码漂移=有意改判已回填澄清packageUrl→engineBundle absorbedPhase 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=王蓝莓上引擎/装载契约 spikereal 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 端定制前端 G3M4 业务逻辑已真实落地ad 24 测+trade 41 测+community 22 测=87 单测全绿)∧ mock e2e 门真跑广告→结算→提现→mock 打款回调 1→24 条对账断言全 HOLD真广告联盟/真支付受日历闸门=mock gatedstaging 后端重部署 com.wanxiang.huijing 新命名空间jar `afa07715`5 新端点 curl 200/code=0smoke 11/12唯一 FAIL=aigc/template/list 空=W-CLEAN 设计态非回归spec=`docs/agent-specs/2026-06-16-M4变现真实化-review.md`〕。前序 2026-06-15 **T1b-β 实质收口**〔引擎真接线 Phase AA0 掌帧+A1-A4 能力包装+A6 真机门 6/6`3e5cab4`+ Runner v2 全弧(经 engineBundle 内嵌机制)支撑 feed 真玩、**零灰度闭环缺口、零 split-brain**3 处 spec↔代码漂移=有意改判已回填澄清packageUrl→engineBundle absorbedPhase 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=王蓝莓上引擎/装载契约 spikereal 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 200staging 在 mini-desktop 在线)。
- 🟡 已建 **11/13** 个 game 模块脊柱owner 覆盖 54/55 P0仅 pay 1 P0 未接),老 9 模块**大多骨架+桩****Wave4 community/biz 核心真实**(通知底座+lead form 状态机staging 两链路实测)。
- 🟢 **生成链路(M2) + 发布链(M3) + 数据回路种子(M5) 已 e2e 真实**M2UI 一句话→18-27s 可玩游戏、**四模板** clicker/merge/idle/tycoon 各可生成可玩可进 feed、成功率 80%B1 发布编排跨 4 表B2 遥测→quality_score→feed 重排+幂等)。
- 🟢 **生成链路(M2) + 发布链(M3) + 数据回路种子(M5) 已 e2e 真实**M2UI 一句话→18-27s 可玩游戏、成功率 80%B1 发布编排跨 4 表B2 遥测→quality_score→feed 重排+幂等)。**⚠️ 模板口径更新2026-06-17HJ-DEMO-AUDIT-001 C6**M-c 历史达成四模板clicker/merge/idle/tycoon生成=真里程碑,但 **W-CLEAN 已清旧 4 模板 + 存量数据**`aigc/template/list` 现空=设计态非回归);**06-17 generic 桥接 `7534bdf9` 接棒**——一句话无需选模板即走 generic 生成路(拆模板门、入口归一缺省 `templateId=generic`**generic 真出可玩仍挂 W-G1 开闸验收门**,勿读成"四模板现可玩"。
- 🟢 **M4 变现链路(④ mock 可切真)**ad/trade **业务逻辑已真实落地**AdRevenueServiceImpl uk_trace 幂等 / SettlementServiceImpl uk_source 逐笔入账 / WithdrawServiceImpl 冻结+CAS 审核状态机);本波做真=打款异步状态机(回调驱动 CAS 幂等)+ PayoutClientFactory fail-fast + reward 现金到账recordIncome TIP+ 广告回调验签 + 创作者收益端点;**87 单测全绿ad 24/trade 41/community 22+ staging mock e2e 门真跑广告→结算→提现→mock 打款回调 1→24 条对账断言全 HOLD**。**真广告联盟/真支付受日历闸门=mock gated非真变现**。
- ❌ 按真正验收线「**55/55 P0 产品功能可验证 + 生成成功率≥80%**」衡量,**真实可验收的 P0 仍少**。剩余大头——**真广告联盟+真 pay 接线受日历闸门 / 前端接线admin+studio 接 staging5 链路端到端,真机走查 G1/G2/G3 合并点待做)**Wave4 community+biz 已建成集成 ✅〕;**数据回路(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 全 success24 张 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 各可生成可玩可进 feedM-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→4clicker/merge/idle/tycoonM-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→24 对账断言 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/P3engineBundle 内嵌机制)**实质收口**,已支撑 feed 真玩3b-B 井字棋 gameId=9306 `238ec2d` 真渲真玩入 feedP2 `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 改读引擎 timeRealinput 仍 α 事件桥)=工程正确§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→24 条对账断言全 HOLD5 新端点 curl 200/code=0smoke 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-00113 冲突核实/3 伪冲突)+ **创始人术语纠正**(废=游戏模板/填参线,玩法模板品类框架未废=最高优先级待建)⑤ 产品功能×技术模块完成度 census155 功能/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. 风险与口径提醒