39 Commits

Author SHA1 Message Date
lili
cbfd4d871b feat(acceptance): 闭合 playtest v3 与 A+ 可信消费链
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
固化 Match-3 生产者、视觉、音频与双 Judge 证据闭包。

将《山海行纪》r1.1 绑定新的不可变 release,并以生产预检现场核验 bundle、Registry/2 和 25 项 Writer 快照。

同步地图1平衡锁值、跨游戏回归修复、验收契约与 SoT 证据。
2026-07-28 20:16:13 -07:00
lili
87777975c7 feat(w-axis): R1 生成可信闸代码收口(actor/judge闭合+W-GOLD-LIVE+full_gate+三批闸门)
actor/judge prompt eval 闭合: actor 3.0.5 正文强化+baseline(7轮); judge 3.0.14 正文强化+anyTerms同义词补全+baseline(judge-a 13轮/judge-b 33轮); registry/checker 版本对齐+顺序锚点 fail-closed 双保险
W-GOLD-LIVE live_prompt: play-loop 契约开口(request/3+provenance/3+ReferenceAssetRecord/1+Registry/1+迁移清单15条); cheap_verify 切v3+消费对账六闸(只消费active)+生成prompt注入接线(0 active不注入); Node runner playtest-v3.cdp.cjs 升/3+绊线恢复; 真模型回归验向后兼容
full_gate+三批基线: full_gate.py 集成runner串六子门+降级+22测; baseline_gates.py fresh25阈值+historical11预期表(2 needs_human交创始人定标)+shadow20框架+38测
注: registry cheap-system 登记 1.8.0→1.8.1 同步此前在途 cheap-system.md frontmatter 升版(修 pre-commit 版本漂移); cheap_verify/cheap_studio/validate/test_acceptance_v3/test_cheap_service_driver 为在途M含本会话叠加+此前W-AXIS在途(同一线无法hunk分离); 3红测试根因与raw审计未入本提交
2026-07-25 18:47:47 -07:00
lili
8d851ea716 feat(cheap-gen): W-AXIS-V2 波2——取证契约退役+提示全加载链清洗,四门∧测试员为唯一验收链
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
opus 执行位交付、主会话四步验收过(三套测试亲跑/红线 diff 亲读/冒烟截图亲眼):

- 验收消费:check 新增源码级插件调用存在断言(_pluginCallPresenceErrors 词法层,
  接替 F_wiring 真接线护栏);_forensicsView「必须实现」拦截摘除,降级为可选调试
  接口(handleTap 输入契约与 ctx.log 日志纪律保留);gate_judge 放行措辞对齐四门
- play-spec/驱动器退役(逐件裁定 10 件):gen.mjs done 门自动产 play-spec 摘除、
  cheap_gates/cheap_studio/cheap_modify/service_driver 调用摘除、_read_driver_type
  改读 evidence/playtest/playtest.json;golden-spec 三工具(auto_vs_golden/bake_off/
  compare_node)显式封存;ensure_play_spec 两实现保留一个版本窗口(只摘调用不删码)
- prompt 全加载链清洗:cheap-system.md v1.6.3→1.7.0(删 _forensicsView 自动验收
  契约红线与全部 targets/occupied 语义,五法句/品类指路同步),cheap_roles 内置
  回退逐字节同步(test_roles 12/12 证 parity),modify 切片经运行时切块自动同步;
  5 品类 skills+littlejs 手册+recipes×2+模板 8 件+README 6 件教学清洗,真设计
  价值(单击 casual/可解性质/双层反馈/latch)保留
- 批账:hard_genre_batch/xtheme 行加 playtest 段,_row_total_cost 修 shadow 下
  测试员成本漏算(v2 取 max 防双计)

验收(主会话亲验):pytest cheap-worker 512 绿 + tier2 141 绿 + node 49/49;
25 局基线新旧口径重放对照——真坏 5 局全拦(floor 拦 2/测试员拦 3)、无一例旧拦
新放,翻案 2 局均为破案坐实的仪器误杀;n=3 冒烟(mode=v2)全链绿:w2v2-sim
harness verdict.pass=True 而测试员 reject(机械放行测试员逮住,盘上双证)、
w2v2-sim-fix 现象反馈两轮回喂→fix2 收敛(配方显示修成,局内截图亲眼);
rg 零残留(模板残留均为「验收不读它」的降级调试接口合规形态);真跑 ¥8.4。

已知余项:repairFeedback 有产地、Service 续修环消费者未接(测试员 reject 不入
RepairMiddleware,续修判据仍四门)——是否接入随波3 校准数据一并裁;v1 配置级
回退窗口关闭为创始人知悉项,genconfig 默认 mode 仍 shadow、切 v2 归创始人。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 09:21:04 -07:00
lili
882ca3f357 feat(cheap-gen): W-AXIS 波2 判定语义重置——独立模型玩法判定阻断+拆残笼+判定档切 M3
裁定三落地:accepted = 机械预筛 ∧ 独立模型玩法判定,九门 pass 降为「未见明显死」预筛。

- 波2a 玩法判定器(cheap_verify.py):读 brief+run-summary+全程截图(含新增局中连拍
  midplay-1..N,play.cdp.cjs 只读并发拍、不进任何门判据),布尔裁 broken/hollow/off_brief,
  fail-closed;判定真相层落 evidence/judge.json + verdict.json 写回 accepted/judge 段;
  金标夹具 fixtures/judge-golden/ + judge_golden.py 校准跑批
- 波2b 拆残笼:check 词法 tokenizer 替换 stripCode 正则(字符串内 // 假阴根修,292 在册
  源零差异);prompt v1.6.3 外科清洗(两层奖励→纯设计语/删盲驱动器围设计/删熔断恐吓),
  registry 热取==内置逐字节一致(cheap_roles 内置回退同步);edit_file 空白归一+近似片段提示
