背景/目标:tier2 富游戏 BackendStore 真实现已写好却未通电,且 save 走 MinIO-first、半落库会留无 manifest 指向的隐形对象,manifest 表游离在治理外(in-code DDL + 留档 .sql 双源无机器门)。本切片按已拍板的 manifest-first 方案把 SRC 一面推到「接生产、schema 受治理、取回可重建、半落库孤儿有修法」。只碰富游戏这 一面,不动便宜档 Java 面、不做素材、不接 fetch 生产消费方。 改动(六件核心 + T1/T3/T4): - T2① status 列(pending/committed):新建走 CREATE DDL、存量走受治理 ALTER;BackendStore._ensure_schema 按 information_schema 探测缺列才补(每实例一次,跨 MySQL/MariaDB 稳)。 - T2② save 改写入序:MySQL 落 pending 行 → MinIO put → 翻 committed;命中 committed 幂等返回、命中 pending 复用 versionId 续跑自愈(同前缀真覆盖)。半落库崩溃只留可见 pending 行、无隐形对象。 - T2③ fetch 两条分支(取最新 / 取指定版本)都补 AND status='committed',pending 半成品对取回不可见。 - T2④ 治理归属:.sql 留 tier2/config/schema/(owner=tier2、不走 huijing Flyway、无执行副本), contracts/README.md 加治理指针认领、明说不参与 Flyway 对账;不塞 db-schemas/ 根。 - T2⑤ 可跑对账机器门 test_store_ddl_reconcile.py:规范化比对 in-code(_DDL+_ALTER)与 .sql,改一处 漏改另一处即红。 - T2⑥ 修 store.py 模块头 docstring 整块(占位/seam/绝不实连/forbidden-import 守着 的陈旧误述改为与真 实现一致,并纠正守卫范围:check-forbidden-import.sh 只禁 wg1.*/SAA/L2,不禁 pymysql/minio)。 - T1 接线单点:TIER2_STORE=backend 激活配方 + 前置 checklist(CREATE DATABASE / status 列状态确认)落 staging-ops §7(tier2 gen-worker 部署 env 单点);不改 default_store 工厂形态。 - T3 取回重建 harness store_roundtrip_harness.py:五条(确定性重建优先 bundle sha256 字节相等、非字节稳 才退九门 verdict 逐项一致+无 missingContent、不拿近乎恒真 buildInputHash 承重;版本寻址;幂等;缺源 显式失败;半落库两失败点),本地 LocalFsStore 自检覆盖 1-4、真库+bundle 字节相等标 follow-up 窗口。 - T4 孤儿清扫 store_cleanup_job.py + BackendStore.cleanup_orphans:乐观删(status=pending CAS 先删行 再删对象)防与续 put 的 TOCTOU 竞态,幂等,owner=tier2,可追溯日志。 契约(contract-first):.sql DDL additive 加 status 列 + 首份受治理 ALTER;contracts/README.md 治理指针; 落库寻址 doc↔code 断言点(表名/双唯一键/「pending 对 fetch 不可见」)。不改 tier2-source-project.schema.json addressing、不改 buildInputHash 字段、不改 GamePackage / 便宜档 source-project.schema。 验证:本地 14 个新单测真跑全绿(DDL 对账 3 + manifest-first 行为 8 + harness 本地 3);harness 脚本 LocalFsStore 自检 5/5;docs-gate 七检全绿;forbidden-import 守卫通过。真 MySQL+MinIO 往返 + bundle 字节 相等 = mini-infra 窗口 follow-up(worktree 无真库/无 esbuild,诚实未跑)。缺重依赖的既有测试(agentscope/ nacos)本极简 venv 未跑,均不 import store、与本改动无关。 计划锚点:docs/plans/2026-07-05-001-feat-asset-src-源工程存储-plan.md §4 T1-T4 / §5。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
tier2 · 富游戏自治生成线
这是绘境 AI 的第二条游戏生成线。它和现有的超休闲廉价线(wg1/ + LittleJS)解耦并存、运行期零耦合:廉价线用便宜模型往声明式数据壳里填空、做单局几何色块小游戏;tier2 则给一个 AI agent 一台完整的游戏工作站——读文档、写多个 Phaser 源文件、构建、在真浏览器里真玩验收、看截图、查资产——让它在一圈确定性验收门的笼子里反复迭代,把现有产线做不出的多系统富游戏(合成、经营、挂机这类肥鹅美食街档)逼出来。
底座是 AgentScope 2.0.2(独立锁版、独立 env),引擎选 Phaser/Pixi(过无头硬筛、按 AI 作者视角取生态厚度)。生成范式是约束自治(O2):把一款游戏拆成数据表、系统骨架、表现层三层,用骨架和插件 API 锁住系统层最难的部分,把便宜模型的火力集中到必须写的约 56% 表现层,再用三层校验和四道熔断把自治关在笼子里。
整条线最深、也最没证过的赌注是:便宜或中等模型的自治 agent 能不能稳定写出那 56% 的表现层。所以建设按「顺序软、判据硬」走——先把集成和环境搭扎实,再用 M3(写代码逻辑)+ mmx(产美术音乐)连续迭代;但生成证据的判据保持离散可判定:M3 证路是软门、便宜档 n≥30 是硬门、退路树沿用数字触发线,只有硬门通过才投入重机器。
怎么读
- 要建什么、为什么:
docs/brainstorms/2026-06-22-tier2-整体实现方案-requirements.md(WHAT,已过双评审)。 - 怎么建(照这个动手):
docs/plans/2026-06-22-003-feat-tier2-富游戏自治生成线-plan.md(HOW,10 单元,Phase A 详 / Phase B 纲要)。 - 接手须知:
HANDOFF.md(本次 6c6g 初始化交付了什么、Mac 接着做什么、环境切分)。 - 模块边界与红线:
.agent。 - AgentScope 2.0.2 真实 API:
.agents/knowledge/agentscope-2.0.2-facts.md(拿不准先读/root/oss/agentscope源码 + agentscope-skill 的references/v2-*.md离线镜像;该 skill 的 SKILL.md 正文示例是 1.x,勿照抄)。
现状
2026-06-22 在 6c6g 完成项目初始化:模块骨架、独立依赖(agentscope==2.0.2)、governance、forbidden-import CI 就位。实现与运行调优转交 Mac / mini-desktop(真跑需 chrome/headless+esbuild,6c6g 禁 chrome)。