- 判定器补修:空输出有界重试一次(glm 思考吃光 max_tokens 时 content 空)+重试放大公式
  反缩 bug 修(旧 min(×2,6000) 大 base 反缩)+finishReason 落盘;imagesSeen 模型自报+
  盲检微扰重掷、两掷均盲=仪器故障 degraded(闲鱼中转静默丢图实锤,不再错杀 hollow)
- 判定档切 MiniMax-M3(创始人 2026-07-10 拍板,裁定三①边界随 v2 plan 修订):
  generation.yaml judge.model+max_tokens=202752(512K 网关实探 400 拒,取实探上限);
  3 例盲案 M3 重判全 accept、¥0.026/局
- 三路消费对齐:CLI 预筛语义修(cheap_studio 喂 verdict.pass 而非 finished,违裁定三的
  放行已纠)/Service 路 apply_gameplay_judge 显式 prefilter 参数/result_out 权威改读
  accepted(无键回落预筛,旧产物兼容)+trace.gameplayJudge additive 透传;
  tier2 gate_judge/genconfig 同步判定配置与消费

测试:test_gameplay_judge 33 项新增,全仓 pytest 480 绿;真判定闭环 accept ¥0.061。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 04:27:18 -07:00
lili
824b4eaba3 fix(cheap-gen): 重同步 cheap-system.md 正文——补 edit_file 提示欠账
热取源 04-config/cheap-system.md 停留在「六工具/没有 edit_file/改文件用 write_file
整体覆盖」,而内联 _SYSTEM_PROMPT 早已加 edit_file(七工具/小改优先 edit_file)。生产
热取到 stale 提示 → 逼模型整文件重写 → 大文件截断(便宜档死圈病根之一)。按「.md 正文
= _SYSTEM_PROMPT 逐字节对齐」铁律重同步正文,registry.yaml + .md frontmatter version
双升 1.6.1→1.6.2;test_roles hotload 不变量 2 测试转绿。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
a207cb8d65 docs(agents): skill 规范化双层收口 + 席位context skill 新增 + W-NSTAR/W-TPL/W-GENLOG 设计波落档
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
- .agents/skills 25 件全量 frontmatter 规范化与评审修入(含 prompt-governance 大修);.claude/skills 7 件薄壳按双层方案①落位
- 新增 skill:agentic-seat-context-design(agentic 席位与 context 工程设计基线,2026-07-05 探索蒸馏)
- 设计波三件落档:复杂游戏北极星件(W-NSTAR 终审稿待拍)/黄金模板规格件(W-TPL 定稿待批)/生成侧过程蒸馏回路(W-GENLOG 骨架)
- protocol/在飞板/作战清单/数据飞轮 SoT/契约 prompts 索引同步;breakout 九门证据刷新
- .gitignore 补 /localagents.md 真实忽略行(该文件自声明绝不提交,此前声明未被机器执行)
- 刻意不入库:nacos-data/ 与 _tier2-gen、c2v-*、amgen-* 生成产物(可重生成,忽略行格式待拍)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 05:32:56 -07:00
lili
63f178d615 feat(prompts): 四道闸CI接线段B——真模型四闸判定器 eval_gate + prompt-eval workflow + safety 基线
薄版重建四道闸(不复活已删的 evalflow/judge 整套编排),对改动的 live prompt 拿金标集真跑 M3:
- 闸1 Schema(产物合 output_schema)/ 闸2 成功率 ≥0.8 / 闸3 回归 diff(vs baseline)/ 闸4 成本延迟增量;
- 只焊 live 面:非 live SKIP 豁免、live 无金标 fail-closed(绝不假绿);单跑预算 cap ¥5 硬编码、超即 fail;
- 真模型 = MiniMax-M3 经 new-api(thinking 关、实测 reasoning_tokens=0),urllib ProxyHandler({}) 绕代理,key 从 env 读、不硬编码不设长期 env;
- 触发 = workflow_dispatch(prompt-eval.yml,与 push 门分工);台账 append-only 落 eval/<id>/runs/;
- 调用失败(网关 500/限流)排除出判定分母、建议复跑(SoT §7:eval 跑不通不阻塞、不假绿)。

safety.prompt-check 真跑证据:10 条违规负例经 M3 判定,9/9 responded 全绿(neg:5 稳定触发 new-api 上游 500 已按基础设施失败排除),本跑 ¥0.0071,建立 baseline 供闸3/4 后续真判。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 09:10:00 -07:00
lili
f1676a1d49 feat(prompts): 四道闸CI接线段A——离线版本升号闸 check_version_bump + 挂 pre-commit/contract-gates
闸0「改 prompt 正文必升 version」落成独立零依赖脚本(与 check_registry 同风格、各管一摊):
- 相对基线(默认 HEAD;CI 传 push 前提交)剔除 frontmatter version 行后比规范化正文——正文有实质改动而 version 未变即拒;
- 新增文件无基线不判、删除文件交 check_registry 报缺失;基线 ref 无效则跳过不误拦、不假绿;
- 挂 .githooks/pre-commit 门5(prompts 路径条件触发,基线 HEAD)+ .gitea/workflows/contract-gates.yml 服务端(checkout fetch-depth:0 供比对 push 前提交)。

自测:改 safety 正文不升版→FAIL exit1、同步升版→OK exit0、git checkout 恢复干净。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 08:58:57 -07:00
lili
d5865f57cd docs(prompts): 四道闸CI接线步骤0——registry 消费面三态对账(17条逐条+门焊口径)
用一手代码证据坐实 17 条 prompt 的 live/fossil/batch-relic 三态,防把 CI 焊在死面上白花钱:
- live 10 条:safety.prompt-check(SafetyCheckClient GP9 门真发 LLM)+ tier2×8(roles.py prompts.load 运行时读)+ config.cheap-system(cheap_roles.py)
- fossil 5 条:clicker/merge/idle/tycoon(AigcTemplateConstants.SUPPORTED_TEMPLATE_IDS 已整体下架、gamedef 产物形态已废)+ generic-coder(STUB,PromptResourceLoader 只为 isReady/schema 加载、不喂 LLM)
- batch-relic 2 条:quality.adversary-review / fix.design-revise(全仓无 live 代码消费方,仅已删 agent-loop v1 evalflow.py 批跑过)

门焊口径写进 registry 头部:段 A 离线版本闸对全部条目生效(改正文必升 version,纯结构纪律零成本);段 B 真模型闸只焊 live——有金标真跑(唯 safety)、无金标 fail-closed(cheap-system/tier2)、fossil/relic SKIP 豁免。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 08:54:47 -07:00
lili
7820c75b8b docs(contracts): prompts README 死链修——退役执行档改 git 史指针(留痕纪律) (尾波)
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 20:54:46 -07:00
lili
d15119f3ad merge: A2 模板与提示词侧——6款模板起局按钮解耦render(纯几何函数+onEnter确定性赋值,no-render探针6/6进play+HEAD反事实6/6卡menu坐实)+ cheap-system v1.6.1 两条硬约束(targets键名固定/命中矩形onEnter建立)+cheap_roles逐字节parity+registry bump + gen.mjs入口守卫 + littlejs skill起局指导(卡menu案4修复面)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:20:08 -07:00
lili
34923812c3 fix(gen): 模板起局鲁棒性 menuStartBtn 解耦 render + targets 键/起局约定进 prompt v1.6.1 + gen.mjs 入口守卫 (W-S1 修复单②)
T1 六款模板(_template + feiyi/puzzle/shop/story/trpg)起局/重开按钮命中矩形:
从 render 副作用回写(menuStartBtn = renderMenu(...).startBtn)改为抽纯几何
menuStartRect/overRestartRect + 在场景进入点 onEnter 确定性赋值、render 只画;
治并发 rAF 饥饿下 render 未跑过=命中矩形恒 null=卡 menu(归因案4)。
no-render 探针坐实:修复前六款均卡 menu、修复后均按坐标起局进 play。

T2 cheap-system.md 升 v1.6.1,红线段增两条硬约束:①点 target 玩法 state 键名
固定为 targets(不得改成 items 等,C5 驱动器族选择依赖)②起局命中矩形须在状态
进入点建立、不依赖渲染帧;各模板 _forensicsView 加同义契约注释。cheap_roles.py
_SYSTEM_PROMPT 与 md 正文逐字节 parity 同步,registry.yaml 版本 bump 对齐。

T3 gen.mjs 顶层裸调 main() 加入口守卫(import.meta.url === pathToFileURL(argv[1])),
被 import 时不再触发真生成(footgun,曾 ~116s)、直接执行行为不变。

T4 puzzle-game-design.md §9 死链经核实在本 commit 不存在(唯一 play-spec 引用已
正确指向存在的 puzzle.play-spec.json),未伪造改动;littlejs-game-dev.md 补一条
起局 onEnter 指导闭合 doc-code。

验证:test_roles 12/12 + check_registry 17 对齐 + md↔_SYSTEM_PROMPT parity True
+ 6 模板 esbuild build 全绿 + amodel-gen tests 15+11 + 模板 node --test 除
_template-shop/headless-boot(既存红,与基线同)外全绿。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:17:53 -07:00
lili
6085805634 chore(gates): 四契约门挂 pre-commit + Gitea Actions + prompt 治理档口径对齐(Δ5 执行面)
无校验器不算契约(engineering-conventions §5.2 Δ5)的机器门挂载单:

- .githooks/pre-commit:按暂存路径条件触发五门并聚合失败——docs-gate 七检 /
  门金标判例库 run.mjs(触判据或判例库)/ play-loop validate --suite(触 play-loop)/
  rubric 双写对账(触 genre-rubrics 或品类 skill)/ check_registry(触 prompts)。
- .gitea/workflows/contract-gates.yml:与 docs-gate 平级的服务端不可绕门,四契约门全量真跑。
- 新建 .agents/tools/rubric-sync-gate.py:品类 rubric fixture↔skill 双写对账,
  fixture 为单源,内联副本逐条名目对齐(容措辞装饰、抓真增删改名)/ 纯指针校验可达,漂移 exit 1。
- 治理档口径对齐:prompt治理.md 三处 + contracts/prompts/README.md 挂载段,把
  「registry↔文件对账由 §4 四道闸 CI 拦截」纠正为「由 check_registry.py 承担,
  2026-07-03 已挂 pre-commit + Gitea Actions」(四道闸质量闸仍待接线,version 对账先行)。

四门 clean tree 全绿;各具负向演示留证(判例回归/坏样本/内联改名+指针断裂/版本漂移均 exit 1)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:01:32 -07:00
zizi
96de98b345 feat(prompts): 打磨不降档包——创始人定调「质量bar单一:档位切scope不切polish」落地(cheap v1.6.0:删spike能跑即可残留+hitstop出禁项改结算标配+设计块强制落盘+finish前收尾自查+新增⑩难度曲线;tier2 player v1.1.0:fun=5须记忆点/fun≥4才pass,scoreOnly焊死零行为影响;⑨经营决策模式清单落sim-business §1;双审收口:fable+真codex同判top10=筛选+精修尾部/金标最大杠杆,ⓓ落定、新待拍ⓔ手感轨;test_roles 12/12+双parity逐字节+registry 17条+docs-gate全绿)
Some checks failed
docs-gate / docs-gate (push) Has been cancelled
2026-07-04 03:19:37 +08:00
zizi
0e66fc953e feat(prompts): 策划知识包v2——cheap主prompt v1.5.0(⑨否决项判定句式+计数口径统一,test_roles 12/12逐字节绿)+剧情/经营rubric fixture补全接线(skill表改指针消双写)+tier2四专家v1.1.0加策划判据(内置↔md parity×4,registry 17条对齐)+prompt.mjs冻结为A/B史料;真LLM金标复验挂窗;3待拍(⑨升底座第12条/prompt.mjs退役/品类适配) 2026-07-04 02:25:55 +08:00
lili
db4aadd785 merge: W-GENRE 解谜品类四件套(skill puzzle-game-design + _template-puzzle 9/9 + _fewshot-puzzle 正例 + rubric fixture/金标 spec + 范例签名机器门)——品类路由并集 v1.4.0(剧情6/TRPG7/非遗8/解谜9)
Some checks failed
docs-gate / docs-gate (push) Has been cancelled
合并裁定(rubric 挂点两套实现收敛,fable 亲审):评分尺主干 = TRPG 机制(单 checks 数组契约+嵌套
richness.genre,19 单测钉住);从分支嫁接 fixtures/genre-rubrics/<genre>.json 加载器为第二来源
(内联 GENRE_CHECKLISTS 优先、fixture 兜底,puzzle.json 即刻生效);分支平铺 genreHits/genreChecks
双数组契约弃用,其接线测试适配主干形状。run_studio 增显式 genre= 参数(None→按模板推断,原行为不变)。
GENRE_BY_TEMPLATE += _template-puzzle。顺手补账:.agents/README 索引四个品类 skill(前三次 merge 欠账)。

验收(本机):金标 7 品类 6/6 + cheap_verify 19/19 + 解谜资产门 6/6(含 node scaffold/check 真 shell-out)
+ 模板 node 13/13 + check_registry 17 条 + node --check/py_compile 全过;test_roles 2 红=主干既有基线
(回落分叉,归一单已排)。

诚实记录:分支验收唯「n=3-5 小批全过门」BLOCKED(4/7;三失败=AI 大面重写引入运行时 bug,九门正确
拦截,根因已回写 skill §9 品类红线;spike 路无续修环是结构缺口,生产路 RepairMiddleware 覆盖)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:48:41 -07:00
lili
496f8b6de7 merge: W-GENRE 非遗品类四件套(skill heritage-game-design + _template-feiyi 9/9 + _fewshot-feiyi 正例 + rubric fixture/金标 spec;n=5 过 4/5·首败根因=import 断链已加护栏后 3 连过·幻觉 0)——品类路由并集 v1.3.0(剧情6/TRPG7/非遗8)
Some checks failed
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:16:52 -07:00
lili
8301f650fa Merge branch 'p11-trpg' into dev/2.0.0
Some checks failed
docs-gate / docs-gate (push) Has been cancelled
# Conflicts:
#	cheap-worker/cheap_roles.py
#	cheap-worker/tests/test_golden_specs.py
#	contracts/prompts/04-config/cheap-system.md
#	contracts/prompts/registry.yaml
#	game-runtime/tools/amodel-gen/prompt.mjs
2026-07-02 23:09:27 -07:00
lili
89f1c60534 feat(cheap): TRPG 品类设计 skill + 双源 prompt 品类条目注册(W-GENRE 品类件①③)
件① .agents/skills/trpg-game-design.md:TRPG(掷骰冒险)「设计什么才好玩」作业手册,照
sim-business-game-design 体例——6 心理引擎(掷骰悬念/抉择掌控/成长兑现/叙事感/连胜/收集)
/ 玩法范式可达子集(掷骰爬塔·事件链·queue 试炼·轻队伍) / 掷骰概率数值锚(首层 ~70% 成功
·成长写进概率) / §9 红线(单局可完非长流程·核心动作单击即结算 driver 可达·掷骰过程可见
非黑箱·亮牌取舍非纯随机) / §10 品类自检 5 条与 cheap_verify.GENRE_CHECKLISTS 同源 /
底线四件映射逐条确认(质量模型 SoT §7 档位要求,TRPG 全可映射、无需申报替代轴)。

件③ 双源 prompt 只加本品类条目(few-shot 过门正例 = _template-trpg 骨架本身,scaffold
clone 后即 agent 起点范例,check 门〔API 静态门+形状门〕对范例签名 PASS 已在件② 验):
· 读手册第 6 条(TRPG/掷骰/冒险/地牢爬塔类 → read trpg-game-design.md)
· 设计步品类范式一句(掷骰可见/亮牌取舍/难度爬坡)
· 步骤 A「读手册(1 + 按品类 5/6)」
三处物理文件同改:prompt.mjs(Node 半角)/ cheap_roles.py 内置回落(全角)/
contracts/prompts/04-config/cheap-system.md 热取正文(version 1.0.0→1.1.0,registry 同步)。

验证:node --check + buildSystemPrompt 出 TRPG 条目、新增行零反引号;cheap_roles 热取/
内置两路都含 TRPG 条目;test_roles 2 failed 与基线逐项一致(基线既有热取-内置分叉红:
⑨条升级只落热取路,pre-existing、非本次回归,回落路同步归编排层)、零新增红。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:46:44 -07:00
lili
50d98ce937 feat(genre): 解谜品类路由进生成 prompt 三源同改(W-GENRE 注册点·最小条目)
生成 system prompt 加解谜品类条目(先读手册第 6 条:解谜 brief → read puzzle-game-design skill + few-shot 正例参照;自检行补解谜范式指针)。三源同改防脏数据:① contracts/prompts/04-config/cheap-system.md(热取生效源,版本 1.0.0→1.1.0、registry 同步升版、check_registry 17 条对齐)② cheap_roles.py 内置回落 _SYSTEM_PROMPT ③ prompt.mjs Node 双源(半角标点、零反引号,node --check 过)。只加本品类条目、其余不动(另外三品类代理并行,共享注册点冲突交编排层 merge)。

已知基线漂移留痕:cheap-system.md 生效版在基线即领先内置回落版(9 条自检/两层奖励段,test_roles hotload 恒等 2 项基线已红、主仓同状态);本次两侧同加同一条目、未扩大漂移面,恒等回填归 prompt 治理线。

验证:热取生效版与 Node 版 buildSystemPrompt 均含解谜路由;test_roles 维持基线 10/12。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:36:33 -07:00
lili
c18e7f5324 feat(cheap-worker): 非遗品类件①②④+品类路由——heritage-game-design skill + _template-feiyi 工序节拍骨架(独立过九门) + 品类rubric/金标spec fixtures (W-GENRE)
① .agents/skills/heritage-game-design.md:非遗品类设计手册(照 sim-business 体例:玩法化
范式/工序节奏目标值/双层奖励/文化表述红线/§11 品类 rubric 5 条 逐条 0/1+层标 L2×3/L3×1/
L4×1+正反例,对齐质量模型 SoT §4 计分制;成长轴按 SoT §7 申报为工艺步骤解锁)。
② game-runtime/games/_template-feiyi/:工序节拍品类骨架(轻起点):一条工序链依次就绪→
火候窗口内点击完成→出成品,过窗回炉不判死;L1 plumbing 逐字节复用 _template-shop;
core.js 顶部多样性参数空间(CRAFT_CHAIN/WORKS/节奏常量);_forensicsView targets/score
取证契约(occupied=当前就绪且窗口内可点的工位)。独立过九门:A-I 全绿、H_progress
score 0→302、latch advisory(限时类口径,同经营打样)(verdict=
games/_wg1-gen/p11d-tpl/evidence/verdict.json,本品类金标 spec 驱动);tools.mjs check
机器门 PASS;单测 11/11(core 8 + headless 3,headless 按本品类语义重写、不复刻陈旧拷贝)。
④ fixtures/golden-specs/heritage-craft.play-spec.json(tap-targets occupied 族 + score
递增 + expectLatch;test_golden_specs 登记 heritage-craft,6/6 绿)+
fixtures/genre-rubrics/heritage.rubric.json(机器可读评分尺,锚定值待金标复验回填)。
路由(双源+热取三处同改):cheap_roles.py _SYSTEM_PROMPT 与 prompt.mjs 与
contracts/prompts/04-config/cheap-system.md 各加先读手册第 6 步(非遗品类→heritage
skill + _fewshot-feiyi few-shot 指针,正例随品类小批蒸馏后落库);cheap-system
version 1.0.0→1.1.0 + registry 同步(check_registry 17 条对齐 OK)。
既存问题(非本单造成,未扩大):cheap-system.md 自 8ea97234 起领先内置 _SYSTEM_PROMPT
一段「决策层/9 条自检」→ test_roles 两条 hotload 不变量测试基线即红;本单第 6 步在
热取/内置双路对称加入、漂移行数不变(仍 7 行)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:25:05 -07:00
lili
3223117d49 feat(cheap): 剧情品类路由三源同改 + story-branch 金标 play-spec(W-GENRE 品类件③④)
品类路由(保持最小,只加本品类条目):手册列表 +6「剧情/互动叙事/文字冒险类读
narrative-game-design + read _template-story/src/game-logic.js 过门范例(few-shot
read-on-demand 供给,与经营件同构)」+ 自检末行加剧情分支(选项单击即推进/latch/
选择有重量)。三源同改:contracts/prompts/04-config/cheap-system.md(热取生效面,
version 1.0.0→1.1.0)+ cheap_roles._SYSTEM_PROMPT(回落面)+ prompt.mjs(Node 双源,
禁反引号守住,node --check 过)。注:热取面与内置面的逐字节漂移是基线 pre-existing
(test_roles 10/12,fail 集未扩大;两面均已含剧情条目、语义一致)。

金标 play-spec:fixtures/golden-specs/story-branch.play-spec.json(tap-targets
occupied 反应族 + score increased + expectLatch,formalize p11a-tpl 独立九门 9/9
已验证的取证契约;无货币轴,不用货币递减门=质量模型 SoT §3 裁定二档位判据不跨档);
test_golden_specs._EXPECTED_GENRES 追加 story-branch,6/6 绿;
contracts/prompts/check_registry.py 17 条全对齐。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:22:51 -07:00
lili
8ea972340e chore: 工作树散落活账整理提交(多工作线)
- .gitignore:忽略 AgentScope 2.0.2 源码克隆(.claude/skills/agentscope-skill/agentscope/,本机开发直读参考、~17MB、含自带 .git、非本仓产物、可重克隆)
- .claude/skills/agentscope-skill/SKILL.md:agentscope skill 更新
- contracts/prompts/04-config/cheap-system.md:便宜档 system prompt 加「核心操作非无脑」第9条好玩自检(否决项:⑨不命中则①-⑧全中也只是有元素的无趣游戏)+ 决策层与九门自动验收解耦(基础分保盲驱动器过门 / 技巧分给真人爽感)
- game-runtime/evidence/integration/evidence.json:集成 evidence 更新
- game-studio/public/mock-manifests/:U5+U2 真 UI 走查 runbook + walk 脚本 + mock manifest
- wg1/gen-worker/results/gamedef-quickcheck.json:bake-off 结果(同既有 27 tracked 同类)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 19:00:42 -07:00
lili
5265f538b8 feat(contracts,aigc): prompt registry 一致性 CI 门 + Java TTL 运行时热取(切片一 C2)
check_registry.py 校验 registry.yaml 每条 id.version 与 .md frontmatter 对齐(漂移 exit 1,17 条全绿);PromptResourceLoader 加 @Scheduled 60s TTL 热取 + classpath 永久兜底 + volatile 原子换 Map(mvn compile 过 + 9/9 测试)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:06 -07:00
lili
e6525aaa3d feat(cheap-worker): 便宜档生成丰富度 + M1 达标门富化重验(切片一 A/B)
接 sim-business 设计指导到生成 agent(cheap_roles+prompt.mjs 双源,先设计后写码+MVP-first);新建纯 LLM 丰富度验证 agent cheap_verify(非阻塞·不进 verdict·零 code-presence 断言,红线落地);bake_off 加 richness 列;cheap_roles 三级回落配置热取(C2a 加载器);cheap_studio trace 接线(C1b)。富游戏 M1 三品类各 5/5=100% 过九门达标。测试 test_roles 12 / test_cheap_verify 11 / test_bake_off 17 / test_cheap_trace 4 全绿。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:06 -07:00
zizi
c9dbd50d80 feat(tier2): B门-配置外置——生成器旋钮 + prompt 全部数据驱动(调生成=改数据重跑、不改码)
让"调生成"从改代码变成改数据,直接给"优化 20% 过门率"的迭代提速。默认值=现有硬编码值、行为字节不变,改外部数据才生效。

【生成配置层】genconfig.py + tier2/config/generation.yaml:
把硬编码旋钮(model 选择 / 熔断·预算 rmb_hard_limit=3.0 / 迭代 writer_max_iters=40 / 工作室 Team leader_max_iters=12·per_expert_cap=2 / 品类参数)
抽成中央 YAML、运行时读(env TIER2_GENCONFIG 覆盖 + 缺省回落内置默认);config/middleware/studio/design_team 改读 genconfig。
回归:4 关键旋钮默认取值 == 改造前硬编码值;整 worker 包编译过。
(未externalize:fallback_tree ★阈值 + harness HUMAN_MIN_PATIENCE 门阈值——门阈值次要、gates 现 advisory,留后续。)

【Prompt 外置】prompts.py + contracts/prompts/09-tier2-richgame/(8 .md)+ registry.yaml:
tier2 的 8 条 system prompt(writer/design-leader/4 专家/player/design-system)外置到 Prompt Registry(契约#8),
运行时按 id 读 + 三级回落(env > registry .md > 内置原文)+ best-effort 不中断;{{input.*}} 字符串替换(避开裸 JSON 花括号噎 format)。
roles.py 改读 registry 但对外接口字节不变(studio/design_team call site 零改)。
回归:13/13 产物逐字节 == 改造前(含带参 design_leader/writer 四种入参组合);registry 缺失回落内置原文。Tier0/1 既有 8 条 prompt 零改动(red line)。

全 tier2/+contracts/prompts/ 内、零碰 Tier0/1、compileall + forbidden-import 通过。注:两 workflow 中 U1(genconfig)结构化报告解析失败(基建层),代码已落盘且主会话直接复核(编译+默认值回归过)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 05:32:37 +00:00
lili
046c061d60 feat(aigc): U7 R-TPL 品类玩法模板注册(经营模拟/剧情互动/解谜闯关/TRPG/非遗科普·constants-only·克隆generic代码生成契约)
注册 5 品类玩法模板(business-sim/narrative/puzzle/trpg/heritage),替代单一 generic 状态:
- 3 处代码同源点:AigcTemplateConstants.SUPPORTED_TEMPLATE_IDS 加 5 ID(保留 generic);
  PromptResourceLoader.TEMPLATE_RESOURCES 加 5 行(pom 通配自动复制资源,零 pom 改动);
  AigcTaskServiceImpl.getTemplateList() 回填 5 TemplateRespVO(中文品类名/说明/示例 Prompt/封面占位)。
- 10 契约文件:每品类 1 prompt(克隆 generic-coder.md frontmatter 形态 + 品类引导正文,范式=agent 写
  GameHostFactory 源码而非填 GameConfig)+ 1 schema(克隆 generic.schema.json 的 bundle 校验结构,
  校验 bundleText/hasGlobalName/bundleRawBytes,draft 2020-12,非旧 config-fill)。
- GameConfigSchemaValidator 无需改(经 getAllTemplateSchemaTexts 自动消费 5 新 schema)。
- 不触 SAA/executor/dispatcher/graph 代码(plan001 领域),仅动模板注册面。
- 测试:PromptResourceLoaderTest 9 / GameConfigSchemaValidatorTest 11 / AigcTaskServiceImplTest 11 全绿;
  启动自检 PromptResourceLoader ready + 校验器编译就绪含 5 新模板。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 11:45:39 -07:00
zizi
0b1b37ea3c feat(aigc): W-G1 开闸验收门·组A 落地——D12 控制平面 v0 + GP9 合规先行段
把"一句话生成"对真实创作者放开前焊死 2 道硬阻塞闸:单用户压不垮全局串行 worker、违规 prompt 进不了生成与 feed。
契约先行(V15 DDL/错误码/配置类先于业务),feature-flag 默认关=现行行为逐字不变。

D12 控制平面 v0:
- 抽私有 enqueueWithControlPlane,submitGenerate 与 retryTask 共用(决策D:retry 也走全门,违规/超配额无法靠 retry 绕过)。
  门序(最便宜→最贵):① 降级门(infra ConfigApi 读 aigc.generate.paused,fail-open on switch)
  → ② 配额+并发门(per-creator×level 当日非取消计数 + 在飞并发,判定一律 >=)
  → ③ 背压门(全局在飞 >= queue-depth-limit)→ ④ GP9 safety(放最后)→ ⑤ insert + 额度记账骨架(仅 log,非真扣费)。
- V15.0.0 game_aigc_task 加 level 列(TINYINT NOT NULL DEFAULT 1)+ AigcTaskDO.level;v0 统一落 L1(会员档未建,避孤儿)。
- 新建 AigcControlPlaneProperties(前缀 aigc.control-plane):enabled/queue-depth-limit/safety{timeout-ms,max-retry,fail-closed,
  new-api base/key/model}/quota{L1/L2/L3 daily+concurrency}(数值占位待创始人)。
- ErrorCodeConstants 加 001 子段 5 码(配额/背压/降级 + UNSAFE_PROMPT/LLM_SAFETY_ERROR);均业务码,不产生 HTTP 429/503。
- AigcTaskMapper 加 3 计数查询(selectCount,零原生 SQL/零 DDL 索引);aigc-server pom 补 huijing-module-infra-api 依赖。

GP9 合规先行段:
- 新建服务层独立 SafetyCheckClient(不复用执行器 ExecutorLlmClient——被 aigc.executor.enabled 门控、服务层注入不到):
  new-api 连接走 control-plane 配置(与执行器开关解耦,解 new-api 服务层可达性),装载 01-safety prompt,短超时 8s + 至多 1 重试。
- 接门④:safe=false 抛 AIGC_UNSAFE_PROMPT 同步拒绝不入队;超时/失败 fail-closed 抛中性 AIGC_LLM_SAFETY_ERROR(复用 FailureReasonEnum
  语义不新增枚举)。pom copy-glob 加 01-safety/*.md(已验进 classpath)。
- 补 10 条违规负例集 contracts/prompts/eval/safety.prompt-check/(十类红线各 1 条,全 expectedSafe:false)+ README。

装配:AigcControlPlaneConfiguration @ConditionalOnProperty(aigc.control-plane.enabled) 注册 Bean;AigcTaskServiceImpl
经 ObjectProvider 软注入(enabled=false/Bean 缺席 → 全门+GP9 旁路 = 现行行为)。

零越界:门③ promptHash 缓存未做(promptHash 仍照算照落 provenance,v0 不读它做缓存);真实计费扣退/组B 落库/审核台/会员档数值均未触碰。

验证(mini-desktop):test-compile BUILD SUCCESS;AigcControlPlaneTest 16/16 + SafetyCheckClientTest 7/7 +
AigcTaskServiceImplTest 9/9(零回归)+ 全 aigc-server 99 run/0 fail;V15 SQL 真 MySQL 8.4.8 语法校验通过。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 20:10:44 +08:00
zizi
e6dbc3bb5a feat(runner-v2): P3 L0 brick-2 后端 engineBundle 真值通路+gameConfig 占位+prompt registry 脚手架(additive·未点亮)
① DifyCallbackReqVO 加 engineBundle additive 字段(@Data 自动访问器)② DifyCallbackTxService.resolveEngineBundleText 真值切换(:398 return reqVO.getEngineBundle())③ validateSucceededPayload gameConfig 占位=逻辑零改(既有非空校验已满足 meta 占位{templateId,title,theme,engineDriven},仅补注释)④ prompt registry:generic-coder.md stub + generic.schema.json(合规落 contracts/templates)+ registry.yaml 条目 + eval 目录。未点亮 generic 路(SUPPORTED_TEMPLATE_IDS 仍 List.of()、TEMPLATE_RESOURCES 无 generic)→ 现状生成路径零变。本地验:yaml/json parse + Lombok 访问器确认;**full mvn 编译验留 L0 整合步(派发面)一起做**。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 12:47:14 +00:00
zizi
26319b3efc fix(qa): M-c越模板机制守卫口径终裁——降为Golden观察项(同输入重采样实证软边界抖动)
创始人2026-06-11拍板「越模板机制 config自洽=P2放行」(依既有细则①,spec §4.5起草误读kill)。
一次勘误(labels/golden-set/harness kill→accept)后重跑Golden暴露:越模板是软语义边界判定,
同输入温0.2重采样实证抖动——idle k-1d1ebeefca 2/4判kill(50/50同输入翻转);merge/tycoon
0/4稳定P2;fresh回归轮tycoon亦翻kill。P1/P2两向硬断言(起草的kill或一次勘误的accept)都随
采样随机抖动,对软边界做硬门禁本身是范式错误。

二次勘误=越模板守卫降为Golden观察项(golden-set expectation=observe,harness _observe恒记录
模型实判但不纳入verdict,C/F断言):
- verdict只由题文不符kill守卫+accept正例(四硬门,经实证稳定)裁定
- 两向fail-safe(P2不拦发布/偶发P1仅多一次HITL复核,绝不放过坏游戏),记录不门禁不损安全
- labels.jsonl维持accept(细则① P2放行=文档化口径目标);对抗prompt正文零改动、version仍v1.1.2、
  P0/P1口径一字未动(守R3红线)
- 让模型对越模板稳定输出P2属prompt v1.1.3收紧议题(非MVP阻塞,backlog)

两轮Golden实证VERDICT=PASS(越模板逐次kill/kill/pass三态均不影响verdict);
题文不符kill(merge/idle/tycoon+clicker不回归)+accept正例全部稳定通过。
含两轮Golden取证产物(results/report/raw,无密钥)。

落点:labels.jsonl(3行)+两golden-set+两harness+spec §4.5二次勘误banner/硬前提/回归门+eval README。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 00:41:02 +00:00
zizi
7033cef382 feat(contracts): M-c批② idle+tycoon契约面——双schema+双designer v1.0.0+registry两条目+Golden六守卫样本
- idle.schema(11字段)/tycoon.schema(10字段)全收敛 integer/string/const(judge零改);升级档扁平化(upgradeCost+upgradeMultiplier)/顾客节奏档位化(customerIntervalLevel)规避judge新分支
- 对抗/fix版本一字不动(创始人拍板不升patch);Golden append-only +6守卫(idle/tycoon各 kill题文不符+kill越模板机制+accept正例),README记v1.1.2维持+守卫为细则①跨域验证手段+级3全中为放行硬前提

HJ-MC-TPL-EXEC-002 §3/§4

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 16:45:42 +00:00
zizi
b7c9d33fa6 feat(qa): merge正式批merge-prod-20收口产物——accept 19/20=95%(≥80%量级过门,结构20/20,infra=0,830s/57次LLM)+金丝雀10/10触顶发布feedVisible+9accept配额留池+evalflow回流49+49
1 kill=fix后P1残留(QA门诚实);对抗稳定性复测2/3(连续两批同值,累计4/6,正式观察项);spec §8-3达成

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 14:59:05 +00:00
zizi
8bd3ebfdaa feat(qa): merge校准批merge-cal-10收口产物——accept 10/10(结构/可运行/可接受三层全1.0,infra=0,495s/31次LLM)+金丝雀10条published+feedVisible+evalflow回流(+22 inputs/+23 labels)+feed与/play实玩截图
级4判据(全自动流完零infra)超额达成;对抗稳定性复测2/3记正式批关注项;拍板3口径=校准观测不设硬门

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 13:25:21 +00:00
zizi
b1fa30d1ff feat(contracts): M-c批① merge 契约面——schema+designer v1.0.0+对抗v1.1.2/fix v1.0.1 patch+Golden三守卫样本
- merge.schema.json:7字段定稿(chainLength 3-6/targetLevel 2-6/boardSize 6-9/itemLabel array 1-6),spec §3.4 逐字
- registry:+config.merge-designer 1.0.0;adversary 1.1.1→1.1.2(细则①追加merge域示例,P0/P1口径一字不动);fix 1.0.0→1.0.1(+template_schema注入段+:48括注中性化,主干句不动)
- eval/config.merge-designer/ 三件新建(首版无种子随批回流);对抗Golden append-only +3 merge守卫(kill题文不符/kill越模板机制/accept正例),README记v1.1.2双标签约定+spec§4.5箭头笔误errata

HJ-MC-TPL-EXEC-001 §3/§4

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 12:30:31 +00:00
zizi
dcb680e95f docs(agent-loop): batch-002b 补产满分收口——综合 accept 45%→95%, 剥 think 防御实战 7/7 全救
- batch-002b: 10/10=100%(零 kill/零 infra/fix 回炉 3/3/稳定性 100%/flash 抽检 0 分歧),
  金丝雀 9058-9067 全发布, feed=30 款
- 防御实战铁证: M2.7 泄漏当日仍 22.6% 再现(31 调用 7 泄漏), 归一化 7/7 全救——
  对照 batch-002 同病灶击杀 10 条 → 本批零击杀
- 执行器路径实战单: 图书馆排书架 13s succeeded(认领→LLM 12.2s→schema round1→受理)
- 综合口径: batch-002 20 条创意补产后 19/20=95.0%
- C7 作战清单收口; eval 回流 +55 行

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 06:53:44 +00:00
zizi
950d71daa3 docs(agent-loop): batch-002 全档入库——accept 45.0%(网关 M2.7 当日回归 think 泄漏)但体系全项兑现
- accept 9/20=45.0%(对照批-001 80.0%): 10 条 schema kill 全为 json_parse char 0,
  直调复现 content 以 <think> 开头(finish_reason=stop 非截断)——通道回归非口径/创意问题
- C6 战役兑现清单: Z4 稳定性 33.3%→100% / 真·flash 抽检 2 条 0 分歧(不冻结,解冻依据闭环)
  / 金丝雀 9/9 批内全自动直发零补救(发布链修复实证) / 模糊创意细则②零误杀
- 双锚三锚全立(9035 鱼摊捞手: completed→quality 0→60→feed 第20→第4)+玩家端渲染面截图
- 操作事故留证: 误 resume 污染已隔离(ledger.jsonl.contaminated-* + quarantine/),
  批外痕迹 9055/9056/task50 登记; 孤儿 queued 44/51 已置 canceled
- eval 回流 +191 行; P0 后续=剥 think 防御(m27hs 门在飞)+10 条 schema kill 创意补产

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 05:37:05 +00:00
zizi
d268f50d73 feat(prompts): C6/C6.1 对抗 prompt v1.1.1 + Golden 回归两轮——解冻终裁 Path A(主 agent)
- clicker-designer v1.1.0: hard_constraints+正文双写「designIntent 禁承诺模板外机制」
- adversary-review v1.1.1: 判定细则①②③(越模板降级P2/模糊创意不出P1/checklist稳定化)
  + 细则①边界句(核心动作语义矛盾仍属P1——根治 v1.1.0 回归暴露的 kill 守卫放水)
- P0 定义与 P1 四类口径文字逐字节未动(提取块 md5 双侧一致, 不降口径铁律)
- Golden 回归两轮全档入库: v1.1.0(诚实红灯 0/3)→v1.1.1(kill守卫三通道全中/稳定性100%/误报2/16)
- 黄金集口径版本化(doctrine 双标签, v1.0.0 历史四重可溯)
- 终裁: 残差全在偏严侧零放水证据→解冻, 下一批可发布; v1.1.2 backlog(g9011/g9019 偏严误报)
- PromptResourceLoaderTest: 版本断言由钉死字面改语义化正则(升版必挂的合树雷, C6 实证)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 04:03:30 +00:00
zizi
208a36ee6c feat(agent-loop): v1 全闭环建设波收口 — D1-D5 五件交付 + 双spec + 种子/烟测产物
- D1: Registry 3 prompt(策划/对抗/fix)+eval 骨架+registry 注册
- D2: agent-loop 2 schema + 4 模板 schema(对齐 gen_spike 真源, additionalProperties:false)
- D3: 编排器+裁决引擎(judge D1-D10 决策表/账本幂等重放/预算闸熔断/eval 回流/批报告), 59 单测绿(mini-desktop)
- D5: 玩家 CDP 取证 player_cdp.py(真点击/蛇形→驼峰映射/demo 三信号/三角合成判定), 9001 自测 PASS
- (D4 后端件已在 9bf3d54 先行入库, 三条 mvn 两轮独立实跑全绿)
- spec: 评审版(已拍板)+execution 版(已审定+建设期补充裁决 D4-a~d/D5-a~c/D2-a/D3-a)
- W2 试点/种子 9003-9008/B4 四链路烟测 产物与总账/作战清单同步
- eval 种子: C1 spike 52 条转入 config.clicker-designer(inputs 52/labels 13)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 06:24:43 +08:00
zizi
c4e2d73300 feat(backend): Wave1 后端脊柱 5 模块 + 8 类契约 + yudao-cloud fork 接线
- game-cloud:yudao-cloud fork(裁剪至 system/infra)+ 5 业务模块 project/aigc/runtime/feed/telemetry
- 黄金模块 game-module-project + 克隆 4 脊柱模块;46 单测绿 + 41 模块集成编译绿
- contracts/:8 类契约锁定(5 API YAML + sdk-interface.d.ts + game-package.schema + events 等)
- yudao-server 接线:全局组件扫描 + @MapperScan + Flyway V1-V5(baseline-version=0)

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