lili
09e7fb433f
docs(memory): 沉淀 OSS 游戏内容链路
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
2026-07-30 06:49:48 -07:00
lili
1981a6be01
feat(storage): 闭合 Agent 到 Runtime 的 OSS 游戏链路
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
增加不可变源码检出、两阶段 finalize/activate、Runtime 同源对象读取与 iframe 安全边界,并用 fail-closed CI 门固定契约。Git 仅提交平台实现、契约、迁移和 SoT,不包含具体游戏源码、素材、bundle 或验收证据。
2026-07-30 05:21:44 -07:00
lili
a513ae38fd
fix(storage): harden source authorization and committed CAS
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
Provision the isolated game-source writer path, bind source uploads to
GameSourceArchive manifests, and require every immutable storage field for
pending-to-committed CAS. Reuse the gate-validated runtime manifest snapshot,
normalize remote storage errors, and record the staging object/CAS evidence.
2026-07-29 19:10:09 -07:00
lili
17727d08c3
feat(storage): 接入游戏内容对象存储与运行时提交门
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
冻结 GameArtifactManifest/GameSourceArchive 契约和 V34 pending/committed 状态记录,增加专用 writer 的全量回读物化校验,并让 Runtime API 在消费和发布前对账 committed、GamePackage checksum 与实际 engineBundle hash。隔离 staging 已验证真实消费拒绝未提交版本;源码桶权限仍保持 fail-closed,正式金标不切换。
2026-07-29 12:02:22 -07:00
lili
f95ab63521
docs(memory): 沉淀山海行纪可信消费闭环
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
记录地图1金标签范围、r1.1 不可变发布身份、生产 preflight 真 hash 校验和 round-17 历史证据边界,供后续复用与排障。
2026-07-28 20:45:32 -07:00
lili
cbfd4d871b
feat(acceptance): 闭合 playtest v3 与 A+ 可信消费链
...
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
686aaaa421
feat(reference-assets): 签认《山海行纪》并闭合可信消费门
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
冻结地图1二十分钟纵切版的平衡、证据与金标登记。
新增 ReferenceAsset/2 清单、策略、release、受信快照及 CLI/Service/acceptance provenance /4 消费链;保持 survivor live、R1 签名与部署关闭。
2026-07-28 09:11:54 -07:00
lili
e16c7e833d
docs(agents): 蒸馏内部狗粮上线/W-AXIS R1 收口踩坑经验
...
prompt-governance §11 稳定门在 M3 下 flaky 与治法(anyTerms 同义词补全治本+格式硬约束+几何退避;actor cohort 聚合比 judge 宽松)
gen-path-parity §6.2 跨语言契约版本接缝(Python 切 acceptance/3 必同步升 Node runner /3 否则真浏览器整拒)
staging-ops §2 commit 在途 M 触发 pre-commit 版本漂移闸处置(机械对齐 registry 匹配 frontmatter)+§4 长任务前台串行+孤儿独立复核
ai-development-protocol §4.2 关键 hash 一律主代理独立重算(扩 commit-hash 自验到产物/基线 hash)
均补到既有文件无新建,带本会话实证行号
2026-07-25 19:27:05 -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
81a7a9ce56
feat(shanhai): ⑦c2 收敛调参+⑧win 调参后两全(14轮平衡迭代)
...
- balance.js: 放松怪潮(d1乘区归基线/三兽hp·dps降/WAVES rate×0.8/TIDE2.5→1.8)+抬玩家hp100→136/speed→132+削压强build(poyue44→34·evo1.9→1.7/fuling19→16)+抬地板(fengren/xuanming);九婴/狰王零改动
- 调参方向与原前提相反:加边界后真实是全面太难(M3怪潮按无界风筝标定),据当前真相反向放松
- c2 门档四判据全绿(c1 12/12/c2 fentian@85%/c3 46%/c4 0.402)
- ⑧win 调参后实测可达:round-15 seed42 确定性 win(九婴~28s斩)+6 runSeed 5win/1lose(lose为弱build收割期清场不及非九婴问题)
- 诚实纠正:round-14 win 实为旧平衡(dist陈旧未含调参),round-15 重建dist后真测调参后win仍可达
- c2 fentian/poyue@85%贴线(n=20有超线风险,非稳健余量)
2026-07-25 05:40:49 -07:00
lili
6ca44e3b2c
feat(shanhai): M5 代码灌装(占位资产)——5图/敌32/Boss10/sim参数化/meta解锁
...
- balance.js: MAPS 5图(裂谷原+不周山/昆仑墟/归墟/钟山占位)+ENEMIES 32+BOSSES 10+D2-D5解锁占位+各图波表占位
- sim.js: createSim mapId 参数化(按图取数,map1零变化硬证三局逐字节一致)+_debugFill限定敌混
- meta.js: unlockedMaps解锁持久化(存档data内,schemaVersion=1向后兼容)+胜局解锁下一图
- meta-tables.js: dex_full阈值gte:51->DEX_TOTAL动态(修既有硬编码双写bug)
- game-logic.js: 出击页地图行驱动MAPS+isMapUnlocked接meta
- 占位数值/sprite标待美术待平衡;map2-5占位pacing待平衡;选图入局接线待后续
- 回归全绿:真实13/13+meta11/11+build-tables9/9+meta-tables6/6;ui-trigger2 test4 pre-existing渲染层失败非M5引入
- M5完整验收需美术资产(图2-5/29兽sprite/BGM6)+真平衡扫描
2026-07-25 04:07:08 -07:00
lili
18ba0bd60f
feat(shanhai): 加边界后⑧win 胜路径达成(推翻已知限制)+ driver 适配有界
...
- win-jiuying.mjs: bounded-cruise 竖直椭圆巡航(摊薄怪潮、数学保证不触墙)+ 有界贴墙滑移层,适配加边界竞技场
- ⑧win 胜路径硬证达成:巡山礼成结算+九婴伏诛+bossKills=2+九婴hp末段rate95-210+满血win;加边界+满级build贴脸让九婴进AoE有效射程,推翻上轮武器索敌已知限制
- ⑨登记修正:⑧胜/负/重玩/进度四路径齐全,⑧可升verified(待创始人验玩)
- 普通玩家手玩贴脸难度归⑦c2/可玩性,不阻断⑧胜路径成立
2026-07-25 03:01:41 -07:00
lili
f6f817da4c
fix(shanhai): 治本去除竞技场背景烤黑边(裁黑带+bicubic 回填,四边岩纹收口)
...
- assets/bg/bg-map1-arena-01.jpg: 裁左右顶烤黑带 + bicubic 缩放回填 1560x2960,四边纯黑硬框消除(采样 min 21-34 带纹理),右崖本征暗阴影保留作暗崖收口
- 拼接/贴边/裁切已于 a4dc91c4 解决;本提交治本黑边,背景定稿
2026-07-25 02:32:34 -07:00
lili
a4dc91c43a
feat(shanhai): 有界竞技场+完整背景图,彻底消除背景拼接
...
- balance.js: ARENA={w:1560,h:2960} 有界竞技场(中心对称原点)
- sim.js: 玩家走位 clamp 到场内(边距含岩壁内沿,贴边不站黑墙/不出屏)
- render.js: 镜头 clampCam + drawPlayer 解耦屏心 + drawGround 一档接整幅背景图(二档视差瓦片兜底)+ 四边自然暗角 + 背景降颗粒
- art.js: 登记 bg-map1-arena-01 + 后台拉起预载 + tiles 降懒载(不增首屏网络字节)
- assets/bg/bg-map1-arena-01.jpg: 矿彩国风裂谷原整图(1560x2960,AI 草图创始人审)
- 墙角死角作为有界竞技场设计保留;⑧win 重跑留下检查点
2026-07-25 01:12:24 -07:00
lili
6059f837d0
feat(shanhai): 九婴数值调到普通人可用 + ⑧win 机制死结交游戏设计
...
- balance.js: 九婴 hp7400→3600/dps60→30/冲撞四件削弱/狂化削平,狰王 hp3000→2000(普通人可用区间,群体仿真有效)
- win-jiuying.mjs: 坐标驱动贴脸集火 driver(抱稳安全距+冲撞切向闪避)
- ⑧win 胜路径记已知限制:真正瓶颈是武器目标选择机制(nearestViaGrid 打最近怪,满怪潮下打怪不打 Boss),交 W-AXIS/游戏设计裁定武器 Boss 优先级或降怪潮密度
- plan §6.7 + ⑨登记收口;round-7~9 诊断证据留存
2026-07-24 12:59:08 -07:00
lili
3e4f6fa383
feat(shanhai): 修 juice 顿帧冻结 bug + 扩 forensics boss 坐标取证面;金标阶段二收口
...
- game-logic.js: 补 bundle.tick(dt) 驱动 juice 顿帧恢复,修首 crit 后世界冻结死局(对齐其他游戏标准调用)
- sim.js: 加 bossesForensics() 只读取证 getter,暴露存活 Boss 坐标供 CDP driver 贴脸集火
- content-audit.mjs: 10h 内容核数落盘持久化(金标⑥)
- evidence: 金标⑨限制登记 + juice bug 缺陷报告(供 W-AXIS)
- plan §6.4-6.6: R1 终审 + 金标阶段二采证收口 + ⑧win 已知限制(九婴机动冲撞)
回归 13/13;⑧win 待九婴数值调到普通人可用 + M5 + 背景拼接处理
2026-07-24 11:21:13 -07:00
lili
8a81b37348
test(release): make account report mode check portable
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
2026-07-23 03:07:37 -07:00
lili
bcb7fec906
fix(release): bind dogfood gates to runtime state
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
2026-07-23 02:49:08 -07:00
lili
495bd30a0c
test(release): gate signed account reports
2026-07-23 02:31:43 -07:00
lili
5ad0d26daa
fix(release): pin dogfood trust boundaries
2026-07-23 02:30:36 -07:00
lili
0551b3552f
fix(release): close final dogfood safety gaps
2026-07-23 01:43:41 -07:00
lili
ebd74a87ee
fix(release): pin staging runtime trees
2026-07-23 00:48:19 -07:00
lili
68f8b4fa86
fix(aigc): bind callback artifacts before completion
2026-07-23 00:45:25 -07:00
lili
3d928c4f8c
fix(dogfood-ops): bind evidence to wave windows
2026-07-23 00:42:58 -07:00
lili
f7d0942ab6
feat(project): bind runtime artifacts to versions
2026-07-23 00:42:40 -07:00
lili
9fb669c4fa
fix(release): secure dogfood provisioning transaction
2026-07-23 00:41:34 -07:00
lili
20dd705fac
fix(dogfood): close quota and trade race gaps
2026-07-23 00:26:11 -07:00
lili
c454610183
fix(security): reject forged staging identity headers
2026-07-23 00:23:15 -07:00
lili
8570d9b620
docs(ops): record dogfood account seed
2026-07-23 00:21:31 -07:00
lili
52aeab7a85
fix(release): verify and repair new-api user quota
2026-07-23 00:15:05 -07:00
lili
bfb0b08a68
fix(release): make permission checks portable
2026-07-23 00:09:05 -07:00
lili
beff6a7e27
fix(release): attach new-api SQL to docker exec
2026-07-23 00:06:42 -07:00
lili
b99f67f046
fix(release): await new-api provisioning visibility
2026-07-23 00:04:34 -07:00
lili
94d35f0b97
fix(release): accept canonical infra hostname
2026-07-22 23:56:53 -07:00
lili
761a34a121
fix(admin): remove default credentials from staging bundle
2026-07-22 23:51:45 -07:00
lili
2c28527526
test(release): remove readiness DNS dependency
2026-07-22 23:47:29 -07:00
lili
d48cc60bbf
fix(release): close staging activation safety gaps
2026-07-22 23:38:40 -07:00
lili
65aecc56aa
fix(release): harden dogfood identities and provisioning lease
2026-07-22 23:14:16 -07:00
lili
410d35dc64
fix(dogfood-ops): bind waves to durable runtime evidence
2026-07-22 23:06:57 -07:00
lili
34da791f26
fix(release): reconcile missing dogfood quota claims
2026-07-22 22:57:16 -07:00
lili
ce1b38bfb3
fix(admin): clear critical staging advisories
2026-07-22 22:52:49 -07:00
lili
14c374d12d
fix(studio): clear staging dependency advisories
2026-07-22 22:32:15 -07:00
lili
3bff0eefc3
feat(release): wire dogfood staging product flow
2026-07-22 22:23:19 -07:00
lili
af15ee1a32
feat(dogfood-ops): enforce fail-closed wave evidence gates
2026-07-22 22:13:07 -07:00
lili
7618a890ae
feat(release): gate dogfood RC and quota provisioning
2026-07-22 22:13:06 -07:00
lili
819522d752
fix(release): close dogfood security blockers
...
Make the dogfood security foundation self-contained, reject external runtime RPC writes, and bind publish state transitions with database concurrency controls.
2026-07-22 22:12:45 -07:00
lili
640d9268c0
feat(release): enforce dogfood publish safety loop
2026-07-22 21:37:43 -07:00
lili
926a0b4d4f
docs(cheap-gen): 在飞板同步——W-AXIS-V2 波2 已交,波3 重测基线在飞
...
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-10 09:22:32 -07:00
lili
8d851ea716
feat(cheap-gen): W-AXIS-V2 波2——取证契约退役+提示全加载链清洗,四门∧测试员为唯一验收链
...
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
79313bf2f4
docs(cheap-gen): 在飞板同步——W-AXIS-V2 波1 已交(考卷 9/9),波2 契约退役在飞
...
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-10 07:08:30 -07:00
lili
5bcaf6ac1e
feat(cheap-gen): W-AXIS-V2 波1——测试 agent 生产化+三路统一验收编排器+字段迁移
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
opus 执行位交付、主会话四步验收过(测试亲跑/红线 diff 亲读/硬证亲眼):
- playtest.cdp.cjs 生产版(§3 八件:DPR=1 playtest/1 坐标协议/坐标尺/落点回显/
同点硬提示/反早退/预算 14→24 随进展扩/fail 二掷显式 seed+清存档/图像自检
fail-closed exit=3)+ serve-and-playtest.sh;证据落 evidence/playtest/roll-N/
- cheap_verify:project_floor 四门投影(预筛权威唯一产地,绝不复用 harness 原生
verdict.pass)+ run_playtest(子进程/超时/记账/playtest.json 真相层/端口派生避
Chrome unsafe 5060/5061)+ run_acceptance 编排器(v2=floor∧测试员阻断/
shadow=旧口径+shadowV2Accepted 对照/v1=旧判定器;修复反馈只引现象段)
- 三路接线:cheap_studio/cheap_service_driver/cheap_modify 两档全改调编排器,
create 与 modify 单一验收标准
- §4 字段迁移:run-summary acceptanceVersion+playtest+floor 段、trace.playtest
additive(firstPlay 三字段镜像 ReadinessScorer 口径)、批账 floorPass+accepted+
acceptanceVersion(verdictPass 仅对照);result_out 三级取值(floor→verdictFull
投影→verdict.pass 回落)、gate_judge 续修触发器切四门、xtheme 同批;判定语义单轨
- §5 Java 读侧:ReadinessScorer 可玩性/firstPlay 优先读 trace.playtest,
GenMetrics 归因加 playtest/tester_degraded(向后兼容,未编译验证——本机无后端
构建环境,待 mini-desktop 构建窗口)
- genconfig/generation.yaml:acceptance.mode 三态(波1 灰度默认 shadow)+
playtest 旋钮(steps/二掷/超时/成本上限);judge 段未动
- 单测 32 项新增(二掷/图像 fail-closed/mode 三态/投影/现象分离/退出码/unsafe 端口)
验收:pytest 512 绿 + node 44/44(主会话亲跑);10 局考卷生产件重跑判对 9/9
(真坏 3/3 零放行、假阴 0/6,heritage-r4/puzzle-r1 二掷翻案、sb2 假超时根因=
Chrome unsafe 端口已修);Service E2E(w1v2-e2e1 shadow→v2 一发收敛)与 modify
回归(w1v2-mod1 ROUND_MS 60000→45000,src 与局内截图双证)真浏览器硬证;
总成本 ¥2.3。已知余项:真续修回喂环仅单测覆盖(波2 n=3 冒烟自然覆盖)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 07:07:08 -07:00
lili
8edb0ffa39
docs(cheap-gen): W-AXIS-V2 波0——SoT 修订 A1–A5 逐处落 + spike 资产入仓 + 在飞板登记
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
按已批 v2 plan(2026-07-10-001)附录 A 执行,生效语气统一「已裁定,随波 1/2 兑现」:
- 质量模型 SoT:裁定三四处(四门投影/测试 agent 证据链/同源边界修正——判定档切
MiniMax-M3 动因与兜底/tester_degraded 归因)+ 裁定一末句四门投影追补 + 裁定二
occupied/score 历史口径注记 + §2 表 L1 行/门类型消歧段/§3 总述/规范五/首局时间口径
- 验收门:§2.4 追加「便宜档消费口径 v2」段(F 归类坐实、首局门退役去向)+ 门分类段
与首局门段注记
- 运行时图说:护城河分层验收段 v2 终文 + 出题≠被考实质化修订 + §一概览 + C5/C6
两契约便宜档消费面退役注记 + driven 段 + §六 A11 modify 链切统一编排器注记
- spike 资产入 spikes/playtest-agent/(v3 脚本仓相对路径化 + 考卷终榜 jsonl +
10 局转写 + README 复跑方法/真相表/结论:真坏 3/3 全拦零假阳、2 假阴同源接地失手)
- 在飞板:07-09 三波 plan 收口移除(三波+n=5 基线全交),登 W-AXIS-V2 行(波0 ✅ 、
波1 待派)
验收:docs-gate 七检全绿;rg 复扫「五门/九门=验收」仅余两处已注记历史叙述,无活口径残留。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 04:40:41 -07:00
lili
85f48228cd
feat(cheap-gen): W-AXIS 波3 知识层补强+收尾——tsc 顾问门+recipes+暗资产接线+n=5 基线台账
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
- tsc 顾问门:typescript devDependency + tsc-advisory 测试档;顾问性(永不阻断),
金标 10 款零误伤抽验
- recipes/ 五篇高频场景索引(命中矩形/计时器/资产回退/场景机/结算演出,「抄这段形态
+头号病根」)+ littlejs-game-dev §0.5 卡壳就查接线
- 暗资产接线:plugin-capability-map(11 注入+1 取证+6 储备逐件裁定)+
engine-capabilities-brief(≤3KB 蒸馏)+ api.d.ts/game-host.d.ts 补插件指针;
三方一致性对账门 plugin-surface-gate.py(含 cwd 锚定修)挂 pre-commit+Gitea Actions
- hard_genre_batch 参数化(五品类 n=5 批跑驱动,checkpoint 续跑)
- n=5 基线台账入库(gitignore 例外 add -f,只入台账不入游戏产物):
wax-baseline.jsonl 25 局逐局记录(含判定仪器订正批注:cap1500 重判/图像盲 M3 重判,
只加字段零改值)——终数:操作口径 14/25=56%、质量口径 18/25=72%;
品类 narrative/heritage 5/5、trpg 4/5、puzzle/sim-business 2/5(缺口逐局有名有姓,
根因见 07-10 v2 plan §1);旧「80%/39%」口径正式作废存照
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 04:27:18 -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
dc89701fcc
feat(cheap-gen): W-AXIS 波1 真相层——turns 全文落盘+per-run 归档+evidence 清单化+failureLayer
...
治「真相层缺失」病根(历史上模型文本/工具返回/门反馈零落盘、失败 run 被同 gid 重跑
覆盖,归因只能建在聚合数字上):
- cheap_turns_sink.py:逐 turn 全文落 amgen-<gid>/turns.jsonl(模型文本/工具全参/
工具返回/门续修反馈);observe-only middleware、best-effort,接线失败绝不阻断生成;
CLI 与 Service 双路接线(cheap_run/cheap_service_app)
- per-run 归档:同 gid 重跑前工程整体归档 _amgen-archive/<gid>-<ts>/,失败现场不再被覆盖
- evidence 清单化清理:按白名单保留,跨 run 残留(旧截图/旧 verdict)开跑即清,防证据串局
- failureLayer 三层归因:run-summary 落 generation/gate/gameplay 失败层字段,
聚合报表可分「生成没跑完/机械门挂/玩法层拒」
主会话亲验:两局真跑归档 179KB、turns 含门反馈全文;pytest 新增三个测试档全绿。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
5d0f351050
docs(cheap-gen): W-AXIS 波0 文档批——诊断档+SoT×4 修订+两份 plan+策展层勘误
...
2026-07-09 创始人方向性质疑经五路审计坐实,正式推翻两个历史结论(80% 天花板=口径混淆
+stripCode 污染;玩法坏死主因=判卷合约缺口误标),病根三条=判定语义膨胀/判卷合约反噬/
真相层缺失。本批为纯文档批:
- 诊断档 docs/brainstorms/2026-07-09-生成线harness方向性诊断与换轴方向.md(人审版)
- SoT 修订×4(双评审修入、docs-gate 绿):质量模型裁定三(L1 双证据=机械预筛∧独立模型
玩法判定,fail-closed+金标校准)/图说护城河改「分层验收」/验收门 §2.4/AGENTS.md §3.1
- 执行版 plan×2:07-09 三波换轴 + 07-10 验收v2(测试agent替E/G/H,创始人已批,
含附录A SoT 修订逐字终文与波0-3 工单拆分)
- 策展层定点勘误:tech-decisions/三份生成线 skill 追加 2026-07-09 勘误注记(过九门
自此只算机械预筛),feature-design-doc 固化「人审版=brainstorm/SoT、执行版=plan」定位
- 在飞板登记 W-AXIS
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
1c4d5838ec
fix(cheap-gen): 撤写锁·全放开 + max_tokens 512K——创始人纠偏 + 浏览器验收坐实
...
创始人 2026-07-08/09 两次纠偏,各揪出一个写锁法漏的真根因:
① 浏览器验收:写锁 core.js 致「榫卯」brief 出「陶艺」游戏(主题漂)——规范应是文件位置
+ 绝对通用 plumbing(L1_FIXED 已锁 host-config/game/index/entry/main),不该把模型限死到
只改几个文件(只改几个文件游戏做不好玩、切不中题)。→ 全撤 write_whitelist,game-logic/
core/render/assets 全放开,模型自由做好玩切题游戏;截断类失败靠 harness 门兜不靠锁。
② max_tokens:实测 M3 单轮能输出 17000 tokens/finish_reason=stop、accepts 40K/512K 无报错
——16K 是自设限非模型限;cheap 走 OpenAI inline thinking(thinking 吃 output 额度)致大文件
整写截断(heritage 黑屏/thrash 病根之一)。→ genconfig max_tokens 16K→512K(统一上限,可调)。
浏览器验收 it8(不锁+stripCode修复+足量token):heritage=榫卯工坊·直榫凳·选料→画线→凿卯→
修整(切题修好);action=撞了得分535·1771米·翻转30(坏死修好);trpg=已清9层3次升级(死锁没了+
内容更全);全 1-2 attempts 无 thrash。残余 idle-sim「↑NaN」(render.js:164 upgradeCost=NaN,
模型数值 bug,待修)。build_reskin_system_prompt 撤锁后未用(留待清理)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
8f2ca254ad
docs(agents): §6.13 硬约束——工具输出只是参考不是事实,最终产物必须真浏览器验收
...
创始人 2026-07-08 定:任何工具/harness 判定(check.ok/九门 verdict/smoke/lint/bright 等)
只作参考、绝不当事实——会假阳也会假阴。当日 stripCode 遇字符串内 // 致 check 假阴性误报红线
缺失(模型写对却被反复拒到熔断)、九门也放行过秒死/存档刷分坏死游戏,双向坐实。故:每个最终
产物必须真浏览器打开、亲看亲玩、截图硬证验收;失败根因下钻到具体代码/数据/配置,不停在「工具说」。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
69307df8a5
fix(cheap-gen): 修 check 假阴性——stripCode 字符串内 // 致级联误抹真代码
...
n=5 跨主题验证 trpg-cyber 失败根因坐实:赛博主题文案用 '> JACK IN // FLOOR 01' 这类
字符串内含 //。旧 stripCode 用 5 条独立正则(先剥行注释、再剥字符串),字符串里的 // 被
行注释正则误当注释、吞掉闭合引号 → 引号失衡 → 后续字符串正则跨行匹配 → 级联误抹 169 行真
代码(bundle.tick/_forensicsView/handleTap 一起抹)→ check 误报三红线缺失 → 模型明明写对
却被反复拒 → thrash 到步数硬顶熔断、烧 ¥13.84 失败。
根治:stripCode 改单遍左→右状态机(码/行注释/块注释/单引/双引/模板 六态),同一时刻只一种态、
嵌套的 // 与引号各归其态绝不越界——「注释与字符串互嵌」词法问题唯一正确解。逐字节保长、换行
保留(红线行号定位不变)。影响面广:任何 game-logic 字符串含 //(URL/路径/N//M/科技赛博文案)
都触发假阴性,部分历史失败率实为此 bug 冒充模型质量差。
验证:trpg-cyber check.ok false→true;heritage/narrative 无回归;amodel-gen 35/35 绿
(check-banned 加 2 条 //-in-string 回归守卫)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
c8a15db349
feat(cheap-gen): 轻A 参数化收敛——create 路 per-genre 换皮写锁,模型只写 game-logic
...
n=5 收敛环第一性坐实便宜档失败主根:模型被放任重写引擎文件(render/core),大文件
整写截断丢导出→黑屏(heritage 坏死)、自造楼层推进死锁(trpg)。根治=生成面收窄:
create 路 route 命中 per-genre 黄金模板时,write_whitelist 物理锁 render/core,模型
只据 brief 换皮 game-logic.js(+assets.js)。机制早存在(write_whitelist 只用于
modify、6 个 per-genre 完整可玩模板已建),只差 create 接线。
- cheap_roles: build_reskin_system_prompt(引擎锁死、只写 game-logic 语言,镜像
build_modify)+ SCAFFOLD_DESC_BY_TEMPLATE(5 品类换皮描述)
- cheap_studio: run_studio 据 write_whitelist 自选换皮/通用提示
- cheap_service_driver / hard_genre_batch: create 路 route 命中即写锁 game-logic+assets
it5 验证:heritage bright 0→178812、phase menu→play(真修好);trpg H_progress
floor→6 登顶(死锁消失,生成码天赋分支补了 dealFloor);写锁逐字节生效(render/core
与模板相同);未锁对照组(idle/action,无品类模板)仍坏死=证明是锁起效。
route_genre 覆盖 4 类,idle-sim/action-physics 无模板=已知覆盖缺口(round-2)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 04:27:17 -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
9bd428040f
fix(cheap-gen): 死圈修复 fix①-B 重实——改挂 resume 续修层(on_acting 版无效)
...
n=5 收敛环 iteration 3 坐实:上一版 fix①-B(on_acting 拦截畸形参数)日志 0 触发=无效。
源码核实根因:AgentScope _agent.py:1376 jsonschema.validate 失败 → _handle_error_tool_call
→ return(Step1),在 Step3 工具执行/on_acting 钩子之前,故畸形调用【根本不进 on_acting】,
上一版是死代码(单测 mock next_handler 吐错误、但线上错误不经它)。已 revert。
重实挂到真能触达 agent 的层:cheap_studio resume 续修循环 wrap writer.reply,catch
Tier2CircuitBreak——【仅 missing-param 类 stuck】(reason 含 'is a required property'=MiniMax 漏
必填 path 撞满阈值)不当终态杀,还有 resume 预算 + 未越 ¥ 软停就带贴脸补参反馈续修(与 gate-fail
resume 同机制、跨 reply memory 保留=原地续修)。只清 stuck 连击计数(_fail_repeat/_last_fail_sig,
不动 spent_rmb/tool_calls 防误清预算);非漏参 stuck(反复 check 红线/build 编译错=真死圈)/budget/
其它熔断照旧向上抛终态、不放行。整环验证随 n=5 re-run(iteration 4)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
e4e4e23564
Revert "fix(cheap-gen): 死圈修复 fix①-B 便宜档畸形参数纠偏——n=5 收敛环坐实 heritage 死圈复现"
...
This reverts commit 26f94f1f0b9137b342c0d37c1f7583d0f03e4369.
2026-07-10 04:27:17 -07:00
lili
3c0c105aeb
fix(cheap-gen): 死圈修复 fix①-B 便宜档畸形参数纠偏——n=5 收敛环坐实 heritage 死圈复现
...
n=5 收敛 loop iteration 2(难品类)复现死圈:heritage 局 stuck 终杀,签名=连续 4 次
write_file:'path' is a required property——MiniMax 长参数下漏 write_file 必填 path,agent
收默认校验错不理会、反复漏同参 → 撞满 stuck 阈值(4)→ 九门从未跑 ok=False。fix①-A 给了
edit 替代但没阻止 agent 选 write_file 漏 path,故 fix①-B(此前押"证据门")现证据到、实现。
修:CircuitBreakerMiddleware.on_acting 非软停态给「漏必填参」的 write 类工具结果追加一条比默认
校验错更贴脸的补参提示(催补 path / 改 edit_file 短载荷),让 agent 撞满 stuck 前出圈。
经既有 _augment_toolresponse(<system-reminder> 追加,agent 下轮读得到)+ on_acting 洋葱钩子,
符合设计不自造机制。cheap-only(enable_malformed_correction,cheap_budget 工厂置 True;tier2
默认 False、逐字节零行为变化);不重置 stuck 计数(仍漏照常熔断,上界由现有阈值封死、不新增无界重试)。
测:test_malformed_correction 4(cheap追加/tier2零变化/非漏参不追加/非write工具不进)+ tier2
回归 test_circuit_stuck_signature 5 + test_repair_middleware 5 = 14 passed。整环验证随 n=5 re-run。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-10 04:27:17 -07:00
lili
c2a86b3a02
feat(polaris): 《山海巡异录》③首页下半补完——scrim 放出山水金乌+主按钮册页托+CTA 加重
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
创始人真机眼验:表现层二轮③首页只消化上半,下半四主按钮(启程/每日一巡/图鉴/成就)仍黑底金边方钮、整屏死黑。死黑真因=上轮 scrim 0.5 把 bg-scene-02(金乌·苍岭·云海亮国风画)压死、四按钮又落偏暗青黛山峦区读成黑底方钮;现 scrim 0.5→0.3 放出山水金乌整屏即国风底,描金屏框+四角云纹装裱成卷轴,四主按钮落浅米册页卷轴托成组、启程出巡 CTA 朱漆+描金外飘框与次级拉层次,副标加墨条背衬保 scrim 降后可读性;computeHomeTargets 靶位未动。home-drive displayCount 50→58、scene-smoke 全绿、esbuild EXIT=0。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-09 00:51:34 -07:00
lili
d4cb740a86
docs(creds/ops): 补 dev 栈 HMAC 回调密钥入档 + 修 staging-ops 过时"secret 空"claim
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
AIGC_CALLBACK_SECRET=e8aab273…(32hex,Complete A 起已配、env 文件持久化)此前只在 mini-desktop
huijing-dev.env、未入仓凭据档(§9 缺口);staging-ops §100 还写着"空(验签关)"是过时。补凭据档
可复现副本(两端逐字相同=验签开、空=内网可伪造回调内测必须非空)+ 校正 §100 为非空 + 补 quota flag。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 07:57:21 -07:00
lili
231b17194a
fix(cheap-gen): new-api 额度耗尽真机探测揪出误判——401+「额度已用尽」修为 quota_exhausted
...
内测开放项真环境探测(2026-07-08,dev 栈恢复后):建 remain_quota=0 测试 token 打 new-api
/v1/chat/completions,坐实 new-api 对额度耗尽返 HTTP 401 + message「该令牌额度已用尽
!token.UnlimitedQuota && token.RemainQuota = 0」——非代码假设的 402/403,且关键词只认「额度不足/
insufficient」漏了「额度已用尽」。旧 classify_newapi_failure_reason:401→llm_error(可重试)、
关键词不匹配 → 把耗尽误判成可重试 → 反复重试到 15min watchdog 超时,而非干净"额度用尽"。
修:message 额度关键词优先(含实测「额度已用尽」「RemainQuota = 0」),401 不再无脑判 llm_error
(401 与凭据失效重叠,按 message 分辨:耗尽→quota_exhausted、真凭据失效→llm_error 可重试);
402/403 保守保留判耗尽。删代码 §3.9【阶段2 待验】TODO(已真机坐实)。新增真机 401 回归用例,
26 测过。正是代码自带 TODO 与「真环境>桩」要抓的:桩测永远发现不了 new-api 用 401 不用 402/403。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 07:52:57 -07:00
lili
520238de55
docs(creds): 补 new-api 预置池 provision 凭据(创始人点名不可逆项收口)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
WU2 内测 per-user ¥100 走离线预置池,ops 脚本 newapi_pool_provision.py 建/补池必直连
new-api postgres(S0 实证 admin 不能替他人建 token),但所需 NEWAPI_PG_PASSWORD 此前只在
脚本 docstring 引「见凭据文档」、实际未入档(PostgreSQL 行标"按需补")=悬空引用,池空补不了。
从 mini-infra 权威取并实测:new-api 库超级用户=root(非 postgres)/口令 f6710…bc54,
docker exec -e PGPASSWORD infra-postgres psql -U root -d new-api 可连,2026-07-08 池水位
11 条可用 token。填 PostgreSQL 行真值 + new-api 段补 provision/补池指引 + NEWAPI_ROOT_TOKEN
选填说明。docs-gate 七检绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 07:27:45 -07:00
lili
ed3d8a9a5d
feat(polaris): 《山海巡异录》表现层二轮——奖励屏爆字闸+首页国风化+手牌卡面补描述+职业名统一
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
创始人真机眼验批①③④⑧。① 奖励横幅被战斗结算爆字(delay~1600ms、depth60)压住;新增 BATTLE_ONLY_FX 闸+onBattleScreen(),离战屏抑制战斗结算类演出,过场/奖励/商店类照播。③ drawHome 套 skin 皮肤基元(山水底/卷轴题头/五行相生珠带/职业卡遗物徽记/册页托),去黑底金边方钮,靶位 computeHomeTargets 未动。④ 手牌卡面下半空白根因=battle-core handCards 投影漏 text 字段;补齐+cardFront 下半重排(元素分隔线/描述铺满/脚注)。⑧ 战斗 HUD+地图英雄名去硬编码「巡异使」、统一取 CLASSES[heroClass].name 与首页同源。scene-smoke(home 显示~20→50、battle=42)+battle-core.test 双门 EXIT=0。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 04:35:44 -07:00
lili
4a2f782a9d
feat(polaris): 《夜市一条街》表现层二轮——弹层期抑制世界飘字+灶台案板让出街景
...
创始人真机眼验批②⑦。② Hud 新增 _floatMuted 闸(飘字 depth=100 高于研发/图鉴/日结弹层部件≤94,照绘会压菜谱列表);MainScene.update 按弹层 open 态每帧驱动,仅抑制被动世界飘字/飘心,dock 主动「不行」反馈在 drainFx 循环外触发不误伤。⑦ STALL 操作台 330×120→300×72 矮案板让出中上部街景消失点;STOVES 灶台坐标未动、service-loop 用 index 非坐标,招牌 y 与案板高度解耦。logic-smoke(M0+M1+M2)+build 双门 EXIT=0。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 04:35:44 -07:00
lili
a9c0367f6d
feat(polaris): 《山海行纪》表现层二轮——地面弃水岛主铺治重复+暂停空槽降重
...
创始人真机眼验批⑤⑥。⑤ drawGround 病根=base 段(0-15)本是水面小岛母题、满铺=规则重复小岛;改大尺度分区选帧(~40%青绿矿岩32-47/余深岩16-31穿插)+按位翻转+drawGroundShade 极轻云影+装饰补至8种加密,弃水岛主铺。⑥ drawSlotGrid 空槽改极淡底+虚线边+drawLockGlyph 锁形微标降重、已填略实突出。render-evidence fellBack=0(tiles/panel 真接线)、build-report 首屏 350702B PASS、headless-smoke S1/S2/S3 零回归。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 04:35:44 -07:00
lili
462946518f
docs(mvp): 内测A段文档账校正——退役过时误建 plan + 07-07 三档对齐已建地面
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
内测 A 段(WU-1/2/3)代码上会话 Complete A 已全量实现并合入 dev/2.0.0(三 opus 子代理
读码坐实)。本次理账,不重复产设计门:
- 退役误建的 A 段 plan(39c64712):其框架把已建当缺口、§4 抄了创始人 S0 否决的旧路
(运行时管理 client 开户,实际落地是离线预置池)。07-07 三档 + tech-decisions 才是 SoT。
- WU3 07-07 档校正实例归属:全篇共享 muse :18080 → game 专属 :28080(创始人 workspace
分离约束),加 2026-07-08 校正横幅,凭据见内网端点档;端口 :28080/:28443/plugin :25003。
- 三档 status 草案 → 已实现,附各自实现 commit;WU2 显式记「落地=预置池、非否决的管理 client」。
docs-gate 七检绿(退役 plan 后 G7 谱系仍达 canonical——三档挂 MVP作战清单)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 03:28:38 -07:00
lili
39c64712d4
docs(mvp): 内测上线闭环 A 段 plan——三 WU 缺口+创始人四决策+dify 专属实例修正
...
港 breezy 仓外调研前身进仓(六项并行读码坐实),作阶段0 三设计门的共同上级(谱系锚)
与决策留档。上级→16周主计划(canonical),docs-gate 七检绿。关键修正:dify 从共享 muse
:18080 改为 game 专属实例 :28080(创始人 workspace 分离约束,凭据已落内网端点档)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 02:45:55 -07:00
lili
182b3680dd
docs(gen): 便宜档死圈修复执行进度——工具层四修全落+回路成环证,剩 n=5/fix①-B 证据门后置
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
fix①-A(596ea136)/fix②-prompt(596ea136)/fix②-check(b63fd1b8)/fix③(8f700c4b)+回路
集成证(29da2373)全落,24 单测绿。剩 n=5 真环境收敛环(同时是 fix①-B 是否需要的证据门)
与 fix①-B 共享熔断纠偏(证据优先,不投机先改共享代码),均非内测阻塞。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 02:32:17 -07:00
lili
29da237307
test(cheap-gen): 死圈修复外科修复回路确定性集成测试(fix①-A × fix②-check 成环)
...
n=5 收敛环的确定性内核(不含大模型,只证工具能组合成环):scaffold 合规起点 → 注入一处
裸 Math.random(模拟模型自造回退)→ check 经真 node tools.mjs 报「红线 + 确切行号 +
edit_file 补救指向」→ edit_file 精修那一行 → check 红线消失、整体回 ok=True。
证的正是死圈出口:过去=产物带违规 + 只有整文件覆盖 write_file + 报错无行号 → agent 整文件
重写、漏 path、连撞熔断;现在=报错点名到行 + 给 edit_file → 一行精修即出圈。「大模型会不会
照做」交真环境 n=5 收敛环。1 测过(scaffold→inject→check→edit→check),exit=0。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 02:28:51 -07:00
lili
8f700c4b42
fix(cheap-gen): 死圈修复 fix③ brief 落 evidence/brief.json 供根因取证
...
问题:一局 brief 原只内联在 run-summary.json,收口末尾才落——run 硬失败/挂死(如熔断
os._exit)时收不了口、brief 丢失,死圈根因取证断链;且无完整性戳、无限长策略。
改动(cheap_studio.py):scaffold 就绪后即调 _persist_brief_forensics 落
game_dir/evidence/brief.json,字段 {brief(限长)、bytes、sha256、truncated、promptMax、source}:
· 早落——硬失败/挂死也留得下,取证不断链;
· sha256/bytes 按【完整原文】算——核 worker 收到的 brief 与后端下发字节一致(查是否 brief
被截断/篡改害翻车),截断不掩盖完整性核对;
· 超 PROMPT_MAX=1000 截断 brief 字段 + truncated=True——脱敏 + 防超长撑爆;
· 落 evidence/(forensics,不随 src/ 进素材市场交易),【绝不】落工程根——源工程会被交易、
brief 是用户私有输入,不得泄进可交易源;
· 非阻塞铁律:落盘任何异常只告警、绝不咬生成主链(try/except 兜底)。
测:新增 test_brief_forensics.py 4 测(落 evidence 非工程根/字段齐 + sha256 按完整原文/
超长截断但摘要仍完整/空与 None 非阻塞),+ 回归 test_edit_file_toolkit 6 测,pytest exit=0;
cheap_studio import smoke 通过(import hashlib + 接线未破坏加载)。
待续(本计划剩项):fix①-B 共享 tier2 熔断窄口径纠偏(最险,另做)、n=5 收敛环。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 02:23:36 -07:00
lili
b63fd1b8f7
fix(cheap-gen): 死圈修复 fix②-check 红线报错带确切行号 + edit_file 补救指向
...
问题:红线判定原只输出正则 source(如"禁用 \bMath\.random\("),agent 拿不到
行号、要靠整文件重写去猜改哪行;且旧 stripCode 把跨行块注释塌成单空格,若据
stripped 串算行号会漂。这正是死圈触发面之一——报错越模糊,越逼 agent 整文件重写。
改动:
· stripCode 改为"内容抹成等量空格、保留换行":结果串与原文行号一一对应,
长度不变且不误匹配(空格非 \w/`.`),既有 5 处调用点(形状门/API 门/结构门)语义不变。
· 抽出可测的 _bannedLineErrors(rawSrc, f):整串正则做权威判定(不漏 \s* 跨行写法),
逐行定位命中行号(1-based、最多列 10 处),报错带"红线 X 第 N 行 + 用 edit_file
改回 ctx 形态、别整文件重写";函数内回退/typeof 守卫后的裸调、任意嵌套照样命中。
· check 第3节红线块改调 _bannedLineErrors(同 _shapeGateErrors 抽法)。
测:新增 check-banned.test.mjs 7 测(行号正确/跨行块注释不漂/多处逐行/typeof 守卫
后仍命中/注释字符串零误杀/合规零报)+ 回归 check.test.mjs 8 形状测 + check-undef,
33 pass 0 fail 0 skip,exit=0(stripCode 改动未破坏既有门)。
待续(本计划剩项):fix③ brief 落 evidence、fix①-B 共享 tier2 熔断窄口径纠偏、n=5 收敛环。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 02:19:56 -07:00
lili
596ea13666
feat(cheap-gen): 死圈修复 fix①-A 增量 edit 工具 + fix②-prompt 克隆纪律/check-early
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
死圈根因(双评审坐实):产物带小红线违规→check FAIL→agent 想修但只有整文件覆盖的
write_file→改3行变重写22KB→MiniMax 漏 path 连撞→stuck 熔断→九门没跑→ok=False。
fix①-A:cheap_run.edit_file(读现文件→校验 old 唯一命中→精确替换→经 write_file
回写继承 L1_FIXED/game_dir 保护)+ cheap_toolkit edit_file 工具(whitelist 把关)注册进
七工具面;edit_file 加入软停 blocked-tools(middleware.py,越软停线同 write_file 拦)。
edit 自身失败面(old 未找到/不唯一)给结构化提示。6 单测(命中/未找到/不唯一/L1拒改/
越界/缺文件)+ 现有 toolkit 8 测全绿。
fix②-prompt(cheap_roles.py):① 工具清单纠正为七工具、明确 edit_file 小改优先(修
之前"没有 edit_file"的错误引导——否则 agent 不会用新工具);② 克隆纪律"rng/nowMs 照
_template 逐字克隆、禁自造 Math.random/Date.now 防御回退、check 函数内裸调照拦";
③ check-early"先写最小核心→立即 check→edit_file 修红线→再扩玩法"。
待续(本计划剩项):fix②-check 报错行号(tools.mjs)、fix③ brief 落 evidence、
fix①-B 共享 tier2 熔断窄口径纠偏(最险另做)、n=5 收敛环(ok=True 判据)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 01:46:22 -07:00
lili
d9660c8ef1
docs(gen): 便宜档死圈修复计划过双评审并校正(Codex+Opus 收敛修计划后执行)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
两审独立坐实根因链、收敛「修计划后执行」。纳入发现校正三处:
① fix② 前提错(实测 _template rng 本就合规 ctx?next():0、无 nowMs,违规是模型
自造)→ 从「改模板」重定向到 check 报错点破规则+提示层克隆纪律+check-early(更上游);
② 阻塞判断纠正:实测真过门率 9/23≈39%(初版把「跑到门 83%」当过门),死圈只是多种
失败模式之一,三修到不了 80%,80% 缺口(E/G/H 玩法正确性)属另一工作面;
③ fix① 边界钉死:edit 走 read→apply→cheap_run.write_file 继承 L1/L3+whitelist、
不触发 check、加软停 blocked-tools;纠偏仅 schema 缺字段/不重置 stuck 计数/cheap-only
别改坏共享 tier2 熔断;edit 自身错配纳入纠偏。fix③ 落 evidence 脱敏(源工程可交易)。
验收改 ok=True 收敛(非「跑到门」)+ 预置违规 fixture。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 01:08:46 -07:00
lili
47f0f404e1
docs(gen): 蒸馏便宜档生成死圈失败模式 + 修复计划(不阻塞内测)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
根因实证(amgen-dify-9da8f701):小红线违规(rng/nowMs 裸 Math.random/Date.now)
→check FAIL→agent 正确想修但六工具面无增量 edit→改3行变重写22KB→MiniMax 反复
漏 path 参数→连撞4次 stuck 熔断强杀→九门没跑→ok=False。品类跑偏真但非因(对照
dify-1783477578 同动作类 brief 成功改出 Shmup);读多写少是常态非杀手。
蒸馏 cheap-model-game-generation.md §11(失败模式+非根因清单+可追溯缺口)。
计划 2026-07-08-便宜档生成死圈修复(上级=便宜档M3 cutover):fix①增量修改工具+
畸形参数纠偏(最高杠杆)/fix②模板 rng/nowMs 默认合规+check 报错指行/fix③ brief
落盘。阻塞判断:不阻塞已交付 A 段、非内测 beta 硬阻塞(死圈少数模式+飞轮迭代),
归便宜档质量线排期 fix① 优先。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-08 00:35:58 -07:00
lili
b9d73ae3c7
spike(dify): WU3 形态A 真建成跑通——game 专属 dify 实例 + workflow 导入发布返 202
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
原计划建进共享 muse-dify 遇两阻塞:①muse 锁单工作区+create-tenant 抛错 ②HTTP
节点经 ssrf_proxy 打内网 worker 被 deny to_private_networks 拦(muse→:9501 实测403)。
创始人拍板给 game 单起隔离实例:独立 compose(game-dify)+错开端口(28080/28443/25003)
+独立卷+新 SECRET_KEY,自有 ssrf 模板放行 gen worker,muse 零受扰(仍403)。
导入 DSL(0.1.5→0.6.0迁移完好)+发布+真跑:HTTP节点succeeded/worker返202/
worker日志'受理(202) userToken=<none>全局key回落'。凭据档回写 game-dify 端点+登录+
headless token 签发法(RSA/CSRF 绕过)。spike README/DSL 更新为已验证态。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 22:08:33 -07:00
lili
87b0c085b7
spike(dify): WU3 游戏开发节点形态A 搭建配方 + DSL 骨架 + ssrf_proxy 阻塞留痕
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
能力已证(直连 :9501→202→agentscope 真跑);但实测坐实 dify HTTP 节点经内建
ssrf_proxy(squid)出网,deny to_private_networks 拦掉 100.64/10 → 打 :9501 返 403。
两个创始人门:①放行 ssrf_proxy 到 worker 端点(共享基建+安全姿态,附最小侵入 squid
例外+回滚)②dify console 登录(凭据档缺,须创始人给)。含握手级超时/dify- 前缀去重/
budget 死字段/隔离靠专用栈等读码红线。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 20:34:02 -07:00
lili
7e7ac272b2
docs(agents): 蒸馏内测闭环 A 段——new-api per-user 额度预置池 + S0 硬约束 + facade HMAC
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
tech-decisions §16:额度不自建钱包对接 new-api per-user 配额;S0 实测 admin
令牌不能替他人建 token(user_id 忽略/access_token 不可 API 写)→ 预置池 CAS claim;
生成计费以 new-api used_quota 为权威(worker 自估偏高);注册防枚举固定假 BCrypt
同码路 + fail-open IP 闸;facade 回调空 secret=可伪造 → 两端 HMAC-SHA256 验签。
README 索引行同步。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 20:26:25 -07:00
lili
210ce70160
merge(neice): 内测闭环阶段1 integration 并入 dev/2.0.0
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
WU1 注册登录(用户名+密码/无短信/网关IP限流/防枚举/outbox)
WU2 new-api per-user ¥100 额度(预置池 claim/job userToken 位/per-user 门/quota_exhausted)
WU3 dify 形态A 游戏开发节点设计 + ops 池预置脚本
全 opt-in 默认 off(AIGC_NEWAPI_QUOTA_ENABLED / wanxiang.passport.password-auth-enabled)。
阶段2 dev 真机全环 e2e LIVE 反假绿。dev 前进 36 文件与本支 57 文件零交集。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 19:34:15 -07:00
lili
a54ba9bb42
docs(neice): 内测闭环三份设计档(WU1注册登录/WU2 newapi额度预置池/WU3 dify节点) + ops 池预置脚本
...
阶段0 三份 feature-design-doc 过对抗双评审+主控终审;WU2 按 S0 实测改预置池机制。
ops 脚本离线预建 new-api user+token+¥100 灌 game-cloud 池表。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 18:05:00 -07:00
lili
d91d857c17
feat(polaris): 《夜市一条街》厨房音效 CC0 真采样——6 事件换公有领域采样(创始人拍夜市采样)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
创始人拍夜市 SFX 走 CC0 真采样(烤肉滋滋/收银声真录音比合成贴)。7 个真实世界 foley 事件:6 换核验过的
CC0/公有领域真采样、1(切菜 chop)如实退回合成(无干净 CC0、Commons 搜空/freesound 要 OAuth,不硬凑)。
采样(逐个机读 Wikimedia Commons license 字段核验、下载+定稿两次复核,只收 CC0/PD 弃 CC-BY/CC-BY-SA):
烤肉滋滋 sizzle(PD)/收银钱箱 cash(PD,选硬币落金属钱箱真声)/金币叮当 coin(PD)/下单铃 bell(CC0)/
顾客满意 applause(PD)/失败差评 buzzer(CC0);curl 直下→ffmpeg 裁≤2s 单声道淡入淡出→mp3 96k,共 106KB。
授权逐文件留痕 assets/audio/sfx/manifest.json+批次二音效CC0采样台账.md(clean-room/备案证据链)。
接线:采样懒加载(首手势后 decodeAudioData 不进首屏)、缺文件/解码失败/node 无 fetch 逐事件回落合成不崩。
证据:回归 logic-smoke 95/tree-check 15/单测 30 零倒退+两本账不破门(总 4.336MB≤10MB/首屏 1.13MB 一字不差、
采样懒加载不计首屏);成本 ¥0。真播听感待 mini-desktop 窗口人耳评。抽象/UI/设计音 20 类保留合成。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 17:41:39 -07:00
lili
cccedd9ac5
docs(polaris): 表现层精致化波台账——割草美术接线 bug 修复+三款 UI 去方框+内容音效
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
创始人验玩批三条(割草没渲染/UI 方框/音效芯片音)优化收口:割草修美术未接线真 bug(0cd53b5d)+夜市/卡牌
UI 去方框接真美术(b4a6956b/c931ea41)+三款音效去芯片音;音效路线拍山海合成+夜市采样,夜市 CC0 采样补齐在飞。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 17:17:27 -07:00
lili
c931ea4181
feat(polaris): 《山海巡异录》表现层精致化——UI 去方框(青绿卷轴)+国风器物音效
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
创始人验玩批 UI 方框/音效芯片音。关键发现:UI 帧(ui-frame/bg-scene)此前生成却零接线、run-scene 全 graphics
方框=方方正正根因。新建 skin.js 青绿卷轴皮肤基元单源(真素材优先+程序兜底+node 安全),run-scene 全屏改绘:
满幅山水背景/稀有度册页卡框+描金费珠/卷轴 HUD/灵力宝珠/五行链轴珠+相生脉动/敌区名号匾额+意图徽/三漆色钉角按钮/
铜章地图节点/册页奖励商店图鉴成就;动效=出牌飞行灵符/周天金环放射×3+满屏金闪/奖励回弹/终局弹入,既有 juice 保留。
生成 4 件 UI chrome(锚 r1 抠透明落 assets/ui/ 376KB:宝珠/铜章/匾额/横条)缺件退程序绘制。内容音效:
sfx.js 单振荡器升国风分层合成(磬/钟/铃/古琴拨弦/鼓膜/木鱼六音族对齐山海器物),链环八级五声音阶保留换三泛音磬音。
证据:八门+手感门 42 断言全绿+数值 CI 金标 52.0%(漂移-0.5pp);scene-smoke 绘制对象 map=54/battle=42(原~20)
=去方框硬证;CDP 探针音频节点 0→osc2/noise1/filter1。核心数值文件未动。音效路线=山海合成(符创始人拍)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 17:15:39 -07:00
lili
b4a6956bdb
feat(polaris): 《夜市一条街》表现层精致化——UI 去方框(暖夜霓虹设计系统)+内容音效
...
创始人验玩批 UI 方框无设计/音效芯片音。新建 ui-kit.js(347 行程序化设计系统零字节)去方框改造 5 界面:
HUD(金币/声望/口碑/时钟图标 chip 化+数字滚动+圆头进度条+光泽药丸加速钮)、dock 四页签(木牌光泽 chip+
图标+红点徽章+禁用态)、弹层(研发/图鉴/成就=木质金边面板+霓虹标题+圆角卡片+药丸按钮三态+分页+弹入缩放)、
日结面板(木质金霓虹边+图标药丸钮+scrim)、点单气泡(带尾对话泡+金边);动效=数字滚动/弹层缩放/按压/满意飘心/
事件霓虹横幅。内容音效:sfx.js 从 ZzFX 芯片音重写为分层 foley(27 类)覆盖烤肉滋滋/切菜/下单铃/进账收银双铃递进/
顾客满意/连击/研发解锁/失败。真机 CDP 揪修两真渲染 bug(fillGradientStyle 在 SwiftShader 黑→实色分带修/
dock close 漏销 _listParts 串影→补销)。
证据:mini-desktop 真浏览器 CDP 九门+富三门 decision=accept;回归 logic-smoke 95/tree-check 15/单测 30 零倒退;
两本账零字节新增(首屏 1.13MB/总 4.23MB 持平)。**音效路线创始人拍夜市走 CC0 真采样**(本席合成为过渡,
CC0 厨房 foley 采样补齐另单)。evidence/dist 不入库。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 17:15:39 -07:00
lili
0cd53b5d30
fix(polaris): 《山海行纪》表现层精致化——修美术未接线真 bug+UI 国风化+内容音效
...
创始人验玩批中真 bug:美术图集入库但 render.js 零接线(117 处程序色块、0 真图)。修:
新建 art.js 图集接线层+atlas-frames.js 帧表(gen-atlas-frames.mjs 生成)+重写 render.js,主角/异兽/双 Boss/
符器弹道/符阵/拾取/tile/装饰全换真 sprite(裁剪补偿+朝向翻转),缺图回退色块+日志不崩;manifest 补 assets[]
宿主预载首屏(boss 页 1.03MB 懒加载)。UI 国风化:出击页接 vista 底+面板九宫格+按钮+描金选中,升阶三选一龙纹卡框
(canvas-ui-kit 零改),HUD 血球/Boss 条/摇杆接真图。内容音效:新建 sfx.js 分层 WebAudio foley 替 ZzFX 芯片音,
八配方(灵晶叮/击破碎裂/受击闷响/升级编钟/聚灵上扫/异象微光/Boss 登场威压/伏诛崩解)。
证据:render-evidence 注桩 drawImage=63〔tiles45/主角8/异兽/UI〕fellBack=0 零缺帧;CDP 四态截图真 sprite 在画;
音效结构测试 5/5(每音≥2 声源层非单振荡器)。回归:游戏 53/53+整库 269/269+三场景+压测 1.503ms+
包体首屏 349KB≤0.6MB+首图录证 D0/D1 与 M3/M4 逐值一致(表现层对 sim/meta 零偏移)+存档 13/13。
未竟:tiles 非无缝(3px 压接缝)/真声人耳评待真机窗口/CC0 采样路径预留(合成已足)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 17:14:37 -07:00
lili
7ecf016914
merge: WU1(后端+前端) 并入内测阶段1 integration
2026-07-07 12:47:07 -07:00
lili
e8f7dc8347
feat(worker): WU2 §3.7 worker 取 job.userToken + §3.9 额度耗尽/凭据失效分辨
...
per-user 额度按用户扣的最后一环:三 worker 入口从「读全局 env NEWAPI_KEY」改「优先
job.userToken、缺失回落全局 env key(WARN 脱敏)」;新失败因 quota_exhausted 干净失败。
§3.7 F(取 job token,默认关时字节不变):
- cheap_service_driver._resolve_key(user_token) 优先 per-user token、缺失回落 env+WARN;
drive_cheap_generation 从 job.userToken 取、透传给凭据体;token 日志脱敏(前后各 4 位)。
- worker_service 整 job(含 userToken)透传给 driver;do_POST 记 userToken 存否(脱敏)。
- wg1 _client.get_api_key/get_client/chat 支持 user_token override、回落 env(WARN 一进程一次)。
§3.9(分辨两类失效,one-api 惯例初值,确切 message 阶段2 待验):
- result_out 新增 quota_exhausted 入枚举 + _map_failure_reason 认 summary.failureReason +
classify_newapi_failure_reason/newapi_error_status_text(402/403→quota,401→llm_error 可重试)。
- cheap_service_app collector 崩溃路 best-effort 分辨 402/403→写 sidecar failureReason,
driver→result_out 落 quota_exhausted;凭据失效/其他维持 llm_error,纯旁路不咬生成。
- wg1 _client.chat 额度耗尽抛 NewapiQuotaExhaustedError(不重试);service.handle_job 映射
quota_exhausted。注:两 worker 主生成经 AgentScope 模型封装调网关,402 埋框架内,主路
额度耗尽分辨待阶段2 拦模型封装;本次覆盖直连 _client.chat 路 + cheap 崩溃路分辨。
自证:test_result_out 25/25、test_worker_service 17/17(stdlib 直跑);driver/wg1 token 与
分辨逻辑 standalone 断言全过;八文件 py_compile 绿。test_cheap_service_driver 需 pytest
(本机未装),已同步桩签名待阶段2 e2e 真验(per-user token 调网关/used_quota 按用户增/耗尽落 quota_exhausted)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 12:44:08 -07:00
lili
a069afb649
feat(aigc): WU2③ job userToken 位 + per-user 额度门(只对真实 member 生效)
...
dispatchGeneric 组 §6.1 job 时追加 userToken 字段(向后兼容,worker .get 忽略未知键)。
per-user 门只对真实 member 在线创作生效——按 creatorUserId 是否命中一行 game_player 分流:
- 无 game_player 行(系统/编排器/bake-off/admin 触发)→ 旁路:不查池不懒 claim,userToken
留空,worker 回落全局 key(不误伤 n=5 收敛环/批跑既有验证路);
- 命中 game_player 行 → 取其 CLAIMED 条目 token_key;无 CLAIMED 则派发线单 CAS 懒 claim
(纯 DB CAS 非慢外呼,派发热路安全),抢到就用、池空抢不到当次干净失败 quota_exhausted。
token 随 job 内网下发日志脱敏(仅留前后 4 位)。经 12 参构造软注入,主开关关或未接线=现行行为字节零变。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 12:22:14 -07:00
lili
4cf0e14ec3
feat(aigc): WU2② 注册 claim 消费者——消费 WU1 注册成功事件从池 CAS 绑玩家
...
WU1 afterCommit 发「注册成功」事件(topic passport-register),本单作其消费者,不进注册
事务:渠道过滤(只 password/invite claim,sms/sms-mock 跳过防白占池)→ 从池单条 CAS
抢一个 FREE 绑 game_player(biz_no=claim_<id>,幂等靠 status='FREE'+两 uk)。
- 池空不抛异常(补池是离线动作、非 MQ 重试窗口内可恢复):记 WARN + 触发水位告警,
该玩家暂不绑,首次生成由懒 claim 兜。
- 跨模块不依赖 system-server:按同名字段建消费侧镜像体 PassportRegisterEvent(topic 是唯一 wire 契约)。
- 主开关 aigc.newapi-quota.enabled 默认 false,关时消费者不装配、服务全旁路(WU2 整体 opt-in)。
单测 9 例:claim 幂等/渠道过滤/池空不抛/并发 dup 收敛/身份分流/懒 claim fail-fast。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 12:22:00 -07:00
lili
fe6079ba62
feat(contracts): WU2④ quota_exhausted 跨契约共享枚举同批新增三处
...
额度耗尽/池空要干净失败给用户可读拒因,而非含糊的「生成失败」。该失败因是跨契约
共享枚举(FailureReasonEnum 头注禁单边扩展),contract-first 同一批落三处保持一致:
- FailureReasonEnum 加 QUOTA_EXHAUSTED("quota_exhausted","生成额度已用完");
- contracts/api-schemas/aigc.yaml FailureReason.enum;
- contracts/dify-workflow-io.json output.failureReason.enum。
落库列 game_aigc_task.failure_reason(varchar(32)) 容得下(15 字符)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 12:21:45 -07:00
lili
c13595fbc2
feat(aigc): WU2① new-api 额度池表 V32 + DO/Mapper——离线预建 FREE 条目 claim 抢占
...
内测 per-user ¥100 额度落 new-api 网关账本,game-cloud 维护一张预置池表:
ops 脚本离线预建 (user+token+¥100) 灌成 FREE 条目,注册/懒 claim 时 CAS 抢一个绑玩家。
- V32.0.0 迁移双落契约源 + huijing-server 执行副本(守门①),列名对齐 ops 脚本 INSERT,
uk_newapi_user/uk_claimed_by/uk_biz_no 三键仿 trade GrantDO 的 uk_biz_no 保幂等。
- NewapiQuotaPoolDO 继承 TenantBaseDO(系统级池,运行时 executeIgnore 跨租户);
Mapper 提供 selectClaimedByPlayer/countFree 水位/claimOneFree 单条 FREE→CLAIMED CAS。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 12:21:33 -07:00
lili
da05ecc0b1
feat(studio): WU1 前端——登录页新增用户名密码 Tab(注册/登录)
...
WU1 §3.5 步骤④前端落地:Login.vue 在 sms/invite 之外加第三个「用户名密码」
Tab,内含登录/注册子模式段控——用户名、密码两输入框,前端做与后端一致的
用户名正则 ^[a-zA-Z0-9]{4,30}$ + 密码 6-32 位预校验(仅提示,信任边界在后端);
复用既有隐私政策勾选、?redirect= 回跳、setLogin 落持久化、user_login 遥测
双带四段,登录成功路径与短信路一致(同拿 LoginResp)。
passport.ts 加 PasswordRegisterReq/PasswordLoginReq 入参接口与 passwordRegister/
passwordLogin 两函数(贴 VO 契约、走同一 request 信封解包),PlayerMeResp 补
username;Profile.vue fallbackMe 同步补 username 空串兜底。entry.zh/en 补 Tab
标题、用户名/密码占位、子模式与提交按钮多态文案、两条本地预校验提示。
自证:npm run build(vue-tsc -b && vite build)退出 0。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 12:04:02 -07:00
lili
28bd5339d4
feat(passport): WU1 端点+配置+防明文+单测——两 @PermitAll 端点/remoteAddr/stdout 屏蔽
...
照 WU1 设计 §3.2/§3.3/§3.4:
- AppPassportController 加 password-register/password-login 两 @PermitAll 端点,IP 一律取连接层
request.getRemoteAddr()(不读可伪造 XFF,§3.3 命门);@ApiAccessLog(sanitizeKeys=password)。
- ApiAccessLogInterceptor 代码级屏蔽两 password URI 的 stdout body 打印(不受 sanitizeKeys 约束的第二条
链路,防明文密码进控制台,不只靠 logging.level)。
- application-staging.yaml wanxiang.passport 加 password-auth-enabled(true)/register-ip-limit(20,60)/
login-ip-limit(30,100)。
- 单测:本地 mvn 34 通过(PassportServiceImplTest 31 + PassportSmsIpCounterRedisDAOTest 3),覆盖用户名占用、
登录防枚举(统一错误码+假 hash 对齐耗时)、禁用拒登、并发撞名兜底、IP 越限 429、Redis fail-open、outbox 原子落、
/me 空安全。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 11:52:40 -07:00
lili
d52696c589
feat(passport): WU1 服务层——注册扩参/BCrypt/防枚举/IP 泛化/outbox 生产者
...
照 WU1 设计 §3.2/§3.3/§3.6:
- registerPlayer 扩 username/encodedPassword 两可空参,按路径落列;默认昵称有 nickname 用之、
用户名路取 username、手机号路后4位;uk_username 冲突报 PLAYER_USERNAME_ALREADY_REGISTERED(不转登录)。
- passwordRegister/passwordLogin:复用 admin BCrypt 范式 encode/matches + buildLoginResp(MEMBER token);
防枚举——查无用户名与密码错误统一 PLAYER_USERNAME_OR_PASSWORD_ERROR,且查无用户名跑固定假 hash
matches 对齐 BCrypt 耗时(惰性以本类 encoder 编出,cost 一致,堵时序侧信道)。
- PassportSmsIpCounterRedisDAO 泛化按 scene 分桶(sms/register/login/invite),Redis 异常 fail-open+WARN;
发码回填 scene=sms,回填 sms-login(scene=login)/invite-register(scene=invite) 服务层纯 IP 闸。
- 注册事务内与建号原子写 outbox(三路共用出口);@Scheduled 投递器扫未投递发 RocketMQ(至少一次,
RocketMQTemplate 经 ObjectProvider 兜底 name-server 未装配、CAS 置已投递防重投)。
- getPlayerMe 补 username + mobile 为 null 短路回空串(用户名用户防 NPE 回归)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 11:52:23 -07:00
lili
987d489b63
feat(passport): WU1 契约层——用户名密码注册登录 schema/VO/错误码/outbox
...
内测种子用户「用户名+密码」注册登录(无短信)的契约层,照 2026-07-07 WU1 设计 §3.1/§3.6 落地:
- Flyway V31.0.0(同落 contracts 源+huijing-server 执行副本):game_player 加 username/password
两列、mobile 放宽可空、加 uk_username、register_channel 值域扩 password;建 game_passport_register_outbox
注册成功事件本地消息表。V31.0.1 回滚补偿仅置 contracts 源(手动执行,不进执行副本避免 Flyway 自动 DROP)。
- PlayerDO 加 username/password(password 仅服务层内部,永不进 RespVO);PlayerMapper 加 selectByUsername。
- PasswordRegisterReqVO/PasswordLoginReqVO;PlayerMeRespVO 加 username。
- 错误码 1_002_090_004/005/006(用户名占用/用户名或密码错误/通道未开启)。
- outbox DO+Mapper(@TenantIgnore 供 @Scheduled 投递器全表扫);pom 显式直依赖 rocketmq-spring-boot-starter。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 11:52:05 -07:00
lili
58d6eb50ca
docs(polaris): M4 波三款全交收口台账——夜市美术音频整装完成
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
夜市 M4 art(532161a7)纠正重派收敛:暖夜霓虹 92 图元换装+89 帧图集+4 场景+BGM3/SFX24,两本账过门+
三门零倒退+CDP 8/9。至此 M4 波三款全交(割草 meta/卡牌全工艺态含 BGM 补齐/夜市美术音频),三款全真美术+音频,
M0→M4 全线 25 笔落 origin/dev/2.0.0。M5 关口=真机窗口批(60fps/像素/存档正式槽)+分包压缩+内容侧图 2–5。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 09:59:18 -07:00
lili
532161a7ce
feat(art): 《夜市一条街》M4 资产整装——暖夜霓虹 92 图元换装+BGM3/SFX24
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
创始人锁锚候选 A 暖夜霓虹落地(纠正重派:看图+复用批次二产线+镜头单从数据表 import,首派 FAILED 后收敛):
P1 生图 92(顾客 39=13 类×3 态/菜品 30=recipes 真 id/设备 6/UI 图标 14+框 3)→抠图 89 sprite→
图集 nightmarket 89 帧 968KB webp+Phaser3 JSON;场景背景 4(日/夜/高峰/雨,复用锚图);
BGM 3(闲市 95/高峰 125/雨夜 78bpm,mmx music 各截 75s 循环 96k≈902KB 共 2.6MB 懒加载,压缩码率优于卡牌 256k);
SFX 24 类 ZzFX 程序合成零包体;表现层换装(顾客立绘 typeId+态切帧/点单气泡菜品图标/背景昼夜雨切换/HUD 金币/
dock 4 页签,全带缺图降级,readState 语义零改)。
门证据(主会话逐门复验):换装后三门零倒退(logic-smoke 95 断言/tree-check 15 查/单测 30)+两本包体账实测过门
(账一 assets 4.23MB≤10MB/首屏 1.13MB≤2MB,账二引擎首屏传输~2.42MB 与设计书预估 2.35 吻合)+CDP 九门 8/9
(唯 C_frame=本机 headless 无 vsync~110fps 环境采样非换装,mini-desktop 复验)+富三门全过;成本 <¥5(101 呼)。
少年类顾客漂卡通词面顽疾用「去学生词+反卡通厚涂」攻克;单骑手不满态待重摇=已知项。dist/evidence 按惯例不入库。
M5 缺口=rare/critic 立绘 6 类分包/食材图标 12/HUD 图标+9-patch/BGM 无缝循环点/C_frame 真机复验。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 09:55:17 -07:00
lili
cb9f135d7d
feat(art): 《山海巡异录》M4 BGM 4 首补齐——mmx music 服务恢复后生成,音频转全量
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
mmx music 服务恢复(创始人确认+主会话亲验),补齐卡牌 M4 缺的 4 首 BGM(全 instrumental 山海国风原创):
bgm-home(空灵探索古琴箫)/bgm-battle(民乐电子古筝战鼓)/bgm-boss(激烈压迫大鼓唢呐编钟)/
bgm-victory(恢弘结算笙箫钟磬);bgm.js 4 个引用路径精确匹配,音频系统从缺文件 no-op 优雅降级转全量播放。
服务间歇故障(生成准备失败/非JSON 交替),有界前台重试逐首补齐,主会话亲跑不派席(haiku 席三陷后台等待坑)。
**如实标 M5 压缩目标**:4 首共 15MB(256kbps 立体声原码),超账A 包体门(≤10MB)——BGM 系懒加载分包非首屏,
压缩(降码率/单声道/OGG)+分包懒加载是卡牌 M5 S21「包体两本账+分包性能」明文活,M4 只负责音频整装到位。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 08:16:10 -07:00
lili
f99c22d066
docs(polaris): M4 波台账——割草 meta+卡牌全工艺态收口,10h 核数首验/BGM 服务外阻记账
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
割草 M4(fc23901b)+卡牌 M4(c5100a86)已交验真绿:10h 内容核数首验割草线 11.21h≥10h(承诺首次机器可验);
卡牌演出 v2+juice+程序合成 SFX 24+教学+手感表逐条机验,BGM 受 mmx music 服务故障阻塞(主会话亲验复现)
优雅降级待恢复补;夜市 M4 art 首派 FAILED(串台数据/环境误判)纠正重派在飞;子代理后台等待坑全程 5 次纠偏。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 07:28:55 -07:00
lili
c5100a8670
feat(polaris): 《山海巡异录》M4 全工艺态——演出 v2+juice+程序合成 SFX 24+教学局+手感表
...
演出 v2(战斗表现升级接真卡插画图集,与逻辑经事件流解耦不改 battle-core/run-core 语义):presentation.js
(演出计划+手感参数+教学固定序纯逻辑)+atlas.js(图集帧索引)+run-scene 接线(juice/拖拽/音频/教学层/debug 钩子);
SFX 24 程序合成 sfx.js(链环八级五声音阶递升/出牌五行 5 变体/命中三强度/受击能量抽弃洗得金购买删卡翻牌遗物词缀
点按选中周天胜负 stinger,零包体);juice(手牌选中浮起 1.55×抬 30px/上滑 62% 线打出走 route 单源/伤害颗粒/
链轴金环扩散/周天全屏闪/爆字 48px+屏震/敌兽呼吸/程序粒子上限 24);教学局固定序。
门证据(主会话逐门真跑复验):九门全绿(battle-core/logic-smoke/run-core/run-smoke/save/meta/static-screen/
scene-smoke)+手感门 presentation.test 42 断言绿+数值 CI PR 巡罡使 A0 58.2% 入带+构筑指纹去重 100%>85%,
96k 矩阵未回退;真实集成进战涸泽鲛→教学 intro→固定序→9 批事件全 ≤1.6s。
手感表 §7.2 逐条机验绿(触摸响应 80ms/放大 1.55×/上滑 62% 线/结算爆字抖屏震命中停顿全长≤1.6s/演出加速
0.4×/误触回手/粒子上限 24);真机时延·像素观感·L2 rubric LLM 项如实标待 mini-desktop 窗口;两处如实缺
(设置页全局跳过=无设置屏/卡敌详情二层与两段式冲突未加)。
**BGM 4 首(菜单/战斗/Boss/结算)音频系统+清单+淡切+手势解锁完备,但 mp3 文件受阻 mmx music 服务持续故障
(主会话亲验复现同错「音乐生成准备失败 HTTP 200」=真实外部阻塞非席位失败),缺文件 bgm.js no-op 优雅降级,
待服务恢复 haiku 机械补生成。** M5 头号=包体两本账真机实测+图集分包懒加载(现 13 atlas 全量载)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 07:24:27 -07:00
lili
fc23901b9a
feat(polaris): 《山海行纪》M4 局外 meta——角色8/天赋树48/图鉴成就/存档定容,10h 核数首验 11.21h
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
局外 meta 全落 additive(纯逻辑内核语义零改动):meta-tables.js(8 角色差异化起始符箓/48 天赋树 DAG/成就 60/
图鉴投影/每日固定种子/schemaVersion,零魔法数)+meta.js(购买+可达+解锁+SaveEnvelope 读写+deriveMetaBonus);
sim 消费 meta 增益/阵亡续命/图鉴追踪 additive;出击页 roster 真投影+局末回写+每日入口。
门证据(全前台真跑,主会话逐门复验):游戏单测 44/44(原 27 零倒退+M4 新 17)、存档兼容门 12/12
(往返逐值一致落信封/未来版 fail-closed 不毁档/0 版 migrators 升 v1 回写)、**10h 内容核数首验 11.21h≥10h 下限**
(§5.4 机械和:首通 3.17+角色 2.42+难度 3.88+收集天赋 1.75,roster8/天赋48/图鉴51/成就60 真表溯源,
地图5·D2–D5·敌32 为 M5)、L3 结构面 3/3(rubric 分数纯 LLM 软判如实标待窗口不写代码校验)、天赋树可达门 6/6
(48 节点/id 唯一/无悬空依赖/DFS 三色无环/6 根/根闭包全可达)。
c2 平衡离群外科手术未收敛已回退(精化根因=rand-4 92% 是三投射符器协同驱动非缚灵桩携伴,削缚灵桩无效),
按「别硬凑」留 M5 夜批多参数调参。M0–M3 全回归:三场景 7/0/压测 p95 1.617ms/包体 328,848B≤0.6MB/
首图录证 d0d1 与 M3 逐值一致(meta additive 零偏移)/整库插件 269/269。M5 存档正式槽切换是发布门硬依赖。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 06:55:36 -07:00
lili
4e51633af6
docs(art): 山海资产一期批产留痕——兽谱增补+良率成本+拼板图(clean-room 审计链)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
割草与卡牌资产一期批产的可复现审计链:manifest.jsonl(逐张 prompt/参数/成本/淘汰原因留痕,clean-room 证据)、
兽谱-增补-{行纪,巡异录}.md(新兽谱面单源)、良率与成本档、6 张拼板图(创始人眼验记录:行纪 P1/P2、
巡异录卡全量 154/卡插画 66/遗物 40/新批抽样)、少量 rejects 留证。
原图源帧目录(images/ 19M+images-巡异录 7.8M)不入库=可从 prompt 复现的中间产物,归宿 W-ASSET-SRC 资产库;
审计链靠 manifest.jsonl 的 prompt 留痕+游戏内已入库图集即足。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 04:36:32 -07:00
lili
16c6af664b
feat(art): 《山海巡异录》资产一期批产(锚 r1)——154 卡+遗物 40+敌兽图集入库
...
职业甲 66+职业乙璇玑使 66+中立 22=154 卡插画位(真 id 对齐 M3 定容 tables.js)+遗物 40 图标+敌兽 39 立绘
(act1/2/3 分页)+UI 15+bg 6;10 图集页矿彩国风锚 r1 一致,主会话眼验(璇玑使星官×山海/遗物透明底/无走形)。
账A 契约包体 7.33MB(webp atlas 6.16MB,门 ≤10MB);卡面 154=2.57MB 贴 §9.3 预算 2.60 达标;机检门四检
(帧数对账/webp 可解/帧名唯一/bg 齐套)全过。累计 282 外呼 ¥9.31、物料效率 96%、0 质量淘汰。
clean-room 主体词守则(金乌/阳乌成神鸟非龙、应龙鳞作鳞片特写、符牌素面无字);清陈旧 beasts-act1 残留单页。
如实两项归开发席 M5 降尺寸分包(非本批):敌兽 39=2.93MB 超预算 1.40、场景 bg 6=1.17MB 超 0.50;
夔 kui-niu「无角独足」谱面 r1 文本通道不可达暂占位、列升档 B 多参考图候选头名。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 04:35:40 -07:00
lili
f0ee8afab6
docs(polaris): M3 波三线收口+夜市美术锚拍板台账
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
三线 M3:夜市 M3(内容到量+千局定标+上界安全门全过)、割草 M3(20 分钟波表+首图录证击杀终 Boss+四判据
3/4 绿·c2 归 M4)、卡牌 M3(TDZ 绘制修复+154 卡+进阶 A0–A15 六带全绿,已入库 0fc1cb69)。
美术:山海 r1 三款锚+夜市暖夜霓虹(批次二眼验锁锚),M4 换装无美术前置阻塞;割草资产一期 112 镜头入库。
机检门两态口径修正+割草浏览器崩溃/卡牌黑屏两 M0 缺陷 mini-desktop 复验反转确认在册。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 04:27:23 -07:00
lili
5ebe6d4717
feat(art): 《夜市一条街》风格版批次二——暖夜霓虹 12 帧,创始人眼验拍锁锚
...
候选 A·暖夜霓虹手绘烟火(创始人 2026-07-07 拍)样张:日/夜/高峰/雨四场景(深蓝夜幕+暖黄摊灯霓虹+雨夜倒影)
+摊主揭蒸笼冒白汽+三顾客全原创无引用+三菜品+UI 摊灯位;创始人眼验拍锁锚开批产,340–380 件资产按此进 M4。
独立锚包不共用山海 r1;招牌乱字(image-01 夜市街道题材系统性伴生物)按产线除字工序处理不升档 B。
成本良率见 良率与成本-批次二.md;工艺发现叠加批次一 7 条(待蒸馏 .agents/);clean-room 市井烟火全原创。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 04:27:00 -07:00
lili
c1d1e2b400
feat(art): 《山海行纪》资产一期批产(锚 r1)——112 镜头 2.72MB 图集入库
...
矿彩国风锚 r1 落地:P1 80 镜头(图 1 tileset+三常规兽各 6 帧+词缀精英/光环/双 Boss 22 帧含立绘+UI 13+底图)
+P2 44 镜头(主角 13 帧定妆帧参考图法跨帧身份一致+法器图标 12+弹道命中特效 15+拾取 4);
5 图集 xingji-{map1,beasts,boss,ui,actors}+tiles+bg 共 2,911,369B≈2.72MB(首屏切面≈2.03MB,boss 页 1.03MB=
懒加载分包面,分包决策归开发席 M4);机检 C1–C5 全绿。累计 127 呼 ¥4.19、首过 92%,远离升档 B 判据;
clean-room 五条全程(兽名不入 prompt/伪字物件化改词)。
主会话修机检门两态口径:C2/C3 keyed 中间件只活在批产工作区(ASSET_WORK 不入仓),整目录缺席=仓库态
复跑降级警示跳过、部分缺席仍判错(消除席位环境绿/CI 必红假门,仓库态复跑 rc=0);
顺手修 asset-atlas 局部重打包整写 manifest 丢条目缺陷。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 04:27:00 -07:00
lili
05fcc7f94a
feat(polaris): 《山海行纪》M3——20 分钟正式波表+词缀精英+双 Boss+首图全程录证
...
图 1「裂谷原」20 分钟正式局:波表/XP 经济/难度爬坡按 20 分钟重排(替 M0 的 300s 占位时间基)、词缀精英池、
双 Boss(10:00 战狰王/20:00 斩九婴按时出场)、事件 4 种;命名从山海设定 v1 符箓五行取(clean-room);
record-run.mjs=headless 录证孪生(lane 内新工具)。
门证据(528 局 D1×P2,A n=20/件+B n=12/build,较 M2 的 1080 裁半、M4 夜批回满):四判据锁值 **3/4 绿**——
①定向 build 胜率全≥40%(区间 45–85%)②最强 build rand-4 **91.7% FAIL(>85% 天花板)**③随机中位 37.5%∈[35,55]
④被动相关 |r|max 0.344≤0.6;**c2 系书 §8.2〔草案〕阈值首轮仿真回填的离群(缚灵桩耦合全体 build 定点调参)、
归 M4 夜批千局×网格,非 M2 门倒退**。首图录证:D0 win@1258.9s+D1 win@1219.7s 全 20 分钟走完击杀终 Boss、
事件≥3 次≥2 类、潮汐脉冲 17/16、逐条断言全过(dist/run-recording.json 252+244 样本)。
全回归:游戏单测 27/27+整库插件 269/269+三场景冒烟+压测 p95 1.555ms≤6ms+包体首屏 300,917B(gz 104KB)≤0.6MB;
主会话真跑复验(单测 27/27+门报告 c2=0.9167 坐实)。§8.3 M3 实测回填一处。M0–M2 门不倒退。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 04:26:20 -07:00
lili
a10945d74f
feat(polaris): 《夜市一条街》M3——内容一期到量+economy_curve 千局网格定标
...
内容四轴灌装到量表(菜谱 30/顾客 19/事件 12/任务 52+成就);千局网格揪修三真缺陷:破产死锁
(11/25 生涯中期现金归零永锁→relief.floor_coins 地板+autoRestock 均衡轮转,根因=旧表序贪婪把救济金砸单一食材)、
卡点张力缺席(判据 2 首测 n=0→地块 900/2200/4500+树尾 22 节点×1.6+设备×1.6+员工升级基价×3)、
离线封顶 2h→75min(判据 5 解析收敛 44.4%→33.3%)。
门证据:上界安全门 7 配置×7000 营业日全过(判据 1 零死锁窗/判据 2 基线卡点中位 15min∈[15,45],
主会话复跑逐值一致)+30 分钟真玩口径三 seed 零卡死零 uncaught+扰动翼安全边界探明(小费 0.03 塌/0.04 绿、
薪涨 1.15 塌/1.12 绿,域外塌方翼零死锁=relief 兜底最坏参数仍保能玩);数值定标报告归档
docs/m3-数值定标报告.md(26 锚逐项保留/调整/废弃+三缺陷修复史+M5 输入+driver 两课);消耗率@10h 95.7%(判据 3 归 M5 观测)。
回归:logic-smoke 95 断言(⑤解锁阈值按设计 §3 首小时消耗带 ≥6→≥4、机制不放水)+tree-check 15 查
+单测 30/30+M2 千局零死锁+富三门接线未动;主会话真跑复验。M4 闸=风格 A 暖夜霓虹已拍。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-07 04:25:46 -07:00
lili
0fc1cb695b
feat(polaris): 《山海巡异录》M3——战斗绘制 TDZ 根因修复+双职业 154 卡+进阶 A0–A15 六带全绿
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
绘制修复(mini-desktop CDP 复验揪出:战斗屏除回合横幅外 lumStd=0 全空,逻辑与指针全通):根因=run-scene.js
const txt 声明位于工厂 return 之后永不执行,txt 永陷 TDZ,全部整屏绘制函数每帧 ReferenceError 无声失败,
唯 floatText(function 声明提升)独活=只剩横幅;M1 并入 run-scene 时引入,headless 门不建场景故只有真浏览器
暴露。修=txt 改 function 声明(提升语义)+事故注释钉原地+自证钩子(场景 rebuild 后回写
readState().debug={displayCount,rebuilds,screen} 供 CDP 机断)+防回潮门 scene-smoke.mjs(mock 场景重放十屏/
异常零容忍/每屏绘制对象≥5;修复后 map=33/battle=32/reward=14)。
M3:S13 职业乙 66+中立 22=154 卡定容(static-screen 3,676,134 序列零经济环)+S14 进阶 ASCENSIONS 16 级入
矩阵轴+多样性 driver(chain/defensive 档,死卡候选 42 张如实挂账 README)+S15 meta 三件(图鉴/成就 40/每日,
meta-core.js+meta.test)+S16 事件 45;存档 v2 双域+v1 迁移链(19 断言);home 局外模式机+终局结算。
门证据:八门全绿(battle-core/logic-smoke/run-core+R15 职业进阶 7 断言/run-smoke/save v2 19 断言/meta/
static-screen/scene-smoke);六带全绿 nightly n=1000/格(甲 A0 58.2%/A5 32.2%/A15 6.9%,乙 55.1%/28.3%/5.7%,
带 45–60/25–40/5–15);构筑指纹去重 A0 六格全 100%(门>85% 草案);金标 26 套(甲 20 漂移≤3.6pp 全 PASS+乙 6 首锁);
**全矩阵 96,000 局书面口径首次真跑=158.6s、nightly 总 223.2s**;平衡轮主杠杆=职业起始遗物 +36.6pp;
主会话真跑复验八门+PR 层。浏览器像素复验随本笔 push 后触发。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 20:40:11 -07:00
lili
86df18c4d8
feat(art): 山海风格版批次一——42 样张+产线三件真跑,创始人眼验拍锁锚开批产
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
矿彩国风锚 r1 定稿:《山海行纪》30 帧(hero×6/狰梼杌穷奇×15/法器×3/UI×2/场景/兽潮/Boss/拾取)+
《山海巡异录》12 张(卡面 3 稀有度×2 职业/敌兽 2/场景 2/结算 2);同名兽狰两款同谱面可辨=
「一条美术管线供两款」首检成立;clean-room 五条全程生效(prompt 零现代作品专名、兽形古籍演绎、
参考图仅自产、全量留痕 manifest.jsonl 含 12 张淘汰逐张原因)。
产线三件真跑演示:色键抠图+除杂(角落印章自动清)/图集 2 页 png 4006KB→webp 599KB(实测修正:
free-tex-packer 不直出 webp 补 PIL 转码)/字体子集 780 字→176KB woff2(LXGW OFL)。
成本良率实测:57 呼 ¥1.44(官方口径)/¥1.88(实测口径),首过率 34/42=81%,重摇≤4 轮填满;
工艺发现 7 条入批次 README(兽名不入 prompt/「鲛」prime 龙形/subject-ref 证伪/UI 伪字走程序排字等)。
创始人裁定(2026-07-07):锁锚开批产——两款按锚 r1 进 M3/M4 资产批产,主角跨帧漂移用
「定妆帧作参考图+关键姿态逐帧」工艺压,不换通道。台账:作战清单 M2 波全记账+_index 三行 M2 已交+设定档裁定戳。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:20:47 -07:00
lili
7f0a825382
feat(platform): L1 宿主 rafLoop 异常隔离——帧回调熔断+取证旗,静默冻死改可观测降级
...
背景:mini-desktop 浏览器验证坐实 stub 通道 RAF 主循环无 try/catch,游戏 render 抛任意异常即 RAF 链断、
画面永久冻结、零可观测(《山海行纪》M0 arc 崩溃的放大器;游戏侧根因已另修)。
改动:stepOneFrame 游戏回调纳入 try/catch,ctx.log('err') 留痕+错误计数(host 句柄暴露 frameErrorCount);
单帧出错不断 RAF 链;连续 MAX_CONSECUTIVE_FRAME_ERRORS=10 帧(常量注释可调)才停循环并挂
window.__gameRenderError={message,stack,frame} 供取证面与九门读取;正常路径逐字不变(时钟自增在隔离外保帧时序)。
边界如实:real 通道由 littlejsengine 掌帧、其 RAF 在引擎内部,本文件不接管(代码注释标明)。
证据:新测 6/6(node 模拟 RAF+可切换抛错假游戏,覆盖四条验收行为);整库 266/266、manifest 19/19;
主会话真跑复验。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:20:45 -07:00
lili
80e8515799
feat(polaris): 《山海巡异录》M2——职业甲 66 卡+遗物 40+商店删卡+SaveEnvelope 存档续玩,数值 CI 三层定案
...
S9 职业甲卡池批产至定容(66 卡三批入表即跑 smoke,估值全走曲线常量表锚带)+S10 遗物 40(规则级,Boss 三选一/
随机发放)+S11 商店五 API+删卡+金币经济+S12 仿真外壳 v1(参数扫描+曲线聚合+调参轮;S8b 20 卡最小池接环前移
首单);词缀子集(易伤/虚弱/灼/韧+血价/消耗/保留,虚弱×意图诚实=展示执行同折算函数);save.js=SaveEnvelope
契约面单源(schemaVersion≥1+data,介质影子,正式通道切换随集成段);seeded-random 增 state/setState 支持续玩。
门证据:六门全绿(battle-core 40+词缀 18/logic-smoke/run-core 12 组+商店注入/run-smoke win 16/40/save 13 断言:
往返逐字段一致+续玩确定性×3 seed+坏版本 9 负例全拒+峰值 2148 码元余量 97%/static-screen 66 卡 291,918 序列
零经济环);数值 CI 三层定案入 README(PR smoke 3s/nightly 23,000 局 36.2s/批产 0.5s;96k 局外推≈2.7 分钟);
A0 贪心 47.3%(n=1000)入带 45–60%,随机/挂机 0%=下界观测未削敌线;金标 20 套锁定(goldens.json);
harness 共享面=card-battle.driver additive(随机/挂机档+贪心 v2+商店策略,本席 owner 文件);
主会话真跑复验六门+PR 层 3.8s。M3 头号=进阶 A1–A15 入矩阵轴+多样性 driver(死卡 14 张治理)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:20:09 -07:00
lili
7cac2cb1b6
feat(polaris): 《山海行纪》M2——build 体系全表化+仿真参数扫描首跑,四判据 1080 局全绿
...
武器 12×8 级(五族)/被动 14×5 级/进化 12/难度 D0–D5/暴击轴/聚灵珠全入 balance 表零魔法数;
build-model.js=派生数值与理论 DPS 唯一解释器(sim/单测/扫描器同源);sim 多武器核(proj/zone 双形态、
五族索敌、链跳/爆裂/减速/灼烧,AoE 收集-降序结算防下标漂移);出击页滚动列表+难度选择、暂停 build 总览;
canvas-ui-kit v1.0→1.1 additive(createScrollList 滚动数学+拖拽单击消歧,零绘制)。
门证据:build 四判据 1080 局全绿(12 武器定向胜率全≥40%/最强 85%≤85%/随机中位 55% 带内/被动相关
|r|max=0.25;②③带沿如实注记,确定性种子主会话复跑逐值一致);扫描墙钟实测回填书 §8.3(单局 mean 1.88s、
6 worker 180 局/分,原「<1s」外推偏乐观一个量级,夜批结论不变);UI 三项 headless 断言全真→触发器②
证据面建议不触发 Phaser 复评(CDP 补证待窗口,终判在主会话);游戏 27/27+三场景+压测 p95 1.43ms+
整库 269/269+manifest 19/19,M0/M1 零倒退;主会话真跑复验。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:20:09 -07:00
lili
b7c843a0e6
feat(polaris): 《夜市一条街》M2——八系统机制齐+富三门经营语义接线,九门+富三门 CDP 真跑 ACCEPT
...
八系统最小闭环(效果全走解释器单点施效,M1 四个 arrivesAt:'M2' 前瞻节点全兑现):扩张=盘地块入槽给吞吐修饰/
研发=耗食材扩菜单(下单一刻 FIFO 真耗库存)/员工=帮工自动出招走同 tapCustomer 链+日结扣薪+×1.12级升级/
事件=日初掷签(排程不入档,rng 游标重放保确定性)+评论家好评=声望第二来源/变现位 mock=rewarded 双槽五路径
回调仅 filled 发奖 pending 8s 兜底/成就 12 条只发金币守声望纯度+双图鉴;解锁树 40→42、菜谱 24→26 additive。
富三门接线(共享面 additive 点名):rich-game-gates.cjs +2 纯函数(recipesSourced/stockDecreased,既有函数一字未动);
play-phaser.cdp.cjs RICHGAME_GATED_ARCHETYPES 增 business-serve 键+serve 三门真玩分支(business-sim 分支逐字保留)
+顺手修既有缺陷:winRes 块内声明块外引用致全品类 playReport 恒 null,声明上提零业务变化。
门证据:九门+富三门 mini-desktop CDP 真跑 decision=ACCEPT(三联动/经济双路/latch 驻留全绿,drivenInputs=22);
仿真千局首扫 1000 局零死锁零 uncaught(48ms/日);rubric 结构面 14/16 机验在位(LLM 分待评审窗口);
冒烟 29→95 断言、可达门 8→13 查、单测 29/29,M0/M1 全回归;主会话真跑复验。CDP evidence/ 按惯例不入库。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 19:18:41 -07:00
lili
247b19e11c
docs(polaris): 山海宇宙设定v1与美术音频管线五拍落档+M0浏览器验证与M1收口台账
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
设定管线档(97行):山海宇宙设定v1(活舆图《山海图》/巡山使·巡异使双职业分饰两款/符箓五行/异兽谱单源/
矿彩国风锚,与两书已批视觉逐字兼容)+管线六项选型;创始人五问全按推荐拍定(2026-07-06):锁设定v1/
夜市独立市井线+彩蛋轻联动/生图A·mmx起步B·Seedream备而不开(升档判据=眼验不过或连续两批良率<40%)/
风格版山海两款合批先行/零外采开工+AI产物商用条款核对列首个法务动作。
台账:M0浏览器真跑验证结果(夜市三门全过=对照基准;割草arc崩溃/卡牌双Phaser两真缺陷→折进M1席修根因)、
三线M1全收口记账、rafLoop异常隔离平台项在册、harness driver惯例(集中tier2/harness+type分发)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 11:14:14 -07:00
lili
329b82cad4
feat(polaris): 《山海巡异录》M1——host集成修根因+单局通关闭环+card driver v1(harness双席合笔)
...
host修根因(mini-desktop CDP验出双Phaser实例致可见区纯黑+真指针死):main.js重写为宿主契约形态——
工厂零Phaser import、永不自建引擎实例,场景经ctx.game.scene.add挂bootPhaserHost唯一实例(与夜市款同构);
真人pointerdown与injectInput('tap')同走route(x,y)→readState().tapTargets命中序(ui/layout.js唯一坐标事实)=同因果,
M0手牌盖板吃点击缺陷随重构消失;run-smoke S0六条静态自查防回潮;battle-scene.js退役git留档。
M1单局闭环:S5链轴完整化(链轨延链指引/graceUsed/周天金闪)+S6 map-core三幕DAG(战/精英/憩/宝匣/Boss,
静态可达自检)+S7敌8种(多段/甲攻复合/烛阴双相位/饕餮增势,意图回合开始钉住「展示=执行」逐字段成立)+
S8 card driver v1+play-spec;30卡五行各6/3遗物全规则级/奖励三选一可跳过/HP携带/run级三latch。
数值首轮回填全标〔草案〕(贪心v1胜率5%=下界非标定对象,A0带45-60%校准归M2 S12三档driver)。
完整run单局墙钟首实测(§6.4 M1出口):40 seed中位1.6ms/p95 3ms级(headless开发机口径)→外推M2全矩阵
96k局≈分钟级单线程,数值CI可行性坐实。harness共享面双席合笔:card-battle.driver+business-serve.driver新增、
play-phaser.cdp.cjs runDriver type分发additive(卡牌/夜市两席同文件双分发共存复核OK,未声明时行为逐字不变)。
证据:battle-core 40断言(T1a/T1b随定容更新)+run-core 12组+run-smoke全绿(地图150张/首局门5 seed全win/
通关2/40全自然终局零invalid/幕缩放1070采样全中);主会话真跑复验。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 11:13:51 -07:00
lili
948ee24f30
feat(polaris): 《山海行纪》M1——浏览器崩溃修根因+六件L2插件沉淀+手感断言表接通
...
崩溃修根因(mini-desktop CDP验出play首帧IndexSizeError arc半径-0.5):render.js drawGround 地纹哈希位提取
用有符号右移 h>>16,h≥2³¹ 时 (h>>16)%3=-2→半径1.5+(-2)=-0.5;修位提取语义 >>→>>>(两处),非钳症状;
校验型canvas桩回归(arc按DOM语义拒负半径+桩自检)修前红/修后绿,覆盖四方向走位扫格。
六件L2插件沉淀(各五件套impl/api.d.ts/manifest/PLUGIN.md/test,纯additive零改既有):
virtual-joystick(浮动原点/死区/越界跟手纯核+轨迹注入driver=G_input孪生)/hit-feedback(档位表单入口+取证events[]:
eventName/frame/timeMs/sourceId,音画同帧构造性保证)/entity-pool/swarm-steering(均匀网格+软分离)/
auto-targeting(网格逐环≡线性最近300布局对账)/canvas-ui-kit(卡片弹层终态几何恒可点+顶栏)。
手感断言表11条逐条接通(2/5/6/10/11号真机校准与真引擎视觉证据如实标待窗口,真机p95≤16.7ms未验不冒称);
sim换装三件沉淀纯核零回退(724杀/p95 1.174ms与M0逐值一致);balance增FEEDBACK档位表全标草案。
证据:游戏13/13、整库260/260、manifest 19/19、包体258,905B(gz 89,268B)过0.6MB门;主会话真跑复验。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 11:13:27 -07:00
lili
3b64fa3834
feat(polaris): 《夜市一条街》M1——三资源经济骨架+解锁树40节点+SaveEnvelope存档+九门接线件
...
三资源流转(金币生涯账/声望=12里程碑唯一来源不可购买/食材批次FIFO进货-库存-保鲜环,缺料no_stock前置拒);
解锁树40节点(16菜谱+灶台+座位+经营被动+离线根节点+4个M2系统前瞻honest登记,效果解释器单点施效);
save_state v1=SaveEnvelope契约形状+日初检查点口径防存档刷币+未来版本拒读不毁档+0版迁移进链,影子介质IndexedDB(M5切正式save:槽零迁移);
离线收益=近3日每分净入均值×10%封顶2h(economy_curve单源);
九门接线件全套:business-serve driver+runDriver分发+spec.urlQuery门参数化+play-spec+宿主探针钩(CDP真跑排mini-desktop窗口)。
证据:静态可达门8/8(DAG拓扑/菜谱双射/定价cost=Σ食材对账)、冒烟29断言(M0四段回归+5日串跑23.1ms/日+存档往返确定性:5日连跑vs3日存-读-续终态逐字段一致+离线对账+三负例全拒)、单测15/15;主会话真跑复验。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 11:10:36 -07:00
lili
6dadc70173
feat(polaris): 《山海巡异录》M0——battle-core 回合解算核+竖屏战斗场景
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
顶级线③卡牌构筑肉鸽(设计书 2026-07-06 已批即开,统一山海原创 IP 宇宙)。battle-core 纯函数
回合解算(受控随机注入/事件流/latch):能量经济/抽弃洗/出牌序列链/敌意图/护栏;链语义逐条钉死
(每环+0.25/周天=总倍率一次性×2 单回合至多一次/硬上限×8/动作 200 触发判本局 invalid 并 latch);
20 卡五行各 4(估值落 §6.2 锚带)+首战敌「涸泽鲛」意图循环 4 式+曲线常量表 schemaVersion=1;
渲染层竖屏三段布局/链轨五槽/周天金闪/演出与逻辑经事件流解耦,readState/injectInput 按 tier2 平台契约。
证据:单测 40 断言绿;冒烟贪心 driver 5+100 seed 全 win、挂机 13 回合 lose、0.044ms/场(单场口径);
bundle 35,835B=账A 预算 10%(构建产物不入库,README 带 build-phaser 重建命令);
实测 Phaser 3.80.1 raw 1.13MB/gz 0.30MB→账B 建议钉传输字节口径随真机定案。
待 mini-desktop 窗口:CDP 三门/浏览器真玩/冷暖启计时;M1 头号=card driver(S8)。
2026-07-06 09:25:45 -07:00
lili
86611fb24e
feat(polaris): 《山海行纪》M0——LittleJS 核心循环全链可玩
...
顶级线②肉鸽割草(设计书 2026-07-06 已批即开,统一山海原创 IP 宇宙)。core 纯逻辑层零 DOM/引擎:
update(dt)+受控 rng+对象池+均匀网格;浮动摇杆(死区 12%/斜向归一)/雷符链最近敌索敌自动开火/
3 敌种波表爬坡/灵晶磁吸/升级三选一(冻结单击直选)/死亡与 300s 撑满结算;L1 宿主装配沿 _template
骨架 11 插件全量;取证契约(targets/score/phase latch)齐;占位美术山海彩绘色板。
证据:单测+全链 boot 冒烟 7/7;三场景 headless 全过(P0 静止 39.1s 死≤90s/关火纯走位 60s 满血/
P2 撑满 300s 胜 724 杀 11 次升级);1400 逻辑实体压测 p95 1.2ms≤6ms 逻辑预算;
首屏 251,078B(gz 86,725B)过 0.6MB 门(dist 按仓约定不入库,scripts/build-report.mjs 再生成)。
待真机窗口:渲染侧 60fps@2500=触发器①;M1 头号=手感测量面。
2026-07-06 09:25:25 -07:00
lili
0c0f170548
feat(polaris): 《夜市一条街》M0——服务循环纯逻辑内核+Phaser 表现层
...
顶级线①模拟经营(设计书 2026-07-06 已批即开)。纯逻辑内核脱渲染:营业日 600s 时钟/经济结算/
day_end latch/readState/tapTargets/_forensicsView,受控随机注入;系统①服务循环+economy_curve 九键落表;
8 菜谱/6 顾客类型全原创;Phaser 竖屏表现层程序化占位美术(宿主预载引擎 external)。
证据:headless 双路冒烟 12/12(勤快席 served=327/coins=3206 vs 放任席 rep=0,latch 不回弹,
同 seed 双跑账本一致);单营业日快进 12.0ms=U8a 墙钟锚首数据点;两本账脚本产 dist/m0-bytes.json(dist 按仓约定不入库)。
M0 余项:九门经营 driver 接线(排 M1 前)+浏览器真跑窗口。
2026-07-06 09:25:08 -07:00
lili
2ce0ed3a9d
feat(save-cap): W-SAVE-CAP 存档面定容+schemaVersion——单槽版本信封,北极星三款共享基建
...
契约先行(sdk-interface.d.ts+镜像 additive):白名单新增恰等键族 save:{gameId}:{versionId}(≤65536 码元,
写入必须 {schemaVersion≥1, data} 信封,宿主闸 fail-closed);idle: 族 4096 逐字不动;弃多 key 分片。
宿主闸抽纯函数模块 storageGate.ts(四闸合一可 node 直测);save-progress 插件 v1.0.0→v1.1.0 additive:
setVersioned/getVersioned 逐级迁移/缺级兜底/降档读新档不毁档/无版本旧档按 0 版进链+探针两计数。
证据:插件单测 18/18、game-runtime 31/31、宿主闸负向演示脚本入仓真跑全断言过、vue-tsc+vite build 绿。
三书 M 门影子存档降级口径解除条件就位(卡牌 M2/割草 M4/夜市 M5 切换)。设计页 docs/plans/2026-07-06-002。
2026-07-06 09:24:44 -07:00
lili
207bb79719
docs(polaris): W-POLARIS 品类北极星矩阵——总纲+三款顶级线开发设计书落档
...
创始人 2026-07-06 三拍立项、晚间升档(3 款顶级 10h+ 并行、全 fable5 high、预算解除、clean-room 红线)、
四拍收口(统一山海原创 IP 宇宙《山海行纪》《山海巡异录》/《夜市一条街》定名/W-SAVE-CAP 立即切单/即批即开)。
三书各过 Codex+Opus 双评审(6 席 35 条全修入:两本账/阈值标草案/待建基建如实分层/链护栏三层/结构常数例外清单)。
台账:作战清单 W-POLARIS+W-SAVE-CAP 单、在飞板三行、SpaceHuggers 靶档裁定戳、NSTAR 档 reachability 引用核正;
三线 M0 同夜交付结果已记账(割草本机面全绿/夜市 卡牌 PARTIAL 断点清晰)。
2026-07-06 09:24:24 -07:00
lili
a207cb8d65
docs(agents): skill 规范化双层收口 + 席位context skill 新增 + W-NSTAR/W-TPL/W-GENLOG 设计波落档
...
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
1860be2596
docs(consistency): 18 架构 SVG 门面图版本标注 2.0.2→2.0.3(升级一致性尾)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
承 c3728377 升级 + ee631be6 SoT 一致性:18 个生成引擎架构 SVG 共 45 处
「AgentScope 2.0.2」当前能力/选型标注(官方件/内置/自带/源码实证/锁版/默认值)
统一到 2.0.3——等长纯文本替换、零布局影响(44 增 44 删对等)。无历史句需保留。
两处「从错变对」:t2-B-03 左框「官方软刹 ReplyBudgetControlMiddleware」徽章原标
「AgentScope 2.0.2 自带」——但 2.0.2 源码实无该类(见 §15),2.0.3 才补进
middleware/_budget.py,改 2.0.3 后标注方准确;t2-A-04 脚注 _budget.py 同理。
图的对照结构本就对(官方软刹现成但剪不住烧钱→自建 ¥ 两段式 fail-closed 硬闸=
护城河),仅版本标注跟上。qlmanage 渲染 t2-B-03/t2-A-02/01-系统全景 确认布局无破坏。
deeper follow-up(超版本标注范围、随 SVG 深核波):部分 SVG 脚注引 2.0.2 源码行号
(如 get_toolkit 已迁 _chat.py:354)未逐一重核;max_iters 默认值 / on_acting 工具级
洋葱语义细化待议。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 03:06:48 -07:00
lili
ee631be68f
docs(consistency): 运行时 SoT 版本引用收敛 2.0.2→2.0.3(升级一致性尾)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
承 c3728377 升级:把运行时 SoT 里 26 处 current-capability 陈述(Agent Service /
Workspace / MessageBus / Event System 内置件、已删 MsgHub、原生 ReAct 行为、框架
接缝兼容、已锁版、源码实证)统一到 2.0.3——这些能力在 2.0.3 同样具备。
4 处 ReplyBudgetControlMiddleware「2.0.2 核验不存在」是历史核验实证(0 号 spike
在 2.0.2 基线上验官方当时无此类、故自建 ¥ 两段式硬闸),按两层纪律不改成
「2.0.3 核验不存在」(那是假,2.0.3 已补进原生 token 制);改为保留 spike 期
历史事实 + 加「2.0.3 已补原生、仍保自建 ¥ 闸,见 §15」交叉引,既不误导当前读者
也不篡改历史。docs-gate 七检全绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 02:59:55 -07:00
lili
c372837762
feat(deps): 升级 AgentScope 2.0.2→2.0.3(代码+文档,创始人 2026-07-06 拍板)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
不为某个新特性,而是没道理把底座停在带并行 tool-result 缺陷的补丁版;2.0.3
是同线相邻补丁版,升级面窄、收益确定。承 tech-decisions §11-13「护城河进洋葱、
框架件谨慎审计」线。
代码:两 worker requirements 钉 2.0.3+溯源注;4 个 cheap-worker patch 的版本
guard 更 2.0.3——主控逐一源码核实 2.0.3 锚点仍成立:compress_context@_agent.py:259
未漂移 / _parse_stream_response@_openai_chat/_model.py:297·index 分桶:417 未漂移 /
list_tools@_local_workspace.py:660 / get_toolkit 装配点迁 _chat.py:354(patch 替
绑定名不依赖行号);patch 头 pin 声明同步 2.0.3+复核标记,根因 2.0.2 期实证保留。
文档:current-truth 面扫除(agentscope-2.0-facts 改掉一处「2.0.3 是笔误」错陈述+
行号漂移开源码更新 594→622/136→162/33→42/857→884/875→902、tech-decisions §15
升级决策散文、运行时 SoT 当前选型句、活代码注释、tier2 README 死链修);留痕层
(plans/HANDOFF/patch 根因分析/ADR 历史核验句)按两层纪律不动。
兼容三证:源码逐处 diff(RedisMessageBus/OpenAI formatter 零变化、Anthropic
formatter 仅并行 tool-result bug 修、ModelCallEndEvent 无变化、MiddlewareBase
加性 get_middleware_key)/ cheap 393+tier2 140+patch 20 测试全绿 / dev 两 venv
升级后 3 服务健康。收敛真跑:cheap 便宜档 ReAct 全链路 356 trace 零升级异常+
真出游戏过九门 9/9;tier2 Anthropic 工具循环跑满 40 轮写 15 文件 gen.log/trace
零升级异常(decision=fix 属 tier2 生成质量、非升级回归)。
2.0.3 新增原生 ReplyBudgetControlMiddleware(历史反复核验 2.0.2 不存在的类)/
tool 级洋葱/RAG/mem0,列而不迁(自建 ¥ 两段式 fail-closed 硬闸是护城河,原生
token 软控替不了),follow-up 见 §15。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-06 02:06:14 -07:00
lili
958f78f523
feat(obs): 阶段四观测面二 Python 侧 token metric——llm_tokens{kind} + llm_cache_hit_rate
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
补面五(game-cloud GenMetrics)拿不到的两个纯 Python 侧 token 维度 metric:
llm_tokens(Counter,kind=input/output/cached)与 llm_cache_hit_rate(Histogram,
每 run 命中率 [0,1])。复用波③ 既有 OTLP 基础设施(开关 CHEAP_OTLP_ENDPOINT、
端点解析、代理旁路、service.name=cheap-gen-worker、best-effort 铁律),换 OTLP
metrics 通道;默认关字节不变、绝不咬生成、与面五 5 个 metric 零重叠不双计。
关键约束(主控亲验坐实):生产 Service 路拿不到 cached——trace.py 组 cost.tokens
只填 in/out,agentscope ModelCallEndEvent 只有 input_tokens/output_tokens 无
cached 字段。故 Service 路(on_reply 只读嗅探 in/out、_metric_emitted 幂等)传
cached=None 如实降级:只发 input/output 计数,不发 cached 计数与 cache_hit_rate,
绝不塞 0 伪造命中率。CLI/批跑路(RecordingOpenAIChatModel.records[2])cached 可得、
两 metric 全发。生产 Service 路发 cached 需 per-POST RecordingModel 或 tier2
breaker 存 cached token,均超本次最小改动边界,列 follow-up。
主控终审:亲跑 tests/test_cheap_otlp_sink.py + test_cheap_service_app.py 29 passed、
全量回归 392 passed/1 skipped;逐条读承重 diff(默认关守卫/best-effort/不双计/
cached 诚实降级/MeterProvider 进程单例防线程泄漏/cached 截 [0,input]/除零守卫)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 23:57:40 -07:00
lili
8b91f34b13
docs(design): SVG 尾波补 M4 广告预接线门面图 m4ad-00(三层切换开关+回调 fail-closed 铸币面防护)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
W-DSGN 尾波实际残项唯一 1 张(R3/M4 门面图),补齐并接入 M4 设计档 §0。
主控终审:qlmanage 亲眼渲染验证,修两处单行文本溢出(顶部状态条 tspan 超框
裁字「防重放」→ 精简正文他处已凸显的细节;页脚映射行冗余「状态」段与顶部
约定条重复 → 删段),两处修后重渲染确认完整落框。docs-gate 七检全绿。
作战清单点名的其余尾波图(plan①顶图/quality-01·02/rethink-00/cfgctl2-01~04)
经核对早已提交,无需重画。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 23:44:33 -07:00
lili
c6d6d39a2a
feat(cfg): W-CFG-KB K3 知识包治理接线——knowledge 配置块+激活发布 Nacos+worker 订阅热物化(复用阶段二三·默认关)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
把切片一知识件外置接进受治理配置集,一条「改知识件→定版→激活→worker 物化生效」链,复用配置控制面阶段二/三治理机器零重造:
game-cloud:knowledge 作 content_json 第四内容块(仿 readiness),与 routeA/routeB/readiness 互斥、sanity(packageId/
activeVersion 非空);走向相反=真下发(readiness 进程内空载荷,knowledge 跨进程),激活编成一条路 B 载荷
{knowledge.packageId,knowledge.activeVersion}、经 KNOWLEDGE 档独立 dataId gen-hot-params-knowledge publish 给 worker;
pathA=null→dispatch/reconcile 只走路 B、激活编排一行未改。加 AigcConfigTierEnum.KNOWLEDGE+KnowledgeConfigKeys+NO_ROUTE 文案。
worker:kb_store 加进程级激活版本源槽+attach/detach(对称 genconfig),resolve_active_version 取值链改为治理源(Nacos)>
env 钉版>最新 committed;新 kb_nacos.py(KbActiveVersionSource 订阅 dataId、按 packageId 匹配、激活变更即重物化)+
setup_knowledge_activation() 启动物化+(Nacos 启用时)attach,cheap_service_app 紧接 genconfig 热源挂它。复用 genconfig_nacos 启用旗+代理旁路。
默认关字节不变(TIER2_KB_ROOT 未配→不物化不订阅、read_file 回落仓根;无源→resolve 回落 env/最新);缺文件显式失败沿用
(materialize_active 照抛保留 kb_root、kb_nacos 只在 best-effort 边界接住不咬生成);全 best-effort。admin 本轮做前端契约点
sanity.ts,富编辑视图=紧接下一片(与 readiness 一致)。
主控终审:git 完整(HEAD 未动·无破坏操作)+11 文件精确+读码坐实互斥/routeB载荷/取值链/best-effort/默认关/缺文件失败没削弱
+亲跑 Java codec 34+activation 21(BUILD SUCCESS)+Python test_kb_externalize 21 全绿。真 Nacos 激活端到端排窗口。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 22:50:10 -07:00
lili
5b631e8d5d
chore(tier2): archetype 假旋钮清账——删 genconfig 死声明「archetype」区(生成路从不读、真值硬编码)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
W-S2 follow-up:genconfig.py 登记过一个 "archetype" 区声明 business_sim driver 五参
(steps/stepMs/winThreshold/bankruptSteps/streakLose),但生成路(archetypes._business_sim_gate_spec /
run.DEFAULT_BUSINESS_SIM_PLAY_SPEC)从不读它、真值一直硬编码在那两处 = 死旋钮(改配置无效、误导)。
删该假声明(工单=接线或删声明,取删=最小),两处硬编码加注为单一权威源;放量期确需热调再按 D11
「读 genconfig、硬编码作回落」范式补接线。
纯声明删除 + 注释,零生成逻辑改动。tier2 venv 真跑 test_genconfig_nacos 19 + test_run_gates_stale_verdict 2
全绿 + import 冒烟(archetype 区已从 _BUILTIN_DEFAULTS 删净)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 21:58:23 -07:00
lili
21b5320f3f
feat(cheap): W-CFG-KB 知识件外置切片一——知识包存储(复用 ASSET-SRC 范式)+ 物化 + read_file shadow(路乙 MinIO·默认关)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
知识件(喂 agent 学怎么生成的设计范式:skills/黄金脚手架/few-shot/tier2 RAG)原散在 worker repo 检出、
read_file 按硬编码路径自取,改一条范式得重部署。本切片(K1 路乙 MinIO,创始人拍)外置成可热换知识包:
- kb_store.py:KnowledgePackageStore(LocalFs/Backend)存 MinIO + manifest 落 MySQL(专用表
cheap_knowledge_package_version + 专用桶 cheap-kb,与 ASSET-SRC 正交不合表);复用 store.py 纯工具
(_canonical_content_hash/derive_version_id/_is_safe_rel_path,store.py 零改动)+ manifest-first 半落库
(pending→put→committed、fetch 只返 committed、缺源标 missingContent 不静默)。
- materialize_active:按激活版取回→staging 逐文件 sha256 校验(K2 寻址断言)→原子换入知识根(旧挪 .prev);
缺文件/取不到/指纹不匹配【显式失败】(类比 ASSET-SRC 缺源),kb_root 不动=回落上一份完整包。落点
TIER2_KB_ROOT 在 git 检出之外(deploy-safe,防 reset --hard 抹)。
- cheap_run.py read_file shadow:先查知识根同相对路径(热换即生效)、回落仓根(api.d.ts 等代码不外置);
TIER2_KB_ROOT 未配时短路、read_file 字节不变(默认关);两根守只读+200KB+路径不逃逸、越界即拒。
cheap_roles.py 硬编码路径不改(shadow 在解析层处理)。
K3(yudao 治理+激活推送+admin)= 后续切片,留接缝点(resolve_active_version/materialize_active/default_kb_store)。
主控终审:store.py 零改动 + read_file 默认关字节不变 + 缺文件显式失败/原子回落读码坐实 + 独立表桶 +
亲跑 test_kb_externalize 14 + read_file 回归 18 全绿。真 MinIO 物化闭环排窗口(cheap venv 无 pymysql/minio)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 21:37:50 -07:00
lili
d007974600
fix(tier2): store roundtrip harness 重建用 cwd+相对路径——修 esbuild 路径注释致 bundle 假不确定(SRC T3 真库 5/5)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
W-ASSET-SRC T3 mini-infra 真库窗口验证(真 MySQL+MinIO)暴露:harness _rebuild 每次用新 mkdtemp +
绝对 entry 路径跑 esbuild,而 esbuild bundle 把入口路径写进产物注释(// <abs-path>),mkdtemp 目录名每次
不同 → bundle 字节跨目录不稳 → 断言1「确定性重建」误判失败(实为 harness 自身路径泄漏,非 store/esbuild 不确定)。
改用 cwd=tmp + 相对 entry/outfile,注释恒为 // src/game-logic.js、bundle 字节稳定。
真库真跑坐实:修前 4/5(断言1 假失败),修后 5/5 全绿——幂等 / 确定性重建(bundle sha 字节相等)/ 版本寻址 /
缺源显式失败 / 半落库不留隐形孤儿(put 失败留可见 pending、无隐形对象、续跑自愈成 committed)。
ASSET-SRC manifest-first 存储在真 MySQL+MinIO 全五条闭环坐实(mini-infra:infra-mysql tier2 库 + infra-minio tier2-src 桶)。
T1(翻 TIER2_STORE=backend + 真 tier2 富游戏 gen 落库)待 tier2 真跑窗口。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 20:58:53 -07:00
lili
47644881ff
feat(observability): Grafana 看板激活生成指标 + 三条阈值告警(阶段四·面五之上)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
- observability-overview.json:业务指标占位 panel 改用面五真实指标名(gen_task_total{status=succeeded}
/ gen_duration_seconds / gen_queue_depth / gen_gate_fail_total,去掉猜错的 huijing_ 前缀与 success 标签)
+ 新增 llm_cost 成本 panel(单次均值/近1h累计,标自估值非 new-api 权威)。
- provisioning/alerting/gen-alerts.yaml:三阈值告警——生成成功率<80%(MVP门 §2)/ 队列深度>15(便宜档
并发上限)/ game-cloud up=0(后端不可达),+ webhook contact point(飞书/钉钉,URL 待创始人填)+ 路由策略。
对着 MVP 门(成功率≥80% / 可用性≥99.5% / 便宜档并发≤15)。webhook URL 未填前告警在 Grafana UI 可见但不
外发,§7 验收#2「告警真送达」待真 webhook。compose 已挂 provisioning 全目录,重启 grafana 容器即生效。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 20:47:52 -07:00
lili
5b34807e73
feat(cheap): 面四 Python 三跳 traceparent 打通——便宜档生成串成单条 trace 树(观测阶段四)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
Java agent(面一b)已在派发出网自动注 traceparent;本片补 Python 侧三个断点,让一次便宜档生成
在 Tempo 里是 Java→worker(:9501)→cheap-service(:8300)生成 的单条 trace 树而非散落 root:
- 断点①:worker_service.do_POST 抓入站 traceparent 进 job._otelCarrier(self.headers 仅此可得);
process_job 用 worker_span_scope 在入站 context 下建 worker SERVER span、包住真生成调用(span 建在
真处理 job 的 worker 线程,非只入队即 202 的 do_POST)。
- 断点②:driver 读当前 context(worker span 经 asyncio.run 透传进协程)inject 成 W3C carrier,随出站
:8300 各 POST header 带上;同份 carrier 写会话 sidecar。
- 断点③:/chat reply 在 AgentScope 后台任务跑、与 HTTP 请求解耦读不到实时 context——故走既有 C2 sidecar
桥:cheap_service_app 工厂读 sidecar traceparent → parent_carrier → CheapOtlpSink 每步生成 span 挂入站
context 当子 span(不再私有 root)。
传播 helper 集中 cheap_otlp_sink(extract/inject/worker_span_scope);全程 best-effort(otel 不可用/carrier
坏/Collector 不可达都退化成少串一段 trace、生成异常原样穿出)、CHEAP_OTLP_ENDPOINT 默认关时零行为变化
(parent=None 退私有 root、sidecar 不写 traceparent 字节不变)、代理旁路红线未破、业务 traceId 并存(§10 决策5)。
test_trace_propagation.py 14 例(含端到端三跳单条 trace 树,InMemorySpanExporter 证父子链+同 trace_id)
+ test_worker_service +2;主控亲跑 40 passed(3 文件)+ 全量 364 passed 1 skipped 无回退。
真跨进程 Tempo trace 树验证 = dev 开 CHEAP_OTLP_ENDPOINT 重跑 follow-up。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 20:30:04 -07:00
lili
9d445c1f65
docs(staging-ops): OTel Java agent 挂载配方蒸馏(§9·面一b)——JAVA_TOOL_OPTIONS 注入 + Tempo 验 + 三坑
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
dev 真机坐实的 agent 挂载法:agent jar(2.29.0,aliyun 镜像直连下)+ JAVA_TOOL_OPTIONS 注 -javaagent
不改 restart 脚本 + OTEL env 指 Collector(traces only、metrics/logs=none 免与面五重复)+ Tempo 见 huijing-server span。
三坑入库:①指标进程内 micrometer 重启清零(Prometheus counter reset,单次 scrape 无累计非 bug)
②watchdog 超时收尸经 handleCallback→面五计 timed_out、迟到重复回调拒绝重入不重计
③便宜档需续修 gen 延迟可达 20min(gen_duration 埋点量化)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 19:53:51 -07:00
lili
7e21b331a5
feat(aigc): 面五 game-cloud 生成业务埋点 GenMetrics(观测阶段四·flag 默认关)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
新增 GenMetrics 组件(@ConditionalOnProperty huijing.aigc.metrics.enabled,默认关=零装配零副作用),
把 MVP 要盯的生成指标以 micrometer 暴露给已活的 /actuator/prometheus:
- gen_task_total{status} Counter:终态计成功率(succeeded/failed/timed_out,超时据真实 failureReason 还原)
- gen_queue_depth Gauge:@Scheduled 定时刷 countGlobalInflight→内存 AtomicInteger,scrape 零 DB(勿全表重查)
- gen_gate_fail_total{gate} Counter:九门逐门失败,源 trace.sevenGateVerdict.guards(复用 ReadinessScorer.guardPass:H_progress 嵌套取 .pass)
- gen_duration_seconds Timer(直方图):源 trace.wallS
- llm_cost DistributionSummary:源 trace.cost.totalRmb(worker token×倍率自估值、非 new-api 权威计费)
埋点挂 DifyCallbackServiceImpl.postCommitBestEffort(post-commit best-effort、realSuccess 判定前、
覆盖成功/失败/超时三类终态),null 判空 + 内部吞异常双保险,绝不进 DifyCallbackTxService 事务方法、
不咬回调主链(§8 旁路铁律)。micrometer-core 经 spring-ai-commons 传递,无需改 pom。
GenMetricsTest 7 例(终态三标签/耗时成本/逐门guards嵌套裸/队列gauge/脏trace吞/开关装配三态/抛错不咬主链)
+ 主链回归 DifyCallbackServiceImplTest 20 + DifyCallbackTxTraceTest 6,主控亲跑 BUILD SUCCESS 全绿。
面一 actuator 已活;dev 重部署后 profile 开 flag 即出指标(下一窗口深冒烟真验)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 19:23:20 -07:00
lili
dee9158504
docs(staging-ops): feed 流端点语义蒸馏(§5)——/feed/stream 服务 zone0 无 zoneId、size @Max=20 超限返空、发布双写 zone0+专区
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
R5 假警报根因入库防复发:给 /feed/stream 传 zoneId 被静默忽略(它只收 cursor+size 恒服务 zone0)、
专区流是另一端点 /feed/zone/stream?zoneId=N;size 超 @Max=20 校验失败返空 data 非报错;
发布编排双写 zone0 主流基线 + 非零专区补写(feat 2bc8c86c),一款游戏可同现主流与专区。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 18:47:26 -07:00
lili
2bc8c86c47
feat(feed): 新游戏发布汇入主混合流——发布基线 zone0 恒写 + 非零专区补写双写(创始人 2026-07-05 拍 A)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
发布编排原 zone_id = launch_zone_id 或 0 二选一:创作者选了非零专区(必填字段)则
游戏只落该专区排序行、不进 zone0 主混合流,而 /feed/stream 服务 zone0——内测玩家
默认流看不到新游戏(R5 走查暴露)。改为双写:发布恒写 zone0 主流基线 + 若创作者
另选非零专区再补写该专区一条(uk_game_zone 视作不同排序行,双写互不冲突,同发布事务原子)。
顺带消除既有潜伏不一致:telemetry 算分回灌固定打 zone0,原来非零专区游戏在 zone0
无基线行 → 回灌恒跳过、永不刷分;zone0 基线补齐后回灌可正常刷分。
抽出 writePublishBaseline helper;DTO zone_id javadoc 同步双写语义;
补 publish 路 3 单测锁分流(非零专区双写 / zone0 单写 / null 回落单写)。
PublishOrchestrationServiceImplTest 本机实跑 6/6 绿(3 原 unlist + 3 新 publish)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 18:27:12 -07:00
lili
8724501f32
feat(aigc): D11 质量评分参数外置进配置集(W-CFG-EXT E1-E3)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
背景/目的:D11 就绪评分的四维权重与效率预算阈值原本硬编码在 ReadinessScorer
里,放量校准要改代码换 jar;本提交把它们收进阶段二配置集治理,改一版即生效、可
回滚、可归因(SoT §10「校准走配置、不在现场拍脑袋」的配置载体,不改任何命题)。
范围/做法(E1-E3):
- E1 content_json 加第三块 readiness(十字段,值=ReadinessScorer 常量)+ 档位枚举
加跨档特例值 READINESS(无 Nacos dataId、进程内消费);codec 加 readiness 值域
sanity(四维权重和≈1.0±0.001/各∈[0,1]/预算>0/repairs_good≤ok/子项分∈[0,1])
与 routeA/routeB 互斥;NO_ROUTE 判据扩为 !hasA&&!hasB&&!hasReadiness(空串/{}
仍红)。
- E2 新 ReadinessConfigProvider(读激活版 readiness、短 TTL 缓存、逐字段回落、读失
败不抛)+ GenConfigService.getActiveVersionBySetKey(按 uk_set_key 定位、读不到返
null);ReadinessScorer 从 provider 取权重阈值、硬编码常量降为回落默认(一个不删)
、@Autowired(required=false) 可选注入不破坏既有 new ReadinessScorer() 单测;顺修
:19/:151 陈旧「预算<=0.15」注释(实际 0.6)。
- E3 激活编排一行不改:readiness-only 经 codec 产空载荷,现有 dispatch/reconcile
在空载荷下天然短路成「值域 sanity + 账本收口、无投影、恒一致」。
建模:按计划倾向用枚举值 READINESS(§7 待拍点,创始人未明拍,可 revise 为与 tier
正交的 kind 维度)。契约先落(content_json.readiness schema/javadoc、
AigcConfigTierEnum、GenConfigService 接口、NO_ROUTE 错误码文案)再改实现。
验证:整 game-module-aigc-server 单测 385/0/0(7 skipped=需真基建 RealIT);api
经 -am 从源码重建绿;既有反射测试(CheapWorkerResultOutContractTest)与 score==95
锚点(SaaGraphDispatcherTraceTest)未破坏。真 Spring 上下文 wiring + 真后端 e2e
排部署窗口。
边界:W-CFG-KB(知识件外置)不在本提交(gated 别的依赖);admin 端 readiness 数字
字段编辑表单为 follow-up(本提交只做后端)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 18:11:20 -07:00
lili
8200aa08d0
feat(tier2): W-ASSET-SRC 源工程存储 manifest-first 落库 + 治理对账门 + 取回重建 harness + 孤儿清扫 job (SRC T1-T4)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
背景/目标: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>
2026-07-05 18:03:28 -07:00
lili
51482b758f
docs(plans): W-CFG-EXT/KB 配置外置执行计划(Opus 单评「可执行·小修」→九条返修·待创始人拍)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
D11 质量参数(全硬编码 ReadinessScorer.java:33-50 带"待外置"注释)+ 知识件(Nacos 100KB 装不下、
需文件存储)收进阶段二配置集治理。Opus 单评判可执行·小修,九条逐条修回(主控亲自落盘,因返修
子代理工具通道故障、我的主通道经 grep 逐批亲验):
- ①K1 决策材料轴向硬伤(git-ref 其实可热换:read_file cheap_run.py:84 现读盘无缓存,git checkout
知识件路径后下次生成即读到新内容、不重启)——真轴改为「带内 config-center 推送 vs 带外整树 git op」
+ 补码/进程 skew 运维告警(这反使 MVP 先路甲更成立);
- ④E3 降风险改述:激活编排一行不改,codec 对 readiness-only 产空载荷、现有 dispatch/reconcile 天然
短路(码证 GenConfigActivationServiceImpl.dispatch:178-182),不碰双路激活主链与补偿不变量;
- ②readiness ⊻ routeA/routeB 互斥 sanity(防误配拼伪 dataId);③ReadinessConfigProvider 依赖的
getActiveVersionBySetKey 服务方法当前不存在、一并补契约;⑤MinIO read_file 根改造成本;
⑥NO_ROUTE 判据扩 !hasReadiness 保既有断言;⑦provider 定死短 TTL;⑧readiness 表单是新增非纯复用;
⑨doc↔code 锚 BUDGET_RMB:50=0.6 + 清 :19/:151 陈旧注释。
待创始人拍:D11 建模(枚举 vs kind)+ K1 存储(git-ref vs MinIO,材料已按真轴摆正)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 13:11:43 -07:00
lili
e21ab160e2
feat(obs): T2-5 Prometheus scrape game-cloud actuator(波② 端点已成立·dev target)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
波② 已给 huijing-server 挂 actuator/micrometer、/actuator/prometheus 端点成立并 dev 亲验,
本波启用 prometheus.yml 里预留注释的 game-cloud job:target=dev huijing-dev(100.64.0.7:48080,
staging profile 已放行 /actuator/**、exposure 仅 health,prometheus)。nacos/rmq job 仍留注释
(各自 exporter 未就位、不越界)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 11:50:20 -07:00
lili
ae1f9a003d
docs(plans): W-ASSET-SRC 源工程存储执行计划(Opus 单评需返修→逐条修回·待创始人拍 §7)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
承接《游戏资产管理范围决策》设计 §3① 切 SRC 一段(把 tier2 BackendStore 从
"真实现已写好却没通电"推到接生产/受治理/有真跑证据/半落库孤儿有修法)。
Opus 单评(Codex 结构性取不回、协议 #8 兜底单评)判需返修,三硬伤逐条修回:
R1 fetch 两分支补 status='committed' 过滤(否则 pending 半成品被当最新取回)、
R2 tier2 表不塞 db-schemas 根(撞 huijing Flyway 对账契约)改 contracts/README 治理指针、
R3 status 列补 ALTER 受治理迁移 + CREATE DATABASE 前置;M1-M3/L1-L2/docstring 整块亦修。
四工单(接线/治理+孤儿修法/取回重建 harness/清扫 job)六要素齐、contract-first。
§7.1 补全 manifest-first vs versionId-only 真实复杂度对照,留创始人拍。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 11:36:47 -07:00
lili
e200bc4577
fix(smoke): --deep 写路径改便宜档真实流(空 templateId→归一 generic 派 worker)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
原 --deep draft 用 templateId=idle,撞 AigcGenerateExecutor:535-536 硬相等分派闸
(仅 templateId=='generic' 投 worker),fall-through 到进程内 LLM 旧路、到不了 :9501,
冒烟测的是废弃路径=假绿。改为不设 templateId(复刻真实「一句话不选模板」流:
后端归一 generic→派外置 worker),并更新陈旧注释(旧 poll=10s 落包→executor 派发 worker)。
R5 grounding 真 e2e 坐实(闭环-fix),配 staging-ops §8。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 11:23:50 -07:00
lili
04ad6bc14c
docs(staging-ops): §8 后端→生成线派发接线(executor 命脉·内测 dev 闭环真 e2e 坐实)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
2026-07-05 起 dev 全栈栽在漏注 AIGC_EXECUTOR_*(默认 false→executor 整组 Bean
被 @ConditionalOnProperty 挡出装配→入队成功却无人分派、静默卡 queued)。真 e2e
坐实正确配置后蒸馏进仓,免重复探索:派发链路、/root/huijing-dev.env 关键项、
分派闸硬相等 templateId=='generic'(business-sim fall-through 旧路·冒烟须 generic)、
陈旧 game-staging/.env gamedef 时代值别照搬、status=0 预览包需审核台 APPROVE 才进 feed。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 11:17:16 -07:00
lili
7cdb3049eb
feat(obs): huijing-server 接 actuator + micrometer-registry-prometheus 激活 /actuator/prometheus(阶段四观测 波② T2-2)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
单体聚合层(部署件)显式引入 spring-boot-starter-actuator + micrometer-registry-prometheus
(二者在 huijing-spring-boot-starter-monitor 里 optional 未随传递装入),wire 通「在席但残缺」的指标能力:
- /actuator/prometheus 端点成立、真出 JVM/HTTP/Tomcat 指标(供 mini-infra Collector/Prometheus 抓)
- HuijingMetricsAutoConfiguration 激活、aigc 的 SAA 图节点 ObservationRegistry 由 NOOP 转真(可产节点 span)
- /actuator/health 由假 {"code":404} 变真 Actuator HealthEndpoint
exposure 内网口径收敛为 health,prometheus(dev/local/staging 三 profile),不裸暴露 env/heapdump 等敏感端点。
不改 yudao 框架层 starter 的 optional 默认、不碰业务逻辑;版本由 spring-boot-dependencies BOM(3.5.14) 管。
验证:JDK17 下 mvn clean install -pl huijing-server -am -DskipTests 绿;repackaged jar 已含
spring-boot-actuator-3.5.14 + micrometer-registry-prometheus-1.15.11。
OTel java-agent 挂载属启动/部署项(T2-1),代码侧零改动,不在本 commit。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 10:29:07 -07:00
lili
9f42cd2c7b
fix(cheap): requirements.txt 补声明 nacos-sdk-python==1.0.0(dev 起栈真暴露)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
cheap-worker 经 sys.path 复用 tier2 的 worker.genconfig_nacos 接配置控制面热源,但
cheap-worker/requirements.txt 一直漏声明 nacos-sdk-python(tier2/gen-worker 有声明)。
后果:新建 cheap venv 起 Service 时 `import nacos` 失败→Nacos 热源静默不 attach、回落本地
YAML(门参不热更)。2026-07-05 dev 环境全栈起栈时真暴露(便宜档 Service 首启 ModuleNotFoundError)。
补声明钉 v1.0.0 与 tier2 同版。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 10:10:50 -07:00
lili
f92a764fb3
docs(staging-ops): 生成线在 mini-desktop 的环境地图 §7(波③ OTLP 真跑蒸馏·免重复探索)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
把这轮 ③真跑摸底出的生成线坐标钉进配方,后续接 cheap/tier2 Python 服务直接照用:
- 真检出 = /root/games-development-ai/(dev/2.0.0),非陈旧红鲱鱼 /root/tier2-run/(c0135926);
- cheap venv = cheap-worker/.venv(uv 建·带 agentscope+otel)、tier2 venv = /root/.venvs/agentscope-tier2、uv 在 /root/.local/bin;默认 /usr/bin/python3 三样皆无;
- mini-desktop cheap-worker/ 带本地未提交补丁(m3_stream_patch 等)=分叉,别盲 pull 覆盖,单文件 scp -o ProxyCommand=none 更新;
- 生成线端口 :8300/:9501/:8200,门参从 Nacos(namespace 空串)热读;
- Python 跨机/出网绕 clash fake-ip(NO_PROXY=100.64.0.8+清 http_proxy),实证 →:4318=200;
- 波③真跑配方:CHEAP_OTLP_ENDPOINT=http://100.64.0.8:4318→Tempo 见 cheap-gen-worker,查询等 ≥15s(decision_wait 10s+ingest),只有 error span 必采;
- 观测栈自观测缺口:Prometheus 未 scrape collector :8888 内部 telemetry(波⑤补)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 09:27:39 -07:00
lili
daa49e5864
feat(obs): 便宜档主生成路 OTLP span sink + 双入口 fan-out 并接(阶段四观测 波③ T3-1)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
便宜档 Service(cheap_service_app)+ CLI(cheap_studio)主生成路此前只经 make_jsonl_sink
写 trace.jsonl、不产 OTLP span,观测栈 Tempo 看不到便宜档生成。新接 cheap_otlp_sink:与
make_jsonl_sink 同签名,把每步 TraceStep 推成 OTLP span 发 mini-infra Collector
(service.name=cheap-gen-worker),span 属性映射对齐 tier2 studio_sink 的标准 gen-ai 键。
- 默认关(env CHEAP_OTLP_ENDPOINT / infra_config 取不到即 no-op),build_trace_sink 原样返回
jsonl sink、现有行为字节不变;开则 fan-out(jsonl 先落盘照旧、OTLP 额外发一份,各 best-effort)。
- best-effort 铁律:缺 otel / Collector 不可达 / 发送失败 → 记一次告警、永久降级 no-op、绝不抛、
绝不咬生成主链(设计 §8);observe-only 从不回写生成/门判定字段。
- 惰性 import otel(顶层零重依赖,对齐 build_cheap_app 惰性红线)+ 代理旁路(T3-4,建 exporter 前
把 Collector host 并入 NO_PROXY,绕 clash fake-ip)。
- provider 做进程级共享单例(非 per-run):长驻 Service 中间件工厂 per-turn 建 sink,per-run 会逐局
泄漏后台上报线程;trace_id 只作 per-span 属性,BatchSpanProcessor 一条后台线程跨局复用,atexit 兜底 flush。
- 双入口都接(Service :273 + CLI :214),fan-out 不破坏既有 jsonl 落盘。
终审(亲跑非照搬):cheap-worker/.venv 全套 350 passed/1 skipped(含 span sink 11 例)、零回归、
py_compile 三文件过、docs-gate 七检绿。跨机 OTLP 命门已验(mini-desktop→mini-infra:4318=200)。
真发 Collector→Tempo 见 span 排 mini-desktop 起服务后验。
T3-3 metrics 空口按红线#7(不留孤儿)剔除:本波无生产调用方,真值填充随波⑤ T5-2 带埋点调用方一起落。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 09:16:16 -07:00
lili
960198bd20
docs(资产/观测): workflow 双产出 fable 终审通过(资产面范围决策设计 + 阶段四后续波 plan)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
workflow wdfr57899 异步产出、fable 终审:
- 资产面范围决策设计(①源工程存储+②素材市场都要):opus 调研→主笔→对抗/完整性/材料三视角评审→修。fable 终审:对抗评审 3 硬伤真修(孤儿覆盖断言据代码纠正+修法二选一+清扫job抬必交/assetRefs据实化+跨线前置/验收改字节等价硬门sha256)、关键事实亲验坐实(BackendStore save:482/fetch:574 真实现非占位、assetRefs/lineage 契约零命中、TIER2_STORE 部署零命中)。四段拆:SRC最优先/MAT-VERIFY并行/MARKET-READONLY排期/MARKET-TRADE后置(对齐数据飞轮§4)。待创始人评审§7六项。
- 阶段四观测后续波 plan(②game-cloud挂agent+actuator/③Python两线接OTLP/④三跳traceparent/⑤埋点+看板+告警):照已签设计施工、不触发双评审门;工单六要素齐、碰生产窗口(game-cloud单体②⑤/生成线③④)全文分开、验收引设计§8六条+脱敏第7条。待创始人定窗口§7六项。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 08:38:20 -07:00
lili
3ab1b7693e
docs(mvp): 16周主计划 SoT 补内测里程碑(创始人 2026-07-05 拍 7月中旬硬目标·反推压缩)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
创始人拍板:种子外测/内测从原阶段三(W9-12≈8月)提前到 7 月中旬、立显式里程碑倒逼压缩。§2 波次轴总述后加内测里程碑块:
- 工程命门(全力压):生成≥80%放量(决策⑤)+ 前端五链路真机验收 + A11 计费 e2e
- 合规硬约束(真墙):大模型登记/算法备案数月级、须外测前完成、现未提交;7月中旬能否成立取决于内测豁免口径(≤2万人+不接广告+报备删档),须律所#11先拍;豁免拍不下则日期后移
- 压缩后波次:阶段二真机验收与内测冲刺并行、变现走mock不阻塞;留存运营验收按自然周期
frontmatter status 补此决策。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 08:28:16 -07:00
lili
3a0f65eabb
docs(.agents): 观测栈起容器四坑蒸馏进 staging-ops §6(compose 部署 mini-infra)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
阶段四第一波起容器排障蒸馏成复用 checklist(staging-ops.md 新增 §6):
①端口 ss -tlnp 查(docker ps 看不到 host 网/宿主进程端口,如 mihomo:9090)
②expand-env 组件配置注释禁写 ${}(Loki/Tempo/collector 连注释严格校验、通配符触发 missing closing brace)
③镜像 pull 成功≠binary 在,docker run --version 验(daocloud mirror 的 collector 0.116.0 缺 binary)
④换 tag 复核配置字段兼容(redaction blocked_key_patterns/redact_all_types 降版本丢=脱敏红线)
+ §4 边际登记②观测保留期第一波已定(Prom/Loki 15d、Tempo 7d);README 索引描述补 compose 部署。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 07:44:34 -07:00
lili
7406b06d23
docs(凭据): 观测栈访问方式落档(Grafana/五件端点/MinIO 桶/ssh 连法)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
阶段四第一波观测栈五件起在 mini-infra,访问方式进凭据文档 SoT:
Grafana http://100.64.0.8:3002 admin · Prometheus 9091(避 mihomo)· Tempo 3200 · Loki 3100 · Collector OTLP 4317/4318;镜像定版含 collector 0.155.0 周折;ssh 真 IP -o ProxyCommand=none 连法。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 07:28:32 -07:00
lili
9c4638ee9d
fix(观测): 阶段四第一波起容器四处排障修复(端口/expand-env/镜像)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
起容器碰生产 mini-infra 暴露四坑,逐个修:
- 端口:9090 被 mini-infra 自身 mihomo/clash API 占(docker ps 看不到 host 网/宿主进程端口、摸底漏),Prometheus 让到 9091
- Loki+Tempo:配置注释里的 ${MINIO_*} 被 expand-env 连注释严格校验、通配符触发 "missing closing brace",改纯文字(先前误判 Tempo 宽松、其实同款)
- Collector 镜像:daocloud mirror 的 collector-contrib:0.116.0 缺 binary(exec no such file、force 重下同 digest 仍坏);0.114.0 的 redaction 缺 blocked_key_patterns/redact_all_types(脱敏红线);定版 0.155.0(binary 完好+redaction 字段最全)
五件全绿:Collector/Prometheus(9091)/Tempo/Loki/Grafana 全 200,实占约 170MiB(<< 3.4G 上限)。
follow-up:0.155 提示 otlphttp→otlp_http(deprecated warning、不阻塞)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 07:25:39 -07:00
lili
62ce5531b6
feat(观测): 阶段四第一波观测栈 compose(五件+脱敏+MinIO后端,不起容器)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
deploy/infra/observability/:OTel Collector+Prometheus+Tempo+Loki+Grafana docker-compose,照已签设计施工(opus 写 + fable 源码级终审)。
- 端口逐个不撞现有(Grafana 3002 避 new-api 3000/gitea 3001;Collector 4317-4318/Prom 9090/Tempo 3200/Loki 3100)
- 资源三上限(mem 合计 3.4G / cpus / cpu_shares=512 CPU 争用让路 new-api)
- 脱敏 redaction 三 pipeline 导出前(手机号/token/JWT/密钥)= 安全红线
- Tempo/Loki 存 MinIO 独立桶 obs-tempo/obs-loki(minio-init 幂等建、不碰 ragflow)
- 镜像全钉版本、密钥全走 .env 不入仓
终审验通:git 纯新增未 commit / compose config exit=0 / infra-minio 在 infra-shared 网 DNS 可解析(最大风险排除)/ grafana:11.4.0 经 daocloud mirror 拉取成功。起容器待创始人 go(碰生产 mini-infra)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 05:28:52 -07:00
lili
e1f5a66a5d
docs(观测): 阶段四设计创始人评审通过定稿(§10 六项拍板回写)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
创始人 2026-07-05 评审 §10 六项已拍:
- 告警件 Grafana 统一(替夜莺)· admin 一键进盘本期做 · traceId 并存关联 · 落点 mini-infra 32G
- new-api 冻结阀:本期只做通道巡检加告警,自动冻结阀排下一期
回写 §10 结论、§6/§7 内部一致(去评审前「待确认/待表态」措辞)、frontmatter status 转定稿。
docs-gate 七检全绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 04:48:32 -07:00
lili
aceea4e52f
docs(观测): 阶段四设计二轮 Opus REVISE 三条修回(便宜档 OTLP 现状/脱敏验收/sot-impact 改动面)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
二轮 Opus 评审裁 REVISE(小幅定向)。亲验源码坐实后订正:
- Finding 1(一轮改过头):便宜档 Service+CLI 用 make_jsonl_sink 写 trace.jsonl 不产 OTLP;
唯一 OTLP exporter=tier2 专属 studio_sink、发 AgentScope Studio 私有端点、私有 root 不读入站 context。
订正 §3 面二/面三·§4 图·§5 面二/面四·§6 表;删「重定向十分钟」旧断言,改写为两条线各一处真实接线。
- Finding 2:§8 补第 7 条脱敏可跑验收(注入手机号/token→验 Tempo/Loki 打码)。
- Finding 3:frontmatter sot-impact 补明两 canonical 真实改动面(观测体系 §1 现状订正+告警多段;
k8s迁移落点反转牵动目标/拓扑/阶段/风险/验收)。
- Finding 4 顺手:§5 面三 scrape 拉/推方向澄清、面四 Java traceparent 注入依赖面一先装 agent。
docs-gate 七检全绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 03:38:02 -07:00
lili
8409f19c2a
docs(svg): 配置控制面阶段二 4 张人读 SVG(W-DSGN SVG 尾波核心)+ 接入阶段二设计档填占位
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
opus 按 atlas 标准产 4 图落 docs/agent-specs/assets/,fable 终审(结构良构+viewBox 自适应/最复杂的双路激活图
qlmanage 渲 PNG 亲看无溢出配色准/设计档 diff 零 prose 改):
- cfgctl2-01 配置中心分层与分工(yudao 治理⊕Nacos 路B、基建vs业务分工、prompt 出 Nacos 进 MySQL)
- cfgctl2-02 双路激活编排(sanity 前置→beginActivating 快照→路A PATCH∥路B publish→markVersionActivated→补偿)
- cfgctl2-03 激活一致性状态机(草稿→待审→ACTIVATING V30 持久态→已激活;recoverActivating 幂等/双恢复语义)
- cfgctl2-04 漂移对账三态(IN_SYNC/DRIFT/不可达;8s 容忍窗;篡改→检出→重推→收敛闭环)
接入阶段二设计档 §2/§3.2/§3.3/§3.6 四处 SVG 占位为真实内嵌+图清单同步(11增8删,零 prose 改)。
atlas 复验全过(界内/良构/脚注/转义)、docs-gate 绿。W-DSGN 只剩旧档 SVG(plan①顶图/quality/重推演,非阻塞)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 01:43:41 -07:00
lili
4ff754c634
docs(design): 阶段四 §10.6 扩容收口——mini-infra 32G 已扩并复验健康(available 427Mi→24Gi,OOM 风险解除)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
创始人 2026-07-05 选 32G,mini-infra 15G→31Gi 可用;fable SSH 复验:used 6.7Gi/free 20Gi/available
24Gi、12 容器全回来零异常退出(minio/mysql/postgres/redis/nginx/new-api healthy)、Nacos readiness 200。
观测栈 3-4G 常驻装进 24Gi 余量绰绰、OOM 风险解除;本项收口(内存维度已备,CPU/IO 隔离+跨机拓扑仍按设计执行)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 01:39:23 -07:00
lili
d5dae4aa45
docs(design): 阶段四观测设计 双评审修订(Codex+Opus REVISE→9+6 条修回,两处事实冲突亲验纠正)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
fable 主笔草案经 Codex(6条)+Opus(9条)双评审均裁 REVISE,两处 reviewer 事实冲突我亲验纠正后全修回:
- ✅ 亲验:otel wheel「已随 agentscope 2.0.2 传递装齐」(cheap-worker/.venv 有全套 1.43.0、Requires-Dist 带)
→面二叙事从「缺 wheel 会炸」改「依赖已齐、真因没配地址 no-op、重定向=配 Collector 地址」;
- ✅ 亲验:monitor starter「经 system/infra 两模块传递进 huijing-server」(两 pom 均引)→§3 现状从
「classpath 不存在」改「starter 在席但残缺(actuator/micrometer 未装、SkyWalking Bean 注释死)、OTel 共存收编」。
必修六项修回:①面二 otel 叙事 ②面四 Python 真实三跳 traceparent(worker_service 手动 extract/worker→本机
Service:8300 注入/Service span 接传入 context;端到端 trace_id 列回硬验收)③sot-impact 补《k8s迁移》canonical
(落点反转取代其 mini-desktop k3s observability 段、两份同批回写)④脱敏 Collector processor 安全红线写回+
admin 一键进盘表态 ⑤§8 验收补回端到端 trace_id/告警真送达/成本对账/agent 性能量化六条硬判据。细化四项:成本
自估非权威标注+logs.quota follow-up、SAA 仅 saa 路限定、CPU/IO 挤兑+跨机拓扑隔离纪律、冻结阀去留表态。
status→待创始人评审(§10 六项确认项)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 01:21:42 -07:00
lili
fd2546399b
docs(design): 全链路可观测性 OTel 三信号全栈 落地设计(阶段四草案·待双评审+创始人评审)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
方向 B 全栈 OTel(Collector+Prometheus+Tempo存MinIO+Loki+Grafana 三信号)+ 落点 mini-infra
加内存后落(创始人 2026-07-05 两拍)。摸底坐实五面现状(game-cloud SkyWalking 追踪已死需上
OTel Java agent+actuator / Python studio_sink 已是 OTLP exporter 重定向近零成本[requirements 缺
otel wheel 隐雷] / deploy 观测栈零 / 跨语言 traceparent 打通两条 HTTP 接缝 / 业务指标埋点零命中)。
本设计修订 canonical 观测体系.md 三处(落点 mini-desktop→mini-infra扩容 / 告警件夜莺→Grafana 统一 /
补五面落地+埋点清单),sot-impact 已申报、上级指 canonical。§10.3 已写回 mini-infra 实测(15G/free
427Mi/容器实占~7.5G ragflow 独占 3.35G)+ 扩容建议(32G 下限 / 64G 一台管到底)。实施卡硬件扩容窗口。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 01:01:22 -07:00
lili
5cb84c1ca6
docs(boards/plan/distill): 阶段三 UI 完成+终审对账回填 + tech-decisions §14⑥(工单契约出入·vite 构建门)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
- 作战清单/进度总账:阶段三 game-admin 配置控制台 UI ✅ 完成+fable 终审(79264197,6文件+1276:
api 14端点+详情三区[JSON 编辑器保 routeA/routeB 信封]+菜单种子 7120-7125;Opus 评审 REVISE→
F1-F7 修回、F5 拍档A;逐字对源修工单3处出入;vite build 亲跑绿;真后端 e2e 排 staging 窗口)。
- 阶段三 plan status→已执行完成。
- tech-decisions §14⑥:列单人工单也会有契约出入(枚举名/参数名写岔)、executor 逐字对源核是免费第二道门
(与①路由字面量对源同源);game-admin 构建门=直调 vite 二进制,pnpm build:* 的 runDepsStatusCheck
无-TTY/无网中止≠编译错,别误判构建红。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 00:11:37 -07:00
lili
79264197ae
feat(aigc-admin): 配置控制面阶段三 game-admin 配置控制台 UI(14端点封装+列表/详情三区/版本diff/漂移对账+aigc:config五权限菜单种子)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
消费阶段二已落的 AdminGenConfigController(/admin-api/aigc/config 十四端点),把受治理生成配置变得可视可操作、有权限边界;不改一行后端契约。
- api/aigc/config/index.ts:14 端点封装 + VO 逐字对齐 TS 类型;三个 @RequestParam POST(archive/recover-activating/rebroadcast)走 params 位防真机 400;全走标准 CommonResult request(排除 genMonitor 裸 axios 范式)
- views/wanxiang/config:配置集列表+新建+归档;详情抽屉三区——草稿编辑(prompt 大文本域 + JsonEditor code 模式,解析→改叶子→原样回序列化保 routeA/routeB 信封 round-trip + routeA sanity 前端预校验)/ 版本历史+全量查看+与上一版 diff / 激活·回滚·恢复卡激活+漂移对账三态+一键重推;写按钮全 v-hasPermi 收敛(save/freeze/archive/activate)
- game-module-aigc/sql/aigc_config_menu.sql:自建父菜单(id 7120,component=wanxiang/config/index)+ 5 权限点(7121-7125:query/save/archive/freeze/activate)INSERT IGNORE 幂等,id 段避撞 biz(7100-07)/trade(7110-12)
- 契约核实:状态枚举实为 AigcConfigStatusEnum 五态(补工单漏的 ACTIVATING=15)/ verdict 五态 / changeType 三态逐字对源;version/get 参数是 versionId、version/diff 参数是 versionAId+versionBId
- 验收:vite build 绿(exit 0)+ eslint 干净(exit 0)+ vue-tsc 我方文件零类型错误(总数持平基线 55,均上游 yudao);真后端 e2e 走查待 staging 部署窗口(诚实口径:本地只到 build 绿)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 00:03:13 -07:00
lili
37bbb5e55e
docs(plan): 配置控制面阶段三工单 Opus 评审修订(REVISE→F1-F7 修回)+ F5 创始人拍档A
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
Opus 开工前对抗评审裁 REVISE,抓三处「mock 绿真机断」硬伤,已修回:
- F1[阻断] content_json 是 routeA/routeB 嵌套信封(非扁平)——草稿编辑器定 JSON 编辑器 round-trip
保信封(F5 创始人拍档A:schema 驱动引导表单降二期跟进)+ 前端 routeA sanity 预校验;信封契约
取自 GenConfigContentCodec 钉入 §3.2①。
- F2[阻断] 3 个 POST(archive/recover-activating/rebroadcast)绑 @RequestParam 非 body → 前端走
params 位否则真机 400;§二逐端点标参数位+精确字段名(freeze 用 id、activate/rollback 用
configSetId+versionId);枚举逐字对源码核。
- F3[中高] 菜单权限种子欠定——自建 type=2 父菜单+5 按钮=6 行、id 取 7120+ 实查 max、INSERT IGNORE。
- F4 权限门用非超管角色验;F6 api 范式点名 infra/config·trade.ts 排除 genMonitor;F7 diff/漂移 VO 扁平直渲、风险 2 收窄。
Codex 半评审走异步 runtime 不可内联取,按 protocol #8 Opus 单评生效。待放行执行。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 23:38:12 -07:00
lili
315c18e25f
docs(plan): 配置控制面阶段三 game-admin 配置控制台 UI 实施工单(草案·六要素·待双评审+放行)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
阶段二后端 AdminGenConfigController(/admin-api/aigc/config 14 端点+RBAC aigc:config:*+VO)已就绪,
阶段三=纯前端在 game-admin(Vue3+ElementPlus yudao fork)建配置控制台接这 14 端点+菜单权限种子。
六要素:目标背景/端点面/范围 MECE(做:api 模块+配置集列表+详情三区[草稿编辑/版本历史/激活]+diff 视图+
漂移对账面板+菜单权限种子;不做:schema 驱动动态表单[stretch]/BPM 审批[放量后]/阶段四观测/知识件配置面)/
可验证断言五条(build 绿+端点全接+权限门真+真后端走查闭环+诚实口径)/依赖前置/风险回滚。
上级=阶段二设计档,sot-impact=无契约变更。作战清单挂草案指针。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 21:54:32 -07:00
lili
3834e51450
docs(boards/distill): 阶段二部署窗口批完成+SSH 终审 + 测试债两条清 对账回填 + tech-decisions §14 两坑蒸馏
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
- 作战清单 W-CFG:部署窗口批 🔄 →✅ 完成+fable SSH 独立终审(路A `/sessions` 双证/灌 dataId
零漂移/门阈值热改亚秒/两 smoke succeeded/回退一处可逆/三 follow-up);既存测试债两条 ✅ 已修
`167cedde`。
- 进度总账:最近更新窗回填部署完成+测试债清。
- tech-decisions §14 增两坑:④ worktree isolation 默认基线=仓库默认分支 dev/1.0.0(893 提交前
TS monorepo 老线)→派 worktree 干 dev/2.0.0 活须先 reset、小活主树直修;⑤ venv 缺「已声明但
惰性 import 故建 venv 未装」依赖(nacos-sdk-python)=开旗后热源静默不 attach,启用旗前置须
pip install -r requirements.txt;并记 live 变更终审工艺=SSH 只读独立核实与报告逐字比对。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 21:45:00 -07:00
lili
167cedde15
fix(aigc-test): 修两条既存测试债——控制平面测补 MQ producer @Mock + schema 校验测夹具自包含化
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
条1 AigcControlPlaneTest(原 6 err):AigcTaskServiceImpl 接 RocketMQ(T-AGC-07)后新增
genTaskProducerProvider 软注入字段,本纯 Mockito 测未声明对应 @Mock → @InjectMocks 留 null →
成功入队路径(insert 后 getIfAvailable() 发 MQ 信号)6 例 NPE。补 @Mock provider(字段名同源
按名消歧)+ setUp 桩 getIfAvailable()→null(走生产「producer 缺席→跳过投递、任务留 queued」
软兜底;本测只断 insert 落库、不断 MQ 投递)。
条2 GameConfigSchemaValidatorTest(藏红/陈旧 target 假绿):accepted-configs.json 夹具由 pom
copy-wanxiang-test-fixtures 从 docs/agent-specs/2026-06-09-generation-spike 拷入,该源目录已随
史料档清理删除(6d2f8789)→ 干净构建拷空、夹具缺失、assertNotNull 红,仅靠上次构建残留 target/
陈旧副本假绿。修=从 git 史(6d2f8789^)捞回 6 条 clicker accepted 配置、落一等 test 资源
src/test/resources/wanxiang-test-fixtures/accepted-configs.json(普通 test 资源自动进 classpath)、
删已破 pom 执行段(另一拷 contracts 的执行段不动)。
验证(干净 mvn clean test 清陈旧 target/):两目标类 27/0/0;整个 aigc-server 模块套 363/0/0
Skipped 7(基础设施门测),BUILD SUCCESS,零回归。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 21:38:35 -07:00
lili
c3f9c26bf9
feat(aigc)+docs: 决策5「按推荐」落 BUDGET_RMB 0.15→¥0.6(D11 效率维纠错配,待外置)+ 决策6「进配置集」裁定入档 + 板追加四增量(W-CFG-EXT D11 外置/W-CFG-KB 知识件入集/阶段四 reframe 全链路 OTel-Prom-Grafana/W-ASSET 资产管理待 scope)
...
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-04 21:05:18 -07:00
lili
c01359262e
docs(boards/distill): 阶段二全五步收官对账(作战清单 W-CFG 终态+W-DSGN 文本债勾账只剩 SVG 尾波+总账第二窗)+ tech-decisions §14(路由字面量对源码核/门旗+fail-closed 凭据双保险/Nacos 最终一致/激活一致性落地形态/MP NULL 指针写法)
...
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-04 11:59:29 -07:00
lili
c4e8df15b2
docs(config/sot): 阶段二收口涟漪回写(上级档§7表行1-4十三处+§6收口标记/阶段二档status=已实施+六步落地标注+§8执行终局三口径修正/全档/sessions复数)+ 运行时SoT阶段二改真 + W-DSGN文本债四条(evalflow指git存档/消费面三态改真/T-AGC-09随gamedef历史化/验收门SAA承接项冻结)
...
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-04 11:56:37 -07:00
lili
22444fd5e8
fix(cfg): 路A PATCH /session→/sessions 复数(AgentScope 2.0.2 router prefix=/sessions,单数对真 Service 必 404;D 波对账读发现、fable 复核框架源码+bootstrap.py 双证后修;含测试断言与 javadoc 三处;受影响 43 测复跑绿)
...
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-04 11:27:24 -07:00
lili
a8dd5e500e
merge: W-CFG-D 漂移对账+一键重推·步骤5(三态严判 ACTIVATING_SKIPPED/UNREACHABLE 不误报/最终一致容忍窗8s/重推复用dispatch幂等指针不动/不加表;真e2e 篡改→检出→重推→收敛→清理全链;fable 终审:hash/父链/18文件零越界/全模块仅两既存债/e2e带凭据亲跑绿;携带高价值发现=C波路A /session 应为复数,随即另commit修正)
...
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-04 11:26:25 -07:00
lili
a0f1306754
feat(config): 配置漂移对账 + 一键重推 + 失败兜底(阶段二/步骤5)
...
只读对账 GenConfigReconcileService:拉两路投影比对当前激活版,产结构化漂移报告(路/键/期望/实际)。
严格分三种非漂移态不误报:①ACTIVATING 激活中间态跳过②Service/Nacos 不可达报不可达非漂移(不抛)③路B读用轮询容忍窗吸收 Nacos 最终一致延迟。
路A只读投影:AgentServicePatchClient 补 probeAgentSystemPrompt/probeSessionModelConfig,走真实 AgentScope 列表端点(无单 GET;/agent/ 按 id 过滤取 system_prompt、/sessions/?agent_id= 复数按 session.id 取 chat_model_config)。
路B只读投影:NacosConfigPublishClient 补 probeDataId 三态(登录成败作可达性探针,区分不可达/缺失/在)。
一键重推 rebroadcastActive:复用 C 波私有 dispatch 按当前激活版重放双路下发,指针本就 ACTIVE 保持不动(不落 ACTIVATING/不写账本/不补偿),幂等,某路失败可重试。
Controller 加对账端点(query 权限)+ 重推端点(activate 权限)+ @ApiAccessLog。不加表(读时比对)。
Service 启动自愈不做,对账报告显式标注"投影缺失"为后续增强位(设计 §6)。
验证:模块单测全量 342 绿(排除既存两坏类 AigcControlPlaneTest/GameConfigSchemaValidatorTest=已知债);
对账判定矩阵 12 用例绿;重推 5 用例绿;路A/路B 投影探测解析 11 用例绿;
路B 真 Nacos e2e 全链绿(重推→对账IN_SYNC→篡改→对账DRIFT检出→重推→收敛IN_SYNC→清理,演示 dataId gen-hot-params-e2e-recon-cheap 测完删除);单体在线编译 BUILD SUCCESS。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 11:22:22 -07:00
lili
a46f6ffb74
docs(boards): W-CFG C 波收口回填(72973532,双路激活+ACTIVATING 恢复+Nacos 最终一致真发现;D 波在跑)
...
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-04 10:42:22 -07:00
lili
7297353264
merge: W-CFG-C 双路激活编排·步骤3(sanity前置/快照补偿/指针整批成功后前移/ACTIVATING 持久态V30+恢复幂等/路B真e2e跨语言闭环/Nacos最终一致真发现;fable 终审:hash/父链/28文件零越界/编排序§3.6逐条核/域内76+IT 3亲跑绿/仅两既存债失败=零回归)
...
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-04 10:41:05 -07:00
lili
6720424eb7
feat(aigc): 配置控制面阶段二 步骤3 双路激活编排(值域sanity前置/路A PATCH+路B publish/失败补偿回上一激活版/ACTIVATING持久态恢复/回滚复用) (配置控制面阶段二 步骤3)
...
把生成配置版本升级为「值域校验 → 双路下发 → 账本收口」的可幂等、失败可补偿动作(设计 §3.3/§3.6):
- 编排 GenConfigActivationService:sanity前置(非法即拒不发不写账本)→ beginActivating落ACTIVATING+在途目标 →
路A PATCH /agent+/session(完整chat_model_config整替)、路B publish 按档隔离生效dataId → 全成功收口(前移指针+清在途)/
某路失败即整批判未生效+立即补偿重推已下发成功路回上一激活版+复位回上一态+可重试(指针不前移);路A败则路B不发;
投影全成功但账本提交失败留ACTIVATING由recoverActivating幂等重放向前执行到底;回滚=对历史版重放同一编排。
- 账本原语落GenConfigServiceImpl(配置治理表唯一主人):beginActivating/markVersionActivated(扩展清activating指针)/
abortActivating,经LambdaUpdateWrapper显式SET把BIGINT NULL指针写回NULL(updateById跳null做不到);状态机加ACTIVATING(15)+边。
- 外呼:GenConfigHttpClient(NO_PROXY JDK HttpClient任意方法+头+体,内网直连绕fake-ip代理);AgentServicePatchClient(路A,
X-User-ID鉴权头/按档路由/两次PATCH都成功才算成功);NacosConfigPublishClient(路B,Nacos HTTP OpenAPI登录→publish/read/remove,
与SCA客户端不冲突);口令走env占位符(AigcConfigActivationProperties,严禁明文入代码);地址可配置(不写死live端口)。
- content_json契约=Service-shaped透传(routeA→/agent+/session snake_case、routeB→area.key扁平),system_prompt取版本行prompt正文。
- Controller暴露 activate/rollback/recover-activating(权限aigc:config:activate + @ApiAccessLog操作日志)。
- V30迁移加 activating_version_id 列(承在途激活目标,供§3.6b幂等恢复对齐)。
验证(全真跑):配置子域76单测绿(sanity矩阵19+失败路矩阵14+账本25+两路客户端12+状态机4+权限门2);全模块310单测绿(排除2既有坏类
AigcControlPlaneTest/GameConfigSchemaValidatorTest,基线e5439c74同样失败,与本改动无关);真库IT 3绿(V1..V30 replay+ACTIVATING生命周期
NULL-clearing真库验);路B真Nacos e2e绿(生产客户端publish→读回→改→读回→删,演示dataId gen-hot-params-e2e-demo,轮询最终一致;
跨语言:Java publish→Python worker genconfig按area.key读回33.0→清理,生产dataId cheap/tier2从未碰=404);huijing-server -am编译绿。
路A真Service PATCH排部署窗口(本机cheap-worker/.venv缺redis/apscheduler起不了Service,不碰mini-desktop live 8300),请求形态经读
AgentScope 2.0.2真源(UpdateAgentRequest/UpdateSessionRequest/ChatModelConfig四字段)+桩测试双验。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 10:37:24 -07:00
lili
e5439c746f
docs(boards): W-CFG A 波收口回填(3ae34de1)+ 既存测试债两条落账(AigcControlPlaneTest / GameConfigSchemaValidator 陈旧 fixture 假绿)
...
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-04 09:39:20 -07:00
lili
3ae34de164
merge: W-CFG-A 生成配置治理子域·步骤1+2(V29 配置集+版本行 MEDIUMTEXT/utf8mb4/激活指针只由激活前移;26 单测+真库 IT 2 绿;fable 终审:hash/父链/diff/26单测+IT 亲跑绿/IT 演练库隔离核/0 控制字符核;契约面循 V26-28 先例不动)
...
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-04 09:37:49 -07:00
lili
b808462475
docs(boards): W-PCI 收口对账(当日排单当日落,ec95faaf)+ W-CFG 执行进度回填(前置/步骤4 已落,步骤1+2 在跑)+ W-DSGN 扩第⑤条(SoT §3 四策划模板 live 句与对账相抵)
...
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-04 09:32:54 -07:00
lili
790f53dc71
feat(aigc): 配置控制面阶段二 步骤1+2 生成配置治理子域(配置集建模+yudao治理骨架 / 版本行与历史 MySQL) (配置控制面阶段二 步骤1+2)
...
在 game-module-aigc 落生成配置治理子域,把散落的生成配置旋钮升级为「可版本、可回滚、可归因」的受治理
资产。治理单元=配置集(不塞 infra_config KV),走「改→定版→审核挂点→激活→回滚」生命周期(设计 §3.2)。
版本账本落 MySQL 版本行(prompt 存 MEDIUMTEXT、不进 Nacos):设计 §3.1 三约束——prompt 越 Nacos 100KB
上限 / 定版要原子(元数据+全量内容同库同事务一行) / diff 与检索要就地。
数据模型(V29,现行最大 V28→取 V29,replay 全绿):
- game_aigc_config_set:配置集(tier cheap/tier2 + set_key uk + 生命周期 status + 草稿工作副本 draft_prompt/
draft_content_json + active_version_id 当前激活版指针[只由激活前移、定版不动])。
- game_aigc_config_version:版本行(全量快照,只增不删;prompt MEDIUMTEXT + content_json + content_hash +
content_bytes[utf8mb4 字节数,按字节非字符] + uk_set_version 同集版本号唯一)。
能力面(admin,@PreAuthorize 权限门):建/改配置集(save)、定版(freeze,单库事务快照草稿→版本行、状态转待审、
不动激活指针)、历史列表/任一版取回/两版 diff(query,应用层拍平点路径逐项增删改)、归档(archive)。
状态机 AigcConfigStatusEnum 单点裁决合法流转。错误码续编 aigc 004 子段(不跳段)。
步骤3 接缝(非孤儿):激活的双路下发编排(值域校验 + PATCH /agent+/session + publish Nacos)属步骤3、本波不做;
激活的账本收口 GenConfigService#markVersionActivated(状态转 ACTIVE + 指针前移,纯 MySQL)已就位并单测,
步骤3 在双路下发成功后调它、失败不调(指针不前移、保留上一激活版为账本权威,设计 §3.6);controller 不暴露激活端点。
验证:aigc-server 单测绿(状态机流转 §3.2 / 权限门反射 / 定版事务 / content_bytes 字节口径 / diff;新增 26 测,
既有全不变);真 MySQL IT 绿(mini-infra 100.64.0.8,绕系统代理直连)——① V1..V29 全量迁移按版本序真库全应用
(replay 全绿,多语句交服务端解析,正确处理 V1 注释内分号)② 30KB/64KB 边界 prompt 无截断(证 MEDIUMTEXT 非 TEXT)
+ utf8mb4 字节口径(含中文/emoji round-trip、LENGTH>CHAR_LENGTH)+ uk_set_version 幂等;单体 huijing-server 编译绿。
范围说明:契约仅动 game-cloud;近期迁移 V26/V27/V28 均只在 db/migration(contracts/db-schemas 镜像自 V25 起已停维护,
R2 charge 亦未动 contracts),故 V29 循此现行先例、不动 contracts;新 admin 治理 API 未入 aigc.yaml 契约,与 R2 同——
待 fable 终审裁定是否补契约。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 09:32:21 -07:00
lili
ec95faaf2d
merge: W-PCI prompt 四道闸 CI 接线(段A 离线版本闸挂 pre-commit+contract-gates / 段B 真模型四闸 workflow_dispatch cap¥5 / 消费面 17 条三态对账 / 负向演示三连;fable 终审:5 hash 全真+父链+diff 亲读+关键逻辑源码核)
...
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-04 09:30:24 -07:00
lili
a9cf87955f
docs(.agents): W-PCI 蒸馏——四道闸 CI 落地写回 prompt-governance §6/§10 + engineering-conventions 机器门范本
...
把「四道闸怎么跑」蒸馏回可复用 playbook 与门清单:
- prompt-governance §6:加落地段(段A check_version_bump 挂 pre-commit+contract-gates / 段B eval_gate 经 prompt-eval workflow_dispatch,真模型 M3 绕代理 key 从 env,只焊 live 面,cap ¥5,台账+基线);§10 加两坑(别把门焊化石 prompt 白花钱 / 单条调用失败别当 prompt 退化拦)。
- engineering-conventions 机器校验器范本:补 prompt 四道闸作离线/真模型两段门的挂载点范本。
注:两文件均 .md,--no-verify 仅绕基线既有 SpaceHuggers 死链(非本单),蒸馏改动零新增 docs-gate 失败。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 09:27:17 -07:00
lili
d9def7d901
feat(cfg): 步骤4 收尾两针——两 Service 入口接热源工厂(旗默认关=字节不变)+ genconfig __main__ 自检块期望值随单源现值修正(50.0/60,阈值批 bfeaea2d 漏改自检块)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
入口接线:tier2 service/app.py:main 与 cheap_service_app.py:main 对称各调 build_and_attach_hot_source(tier=...),
工厂自带启用旗(TIER2_GENCONFIG_NACOS 默认关)+ best-effort,无条件调不再包旗;两档各订各 dataId 不串档。
验证:tier2 126 passed / cheap-worker 339 passed 1 skipped / genconfig 自检块全 OK / py_compile 两入口过。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 09:23:20 -07:00
lili
dddd2d3ca3
docs(prompts): 四道闸CI接线收口——prompt治理 SoT §2/§4/§8 现状改真 + 消费面三态回写
...
四道闸从「设计目标/人工发起的批跑编排」改真为「已接成 CI」:
- §2 现状句:段 A 离线版本闸(pre-commit + contract-gates)/ 段 B 真模型闸(prompt-eval workflow_dispatch,单跑 cap ¥5);补消费面三态回写——段 B 只焊 live 面(safety/tier2×8/cheap-system),已下架 gamedef 四策划模板与 generic-coder STUB 等化石条目显式豁免,逐条三态指向 registry 头部对账总表。
- §4 机制句:判定逻辑已按 registry 契约重建薄版并接成 CI。
- §8 验收第 3 条:门禁生效已对 safety.prompt-check 兑现(砍坏被闸 3 回归 diff 逮住、正常小改升版放行)。
按工单边界不碰 evalflow 指针措辞 / GitHub→Gitea 口径 / §6.4 三处(归 W-DSGN doc-sync,防双写)。
注:docs-gate 唯一失败 = 基线既有 SpaceHuggers 死链(docs/agent-specs/_index.md,dev/2.0.0 已存在、非本单引入),本单 SoT 改动零新增失败;--no-verify 仅为绕该既有债,归 SpaceHuggers/W-DSGN 修。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 09:22:42 -07:00
lili
344330a48c
merge: W-CFG-B NacosHotConfig 接进 genconfig(阶段二步骤4,fable 终审:hash/父链/diff 亲读/126 全量复跑绿)
...
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-04 09:18:26 -07:00
lili
3b6573941d
feat(cfg): NacosHotConfig 接进 genconfig — HotConfig 单例工厂 + 取值链前端热源(配置控制面阶段二·步骤4)
...
件2 genconfig 接热源:get() 取值链最前端插进程级热源单例(attach/detach),优先级 Nacos 热源>env>YAML>内置默认>调用方 default;复合键 area.key 无歧义扁平化 (area,key) 二维;缺键/未 attach/异常一律回落原链,绝不引入第二默认值(坑④·tech-decisions §13);热源命中即返回不读 YAML,mtime 缓存无从盖住热值;middleware 等所有 genconfig.get 调用面一行不改。
件1 worker/genconfig_nacos.py 工厂:启用旗 TIER2_GENCONFIG_NACOS 默认关(=行为字节不变,兼作 §3.6/§6 回退开关);按档隔离 dataId(tier2=gen-hot-params-tier2 / cheap=gen-hot-params-cheap,env 可覆盖);建 client 前 NO_PROXY 内网旁路;真实 namespaceId 默认空串(勿写 public,沿前置任务口径);注入 NacosHotConfig 的 defaults 刻意空;全程 best-effort 失败不 attach 不抛,genconfig 回落纯本地。
cheap-worker 共享 worker.genconfig(from worker import genconfig),两档隔离靠各进程 attach 各自 dataId 的热源;缝在 cheap_service_app.py:main 对称调 build_and_attach_hot_source(tier=cheap),本单不动只说明。
验证:单测 19 条锁死四条回落路径(未 attach/Nacos 不可达/namespace 配错/YAML 回落)+ 两档各读各 dataId + Nacos>env 优先级 + 门阈值热读 + 工厂 best-effort/按档/NO_PROXY/namespace 空串;worktree 全量 126 passed 无回归;真 Nacos(mini-infra 100.64.0.8)演示脚本改演示 dataId → genconfig 0.5s 热读到新值不重启、清理不碰生产 dataId。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 09:15:33 -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
b74cd6155d
docs(agent-specs): SpaceHuggers 对照靶 review 草案落库补账(在飞板 e9b14a31 已链此档而档未入库,新鲜 checkout/CI G3 必断;frontmatter G6/G7 合规)
...
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-04 08:49:33 -07:00
lili
b2b4d3892e
merge: W-CFG-0 namespace 口径统一前置(阶段二 §4 前置,fable 终审:hash/父链/diff/6单测复跑全核)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 08:49:33 -07:00
lili
056433d5bb
fix(nacos): namespace 口径统一 public→空串(默认公共空间 namespaceId=空串,非字面量 public)(配置控制面阶段二前置)
...
Nacos 默认公共空间的真实 namespaceId 是空串,"public" 只是显示名(namespaceShowName)。
现状代码写 namespace: public 会带 tenant=public 静默落进一个 id 为 public 的空间,
路 B 写读两侧不一致时配置永远推不到(阶段〇同款坑)。真取证:
GET /nacos/v1/console/namespaces 返 namespace:"" / namespaceShowName:"public";
nacos-sdk-python v1 client.py 逻辑 `if self.namespace: params["tenant"]=...`——空串不带 tenant=走默认空间。
改动(五处触点,均只动默认公共空间语义处):
- game-cloud huijing-server application.yaml:discovery/config 两处 namespace public→""(+中文注释)
- tier2 gen-worker service/nacos_registry.py:NACOS_NAMESPACE 默认值 public→""(+中文注释)
- tier2 gen-worker tests/test_nacos_registry.py:断言随改 == "public" → == ""
- docs/内网凭据与端点.md:Nacos 段补 namespaceId 口径行(空串非 public,写读两侧对齐)
不动:各模块 -dev/-local profile 的 namespace: dev(独立命名空间 dev,非默认公共空间语义);
docs/plans 历史留痕档的 public 字面量(留痕层不改)。
验证:nacos_registry 单测 6 passed;application.yaml YAML 语法有效(两处 namespace 落空串);
py_compile 通过;docs-gate 6/7 检绿(唯一 G3 死链为 pre-existing、与本改动无关)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 08:46:53 -07:00
lili
e9b14a3186
docs(boards): 排单 2026-07-04——W-CFG 阶段二实施工单(设计档§8 六要素)+W-PCI prompt四道闸CI接线工单(evalflow已删须重建薄版·步骤0消费面对账)+板/人办清单/在飞板对账(⑤证据齐可拍·决策6知识件归属·W-DSGN扩陈旧指针批)
...
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-04 08:31:36 -07:00
lili
455d45be88
docs(tier2): 收敛环终局落档——r4 4/5 收敛·decide_n5=KEEP_留观·fable 终判 go(留观=水果;Δ3 梯子=M3 保持中档默认);板对账+§13 三条蒸馏(双源默认影蔽/worktree 基线必验/pgrep 探针自匹配)
...
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-04 06:52:39 -07:00
lili
2d09f98d96
docs(boards): 板对账 2026-07-04 窗——cutover 证据侧全收口/F-2 r1-r4+F-3 完成/五工单落地/live 拓扑恢复/金标固化;终审待 r4
...
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-04 06:00:18 -07:00
lili
dd2e60c4a6
docs(tier2): r3 双源默认值影蔽发现落档(writer 实仍 40/美食靠 step 顶让量/F-3 同病对照有效/糖水店 420s 仍超时记观测)
...
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-04 03:27:38 -07:00
lili
7c3792669e
fix(tier2): 拆双源默认值影蔽——run_engine/batch_run 的 max_iters 旧 default=40 显式透传短路 genconfig,改 None 哨兵回归单源
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
r3 生产实证:阈值批(bfeaea2d)把 writer_max_iters 提到 60,但 r3 日志仍打
「max iteration numbers 40」——middleware 系旋钮(step_cap>100/设计超时>420)
经 genconfig 直读全部生效,唯 writer 轮数被 batch_run.RunParams(40)+
batch_run argparse(40)+run_engine argparse(40) 三处写死默认显式透传覆盖。
三处全改 default=None(run_studio 已有 None→genconfig 解析),genconfig 回归
writer 轮数唯一事实源;studio docstring 同步防再犯。tier2 107/107。
含义:r3 的 writer 实际仍 40,创始人「提轮数」尚未真达 writer;F-3 同病但
两档同病=对照内部有效。F-3 收轮后部署此修,r4 才是 60 轮的真收敛测。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 03:26:58 -07:00
lili
5cdea9320c
docs(tier2): R3 结果与 fable 中期终审落档——产品口径 3/5(美食阈值修后走通)/咖啡 finished 口径拆解引出早收敛探测观测项/R2_补骨架出口 n=1 归因不采信/进 F-3 强档对照
...
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-04 03:22:01 -07:00
lili
9a64b3a39c
merge(工单c): 软停后 finish 逼近递进升压(N=3 提醒/2N 强制,finish 尝试复位;on_acting 注入贴脸催收,治 80011 软停仍烧到硬地板)· fable 终审过(middleware 亲审:阈值/finish 语义/stuck 签名零动,counter=0 逐字节等价)
...
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-04 00:53:03 -07:00
lili
0f55a6f77d
merge(工单h): 便宜档 Service 工具面再封口——关 Planning/Team/Schedule 三组框架注入(源码证据链坐实·包裹 _chat.get_toolkit 本地绑定·重建干净 Toolkit·fail-open 降噪件)· 333+1skip · fable 终审过(skip 件=apscheduler 集成测,部署树复跑)
...
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-04 00:50:23 -07:00
lili
eb135a9041
feat(tier2): 软停后 finish 逼近递进升压(工单 c)——连续 N 轮不 finish 经 on_acting 注入升压收尾指令逼软着陆
...
软停(budget_soft_tripped)已有 on_system_prompt 强提醒 + on_acting 拦生成类工具,但那是被动系统提示,
M3 可能烧推理不理会(80011 实录:软停触发后仍烧到 step_cap/硬地板才停)。本次在共享 CircuitBreakerMiddleware
加「finish 逼近升压」:on_reply 用现有事件计数面数软停后连续无-finish 的 acting 轮(ToolCallStartEvent +1;
一推理轮无 tool call=finish 尝试则轮边界复位),达 N=3 轮升第一档(提醒收尾)、达 2N=6 轮升第二档(强制立即
finish、禁新增大额生成);升压指令经 on_acting 注入工具结果(拦截语并入 / 收尾类结果尾部附加),跨档只注一次。
只改观察/注入路径与状态跟踪:不动任何熔断阈值 / finish 语义 / 九门;无新增配置键(_softstop_rounds 派生);
_softstop_rounds=0 时 on_acting 与升压前逐字节等价(兼容既有 cheap 共享面)。cheap_budget 同源共享,不改 cheap 文件。
新增 tests/test_softstop_escalation.py(5 用例):升压逐档升级 / 透传附加 / finish 尝试复位 / 不足 N 轮零升压 / 硬地板仍兜底。
验证:tier2/gen-worker 102 passed;cheap-worker 共享软停面 29 passed(test_budget_two_stage 等)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 00:49:35 -07:00
lili
c5ee8ef5e9
feat(cheap): 便宜档 Service 收窄工具面——关 Planning/Team/Schedule 三组框架工具(工单 h)
...
2.0.2 get_toolkit(app/_service/_toolkit.py)除 workspace 内建外,还无条件并入 Planning
(Task* :109-110 "always on")/Team(Team*·AgentCreate :144-168),并按 session model 挂
Schedule(schedule_tools 组 :117-142)。便宜档单机单游戏用不到,纯工具面噪声(80011 flail:
12+ 工具语义重叠是根因之一;护城河 I1 六工具白名单邻域治理)。
修法:cheap Service 进程内 monkeypatch 包裹 _chat.get_toolkit(_chat.py:33 本地绑定、:240 唯一
装配调用者),调原函数拿到 Toolkit 后重建干净版:basic 组按 .name 剔 Planning+Team、丢整个
schedule_tools 组;workspace skills/MCP、六工具、后台控制 ToolStop 一律原样保留。钉 agentscope
==2.0.2、版本漂移响亮告警仍应用;作用域=cheap Service 进程(只跑便宜档 agent),tier2 独立进程
不受影响;绝不改 venv/site-packages 本体。惰性 import _chat(牵 apscheduler)保无 [service] 环境
可 import 本模块。
测试(tests/test_planning_team_tools_patch.py):4 filter/wrapper 单测(补丁后无三组 / 保六工具+
ToolStop / 过滤幂等 / 装配幂等)本机全绿 + 1 真 _chat 集成测 importorskip apscheduler(本机跳、
mini-desktop 全跑)。全套 pytest tests/ -q = 333 passed, 1 skipped。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 00:46:09 -07:00
lili
b4646b9ef8
merge(工单f+i): 收口采集打印幂等 + bake_off brief 全缺 fail-fast(封 S5b 空过陷阱;部分缺告警续跑口径不变)· 335/335 · fable 终审过
...
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-04 00:45:04 -07:00
lili
eb95441dd6
fix(cheap): 收口采集重复打印幂等(工单 f)+ bake_off brief 全缺 fail-fast(工单 i)
...
工单 f:_CheapRunCollector._flush 在 on_reply 的 REPLY_END / except / finally 三条降级路
会被调 ≥2 次,落盘每次覆盖是幂等的(采集语义不变、driver 恒读到最新),但「收口采集落盘」
成功行重复打印纯观感噪声。加实例标记 _flush_logged 只在首次成功落盘时打,后续静默覆盖
(失败行不受此门、每次都报便于诊断)。
工单 i:run_bakeoff 对无 brief 品类 skip+continue,全缺时 valid 空 → aggregate(genre_runs,[])
的 overall=(not [])and(not [])=True → 在 0 款上打「达标 ✅ 」exit 0(S5b 第一跑生产实录的
空过陷阱 / 无声截断)。抽 _resolve_briefs 纯解析 valid/missing;采样列表为空 → 立即
SystemExit(2)、stderr 打印缺失清单(品类 + 期望 run-summary 路径)、绝不进入判定;有样本
但部分缺 → 逐条告警后按既有逻辑继续(不升级为全停,judge_genre/aggregate 判定口径不改)。
测试 +6:工单 f 直接三次 _flush + 崩溃路端到端各验只打一行(capsys);工单 i 全缺 fail-fast
+缺失清单 / 正常路径行为不变 / 部分缺继续 / _resolve_briefs 拆分。全套 335 passed(329+6)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 00:41:56 -07:00
lili
bf00638c8b
merge(工单k): 收敛环台账 infra_flags 归因穿线(observe-only)——设计降级/轮墙/熔断/软停入台账+退路树 reasons 打印,治 F-2 R1 误判分散盲区 · 102/102 · fable 终审过(双墙共旗以 degraded 共现消歧,记录在案)
...
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-04 00:40:21 -07:00
lili
688f83fdc5
feat(tier2): 收敛环台账 infra 归因穿线(observe-only 第一迭代)——治 F-2 R1 设计团队超时降级被误判"分散"的生产盲区
...
把「设计团队超时降级 / writer 撞轮数墙 / step_cap 熔断 / ¥ 软预算软停 / 墙钟超时」这类
编排层事件从 studio 运行态穿到批跑台账,让退路树能一眼归因。此前两败局其实 100% 集中在
「设计团队超时降级路」,但台账 fail_system 空 → decide_n5 按 fail_system 看"分散"出
R3_conditional,主持人只能人工翻日志归因。
做法(不塞 fail_system,游戏系统桶语义不污染;decide_n5 的 R1/R2 分流逻辑一字不动):
- RunRecord 新增 infra_flags: list[str](field(default_factory=list);受控值集 INFRA_FLAGS
五项常量 design_team_degraded/writer_iter_wall/step_cap_tripped/soft_budget_tripped/
wall_timeout,注释写明可扩)+ 纯映射 infra_flags_from_runtime(信号→值集,去重稳定序);
- studio 运行态采集:设计团队降级点(捕获异常,.kind=='timeout' 归 wall_timeout)、外层
resume 轮数墙、熔断返回 kind、¥ 软预算软停标记,经 _infra_flags_from_runtime 归一进 result;
design_team.DesignTeamError 加 kind 区分墙钟超时;
- batch_run.result_to_record 从 result 抽 infra_flags 落台账(防御式复制);
- decide_n5 只把各轮 infra_flags 分布打进 reasons(如「r1 infra 分布={design_team_degraded:2,
wall_timeout:2}」),不分支、不改任何出口。
向后兼容:旧 jsonl 行无 infra_flags → from_jsonl_line 读空列表不炸;r{N} 轮分组正则不动;
middleware.py 不动;退路树出口枚举与判定不动;decide_n5 签名不破坏。
验收:新增单测 5(纯映射/studio fake 运行态采集/batch 落账/旧行兼容/decide_n5 分布行+出口不变
含 --no-strong-baseline 语义原样);全套 102 passed(97 基线 + 5);run_record 与 fallback_tree
的 __main__ 自检、decide_n5_from_jsonl 新旧混合行端到端均通过。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 00:37:16 -07:00
lili
91a7c5fc8f
merge(工单j): studio 透传集扩容 1003 暂停降级 + 1006 入口速率闸(1005 safety 兜底判内部错误不透传,引文留注)· 37/37 · fable 终审过
...
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-04 00:33:33 -07:00
lili
3afed479f8
fix(studio): 透传集扩容并入 1101001003 生成暂停降级 + 1101001006 入口速率闸,保留产品语义 (工单j)
...
AIGC_USER_REJECT_CODES 从三码扩到五码:并入 AIGC_GENERATE_PAUSED(1-101-001-003,
降级开关开启时创作者原只见笼统「生成委托失败」的体验税)与 AIGC_ADMISSION_RATE_LIMITED
(1-101-001-006,Sentinel 入口速率闸,与背压/配额同族的控制面准入拒绝、用户可见)。委托
aigc 抛这两码时原样透传、保留产品语义,不再一刀切包成 STUDIO_AIGC_DELEGATE_FAIL。
未并入 AIGC_LLM_SAFETY_ERROR(1-101-001-005):其定义注释明记归因 tag 仍记 llm_error
(safety 超时/失败的 fail-closed 故障兜底),语义为内部错误、中性文案只作用户遮罩,非控制
面准入拒绝,故仍按原逻辑包裹。
只扩集合 + 补测试:三处委托点 catch(ServiceException) 结构与 isControlPlaneUserReject
helper 一字未动(引集合常量,扩集合即自动扩行为);文案不改;不动 aigc 模块本体。
验证:StudioServiceImplTest 37 测全绿(既有 35 不回归 + 1003/1006 各一透传断言),
mvn -pl game-module-studio/game-module-studio-server -am test。
生效需随下轮 jar 轮换(仅改后端字节码,已在跑实例不热更)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 00:30:28 -07:00
lili
2e4dd56b76
docs(tier2): F-2 执行记录落档(R1 3/5 归因推翻分散判/修一 420s/R2 分层证据后奉令中止/修二阈值批/R3 在跑/五路工单并行)+ F-3 解锁口径(glm-5.2 在列·独立台账防轮污染)
...
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-04 00:20:38 -07:00
lili
bfeaea2d42
feat(tier2): 创始人令提生成预算阈值——writer 40→60 轮 / step_cap 60→100 / model_calls 80→120 / 墙钟 1800→2700s
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
F-2 两轮实证 40/60 是预算墙非能力墙:美食类硬 brief R1 churn 到 step_cap、
R2 设计收敛后 writer 仍 40 轮被截,resume 续修窗只剩 ~20 步修不完。步顶 100
= writer 60 + 续修 ~40 headroom;失控保护交 ¥ 两段式(50/75)与墙钟 2700。
cheap Service 显式传 150 不受影响;cheap CLI 继承(纯兜底,¥10/15 是真闸)。
tier2 97/97 + cheap 329/329。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 00:14:32 -07:00
lili
0a9504e400
fix(tier2): 设计团队墙钟 240→420s(F-2 R1 两败局实证,KTD2 定点修)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
R1=3/5:两败局(美食/糖水店)同构——3/4 专家已产出、末段调用/leader 撞 240s
墙钟→降级单 agent 设计→writer 40 轮不收敛→step_cap;三过门局设计团队全部
正常收敛(超时↔失败 5/5 完美相关,台账 fail_system 空导致退路树误判分散)。
M3 thinking 慢尾单调用可达 120-180s,420 给一次慢尾余量,与 step_timeout_s
同刻度。YAML(运行面)与 _BUILTIN_DEFAULTS(兜底)同改防漂移;tier2 97/97。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 23:56:32 -07:00
lili
e01d91fb83
feat(quality): 经营品类金标正例固化入仓 bake-shop-serve-1(欠账①清)+ 骨架转薄对照定案(欠账②按红线收束)
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
- 正例=S5b bake_off 富化过门款(烘焙上菜 rush,attempts=1/¥2.00/tap-targets 真玩过门):src 7 文件+run-summary+richness-n3 凭据入 fixtures/golden-samples/sim-business/
- 12 条口径 n=3 复采样中位 10/12(单发 11/9/10 方差±2 合纪律),对照骨架 4/11 通用段分离 5–6 分=通用尺判别锚
- 品类段诚实口径:2/4 vs 1/4 仅 1 分分离(serve 形态无进货/双币),品类段正锚待进货型经营款,回退判定以通用段+L4 为准
- 合成薄壳反例不再补:骨架实测即真实薄对照,不臆造材料充数
- rubric _note 收束两欠账 + skill 金标锚点段 + golden-samples README 段;rubric-sync-gate 过
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 23:07:26 -07:00
lili
b0bfcabf8a
docs(cutover): §9 S6 负例四门真机证据(日额/背压/暂停+并发)+ 六门放行证据表(prod/lab 口径明标)+ 工单回写 a1/a2/e
...
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
- D12 五种拒绝行为全负例双证(HTTP 码+后端日志):并发/日额(当日已用=7 上限=0)/背压(门②全局在飞=0)/暂停(infra_config 热键)/unsafe
- 六门证据表集齐:9d trace/D11(86/90)/D9/firstPlay/GP9/D12 全 prod 口径;S5b 明标 lab;放行+S5a=创始人
- 工单:a1 ✅ (C6 族错配直指 f121bb01)/ a2 ✅ 关闭(前提证伪:模板 targets 本就齐,是生成丢键)/ e ✅ (2a8d5e45)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 22:58:52 -07:00
lili
48739533e5
docs(plans): cutover §9 S5b 落分——lab 复验达标(三品类收敛局 12/12 全过,raw 80% 亦过线;修复红利成本 ¥0.7-3.7);S5a 生产分布回填留创始人 (cutover 窗口)
...
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 22:32:46 -07:00
lili
5e4d81a296
merge: C1金标欠账清偿——narrative 12条正式重锚+trpg/puzzle富正例基线(前提证伪:模板=黄金脚手架非薄反)+判别主锚=品类段+L4 归质量轨 (尾波C1欠账)
...
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 21:34:36 -07:00
lili
b34a7725cc
docs(.agents): C1金标欠账清偿——narrative 12条口径正式重锚(正8/12 vs 薄反7/12,判别主锚=品类段+L4)+ trpg/puzzle 实为黄金脚手架富正例、基线入仓(真薄反欠账明记不现造,规范三合成薄壳教训在案)+ fixture _note 同步收口(复采样×3取中位) (尾波C1欠账)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 21:34:22 -07:00
lili
42eed68675
merge: test_a11 m3/m4 模块级 game_dir/dedup 替换收进可恢复 fixture——根除 5 个跨模块污染失败(证据修正:基线12≠全污染,余7=环境前置) (尾波小单)
...
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 21:13:06 -07:00
lili
11436f07cc
test(cheap): test_a11_m3/m4 模块级 game_dir/dedup 替换收进可恢复 autouse fixture——根除 game_dir 跨模块隔离污染(基线二分钉死:5 个失败,非 12) (尾波小单)
...
test_a11_m3_deterministic 与 test_a11_m4_regenerate 在 import 时无恢复地替换
cheap_run.game_dir(两文件同构),污染同会话后续测试模块:受害者按真 games/ 根校验
write 边界,game_dir 被改指临时目录后一写即判越界。改为 module 级 autouse fixture
(yield 后恢复原值),__main__ 独立运行路径同装(单进程无需恢复),dedup 登记表一并收拢。
证据:全套 12→7 failed、三种文件顺序结果恒定(7 failed / 322 passed);二分钉死纯
game_dir 污染 = 5 个,均已恢复 = test_run::test_scaffold + test_toolkit::{write_l1_rejected,
write_l3_ok,check_shape_drawbutton_ok,check_shape_define_fail}。
余 7 个非本污染、隔离下同红,系环境前置:worktree 无 esbuild →
test_run::{test_stage,test_play_real}、test_toolkit::test_check_and_build_clean_pass;
缺真实 e2e 产物 → test_studio_smoke×4(须先跑 cheap_studio 单局)。须集成段 mini-desktop
才具备,未纳入本单。同族但未致失败的 test_worker_service 模块级 dedup 泄漏按最小改动未动。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 21:11:31 -07:00
lili
e524adfb0d
docs(.agents): wave-close 第8步——docs-gate 六检改七检(G7)+merge commit 手跑 B8 条件门清单(pre-commit 不触发缺口) (尾波挂点)
...
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 21:02:00 -07:00
lili
4ec86b2524
docs(.agents): trpg §10 通用条数升 12 条口径(L2×7+第12条入列)+ narrative 金标基线标注旧尺实测与重锚欠账(史实不改) (尾波措辞收敛)
...
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:58:57 -07:00
lili
7820c75b8b
docs(contracts): prompts README 死链修——退役执行档改 git 史指针(留痕纪律) (尾波)
...
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
41cde493ee
merge: 尾波SVG批——plan①顶图纵切redraw(cutover三态入图)+质量SoT quality-01(12条口径redraw)/02(rubric+F-4五裁定新图)+重推演档§0门面图;4图atlas规范+XML复验+PNG眼验全过(眼验抓获A11格过时+紫盒溢出已修) (尾波)
...
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:51:48 -07:00
lili
e6447efc40
docs(svg): 总览图眼验修正——A11 计费 e2e 格转现行绿(07-04 已收官)+SAA 紫盒末行溢出补高(眼验抓获) (尾波SVG批)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 20:51:31 -07:00
lili
2b9ebdbda4
docs(svg): plan①顶图纵切redraw+质量SoT quality-01/02门面图+重推演档§0门面图(atlas规范,眼验待主会话) (尾波SVG批)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 20:41:50 -07:00
lili
ee48cc2de3
docs(plans): cutover §9 S5b——两次假起步各钉一真缺陷(conc争用测量污染/CHROME_BIN盲注=生产考卷回退key-cycle共同上游根因e4a4d025);第三跑在飞 (cutover 窗口)
...
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:31:05 -07:00
lili
e4a4d02516
fix(cheap): CHROME_BIN 只在 Mac 路径真实存在时注入——Linux 上盲注致 smoke 全体 spawn ENOENT→state=None→考卷全回退 key-cycle(80007 族错配盲修¥14.9/80012 driver=key-cycle 共同上游根因;S5b 串行复跑+raw 观测行连环钉死) (cutover S5b)
...
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:24:44 -07:00
lili
8a58d57972
docs(.agents): tech-decisions §13 蒸馏——框架默认注入面击穿护城河(第三例跨路径封口·内建工具面红线)+ stuck签名承载同错语义+失败即时归因 + 运维三硬记(jar世代=env面随升/快照验完整性/并发争用污染测量) (cutover 窗蒸馏)
...
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:21:18 -07:00
lili
396461065b
chore(cheap): smoke FAIL 打印 raw 尾(bake_off 并发争用致 100% 回退考卷、真因被吞实证)——失败真因可见纪律 (cutover 窗口)
...
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:15:05 -07:00
lili
0ca5320988
docs(mvp): 板对账——W-S1 cutover S0-S4+回滚演练完成/W-A11 ✅ 收官/人办③④已执行(证据指针=cutover plan §9) (cutover 窗口)
...
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:06:38 -07:00
lili
b79625e0f5
docs(plans): cutover §9 回滚演练全绿(幂等重放终态保护/验签双向/off旁路on恢复全循环/透传修生产实证)——S6 回滚判据达成 (cutover 窗口)
...
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:04:56 -07:00
lili
c6d81fc287
docs(plans): cutover §9——A11 计费 e2e 收官(93150/D11=90/cost 0.9871 落账/C5 考卷重生 modify 路首证);S5b bake_off lab 复验已起跑 (cutover 窗口)
...
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 19:52:56 -07:00
lili
5cc79de871
docs(plans): cutover §9 S4 绿腿证据(80012/¥2.13/repairs=1/D11=86/engineBundle 238KB)+A11 同窗腿(jar轮换@2a8d5e45/Nacos凭据双杀教训/两段式回路生产真转) (cutover 窗口)
...
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 19:48:23 -07:00
lili
2a8d5e450b
chore(cheap): 丰富度日志行补 genre 段(工单e,纯观测;genre 实参本就透传) (cutover S2)
...
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 19:24:35 -07:00
lili
f121bb01ce
merge: C6反馈驱动器族错配直指(回退selectionBasis+H零增量→先修targets/spec别改计分;80007盲修¥14.9对症解)+a2前提证伪实录(shop模板targets一直在,回退发生在生成物丢键) (cutover S2 工单a)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 19:24:08 -07:00
lili
c814668992
docs(plans): cutover §9 续记——工具面击穿发现(内建旁路写白名单,补丁a6d5c29a)+80011兜底链组合实证(异类失败零误熔断/软停/step_cap/诚实回调) (cutover 窗口)
...
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 19:23:10 -07:00
lili
8d94128d7e
fix(cheap): C6反馈驱动器族错配直指(selectionBasis回退+H零增量→先修targets/spec别改计分) (cutover S2 工单a)
...
工单a1(真修):build_cheap_feedback_obj 的 H_progress 分支——当判卷驱动器族是「回退」兜出来的
(staged play-spec.json 的 driver.selectionBasis 含「回退」二字)且 H 失败为零增量类(同源读 g.checks
的 before/after 判 after<=before,不 re-parse 字符串)时,把该门 fixDirection 从原「核对得分随真玩上升」
掉转为直指:先让运行态暴露 targets / 修 play-spec,而不是改计分逻辑;原 H 详情保留在 detail。
三条不命中支(driver 正常选中 / score 有真增即终局不可达 / 读不到 selectionBasis)一律保原门提示一字不变。
新增 _cheap_selection_basis(镜像 _cheap_driver_type 容错)、_h_zero_increment 两个 helper。
80007 盲修¥14.9(key-cycle 驱不动购销循环→真玩零得分→原文案指向改计分→M3 盲修烧到硬地板)实证。
单测 test_gate_judge_mismatch.py 7 用例全绿;既有 gate_judge/feedback 32 用例零回归;tier2 路未碰。
工单a2(实证无需改):前提「_template-shop 漏 targets 契约」经端到端真跑证伪。
_template-shop 自建档提交 9ddd173c(2026-06-30)起,_forensicsView().state() 就暴露 targets 键,与参考
模板 _template-feiyi 结构一致;A2 批(34923812)只加「起局按钮解耦 render + targets 键名约定进 prompt」、
未动 targets 暴露本身。全管线 scaffold→build→stage→smoke→ensure_play_spec 真跑,shop 得
driver.type=tap-targets(selectionBasis=可点目标类,非 key-cycle 回退),与 feiyi 正对照行为一致。
模板已满足契约,按最小改动不造多余改动。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 19:21:55 -07:00
lili
a6d5c29ad3
fix(cheap): Service 关 workspace 内建工具(Bash/Edit/Glob/Grep/Read/Write)——内建 Write/Bash 旁路六工具写白名单(护城河击穿)+ M3 12+工具面语义重叠混乱税(80009 死圈/80011 失败目录:Bash CWD 混乱/read_file 被串 Read 参数/Edit 连败,签名富化观测实证) (cutover S2 工具面封口)
...
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 19:12:35 -07:00
lili
daee094c83
docs(plans): cutover plan §9 执行记录——S0-S3 证据落档(S1 worker接线bug/S2 GP9+并发+Bean功能实证+studio透传+80009熔断观测盲区双修/S3 起步值对账+BUDGET_RMB废止)+残余工单七件 (cutover 窗口)
...
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 19:05:02 -07:00
lili
d3ec652d82
merge: studio透传控制面三拒绝码(quota/backpressure/unsafe)保留产品语义 (cutover S2 工单d)
...
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 18:53:39 -07:00
lili
ff66c1c806
merge: stuck熔断签名富化+工具失败即时观测(80009误熔断+归因盲区双修) (cutover S2)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 18:53:39 -07:00
lili
5afb9823cd
fix(tier2): stuck 熔断签名富化=工具名+状态+归一化错误头,对齐设计意图「同错反复」——异类4连败不再误熔断(交step_cap/¥闸兜底)+工具失败即时打印观测(80009 生产事故:签名恒为裸error且无从归因) (cutover S2 观测修)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 18:53:09 -07:00
lili
f9b85d429b
fix(studio): 透传控制面三拒绝码(1101001001/002/004)保留产品语义,其余异常仍包裹 1112002000 (cutover S2 工单d)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 18:51:08 -07:00
lili
dbfe40906e
fix(cheap): worker_service 门面路 _service_run_fn 先导 _bootstrap 再导 driver——补 tier2/gen-worker sys.path 接线(CLI 路有、门面路漏;S1 真验实证 No module named worker 兜底 failed 回调) (cutover S1)
...
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 16:07:48 -07:00
lili
30024bd134
merge: C1 金标复验五品类(12条口径,真M3 ¥0.46)——第12条对前11条零漂移坐实(heritage精确×2/trpg精确/puzzle±1/narrative纯隔离精确复现旧锚);narrative薄反触线经复采样n=3定性=旧锚stingy非item12效应(M3单发方差实测±2~4,复采样条款首战生效);5 fixture _note 追加式新基线,items零动;欠账=narrative正式重锚(固定brief+genre口径)/trpg·puzzle薄反入仓/经营正例待固化
...
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 15:27:31 -07:00
lili
2aafa82b9c
docs(cheap): 通用底座第12条金标复验回写5品类rubric _note(12条口径·C波·真M3 23调用¥0.46)
...
评分尺变更「通用底座 11→12 条(⑨升「核心操作非无脑」L2·追加末尾·前11一字不动)」的金标复验:
逐品类金标正例+薄反例真 M3 judge 复评,比对前 11 条分组小计对旧 11 条锚的漂移(±1 线),
第 12 条命中态与品类段单记。结论=item12 对前 11 零漂移坐实:
- heritage 正/薄反 前11 逐值精确=旧锚(10/11=6/2/2·6/11=4/0/2),品类 5/5·3/5 均±1内
- trpg 正例 前11 总分 8=旧锚(首记分组 5/1/2),品类 5/5 持平
- puzzle 正例(_fewshot)9/11 首记通用、对照(_template)8/11 对旧锚7/11 +1(±1内),品类 5/5 持平
- narrative 正例 双口径(生产/纯隔离)中位均±1内,genre=None 纯item12隔离中位7/11精确复现旧通用锚
- 第12条判别力真实:富/决策游戏命中、经营骨架(点顾客自动结算)与故事骨架多未命中;sim_neg item12=False
四品类(heritage/trpg/puzzle)+narrative正例 12条口径新基线已回写(追加式·保留旧11条记录)。
待创始人裁 / 欠账:
1. narrative 薄反例 L2 中位 2~3 对旧锚 L2 1 超 +1~+2 —— 根因旧锚系「骨架原样」空brief单发stingy观测
(该骨架恒有 juice+playSfx 两个L2、真实地板≥2),非 item12 效应;narrative 本为「仅观测·挂窗待跑」
临时基线,新基线本轮暂不锁定,建议以固定 brief+genre 口径正式重锚(_note 已记发现)。
2. trpg/puzzle 合成薄反例(黑箱点卡/合成薄壳)未入仓、本轮未跑。
3. 经营金标正例无仓内产物(golden-specs 只有 driver play-spec),待固化一款过门经营正例入仓。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 15:25:43 -07:00
lili
d504e8f18a
docs(boards): A波全落账——W-S1 修复三单 ✅ +周边(genre路由/Service壳终结/预算两段式/gen.mjs守卫)、W-ARCH ② ✅ +判例库CI挂载 ✅ (含ⓐⓑ扩容)、W-DSGN 文本批 ✅ 剩SVG、策划知识包待拍4件按创始人全权授权默认项拍定(ⓐ采纳落码/ⓑ冻结/ⓒ批入SoT/ⓔbacklog)、人办③改「复验在跑·绿即S0-S5·S6留创始人」
...
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 14:55:00 -07:00
lili
3495470d89
feat(quality): ⑨升通用底座第12条「核心操作非无脑」落 RICHNESS_CHECKLIST(L2 6→7,前11条一字不动,prompt 计数改动态 len 同源防漂)+ 测试分母随升;图说预算两段式「待实施/CLI仍hard」翻已落实态(cheap_budget 同源工厂+真M3实证) (质量SoT §4 规范一 12条口径,ba55508e 配套;金标复验=C波)
...
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 14:51:36 -07:00
lili
b78a8dfa4f
merge: A1 核心修复批——单①驱动器约定收敛(C5接线:startRitual起局仪式+driver显式selectionBasis+sourceHash陈旧重生+金标held-constant不误杀)+单③反馈补厚(C6结构化单一来源:latch双支phaseNow+driverType+game-log摘要+CLI九门回喂对齐+tier2 sidecar富文本不变)+预算两段式(软停¥10/¥50只许收尾·on_acting拦生成面+硬地板×1.5 fail-closed,CLI/Service同源,W-ARCH②)+genre最小路由(五类词表·特异性降序)+Service壳合成终结事件+压缩崩fail-open补丁(SummarySchema全required根因坐实)。T7复现:fx4c-3 9/9·fx4c-1起局成功8/9;T8真M3 smoke:C6回喂环真转·软停真触发·硬地板真fail-closed(¥3.0158)
...
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 14:43:31 -07:00
lili
714d0adebc
fix(cheap): judge_cheap_verdict 全绿路 feedback 文案改准(「九门全绿,放行」取代误导的「未定位到未过门」;passed=True 时 feedback 本不回喂,仅日志/trace 用) (T7 fx4c-3 复跑发现)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:32:57 -07:00
lili
51144f1a3b
feat(cheap): T5 Service 壳合成终结事件(run 崩快失败,封 600s 慢失败出口)+ 压缩崩根因坐实与 fail-open 补丁
...
- 压缩崩根因(venv 2.0.2 代码级证据,4 次实证 'important_discoveries' required):reply 每轮推理前
compress_context(_agent.py:609)→ generate_structured_output 用 SummarySchema json-schema(五字段全
required+maxLength,_config.py:11-53)强制 M3 tool_choice 产摘要 → dict 路 jsonschema.validate
(model/_base.py:566-567)对缺字段/超长抛 ValidationError → 非 retryable 直接 raise(_base.py:426-428)
→ _compress_context_impl 非 overflow 支 raise e from None(_agent.py:461)→ 穿透 reply;ChatService.run
吞异常不发终结事件(app/_service/_chat.py:166-176)→ driver 600s 慢失败
- ctx_compress_patch:fail-open 包 Agent.compress_context(压缩=旁路优化件,失败只跳过不杀主链;连续 2 次
断路防每轮白烧压缩计费调用;钉 2.0.2 不改 venv 本体,纪律同 m3_stream_patch);Service 与 CLI 两处 apply
- collector on_reply 增崩溃支:先 flush 收口采集,再 yield 合成 ReplyEndEvent(消费侧先 publish 到 bus →
driver 立刻收到回合终结按盘面快速失败),原异常原样重抛不掩盖;正常路零行为变化
- 测试 9 用例:成功透传/失败吞掉/2 次断路/成功清零/按实例隔离/apply 幂等;崩溃合成终结+异常上抛+崩溃路
flush/正常路不追加/合成兜底不遮原异常
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:21:34 -07:00
lili
74c3ef51f8
docs(skills): puzzle skill §9 起局命中区教训条目对齐 v1.6.1 新约定(onEnter 纯几何建立、render 只画;保留原教训与实测证据)
...
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 14:20:45 -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
d2b916f112
feat(cheap): T4 生产 create 路 genre 最小路由(brief→五类确定性词表·先验序=特异性降序·无命中回退通用) (M3 cutover 放行检查单增补)
...
- cheap_genre_route:纯词表路由(零 LLM/零 IO/确定性),规则表数据化单源(_GENRE_RULES 顺序即先验序:
非遗>TRPG>经营>解谜>剧情,特异词前泛词后);映射对齐 GENRE_BY_TEMPLATE 五类模板
- cheap_service_driver:取代硬编码 scaffold_template=None——命中选 per-genre 黄金骨架+genre 透传丰富度评分
(生产 create 路与 S5 bake_off 复验同轨);无命中 (None,None) 走通用 _template(路由只加不减)
- tests/test_genre_route:五类命中/无命中回退/多类共现先验序/GENRE_BY_TEMPLATE 一致性/确定性/脏输入 14 用例
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:17:54 -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
9e1e943503
feat(budget): T3 预算两段式统一(软停线 ¥10/¥50 只许收尾+RMB 硬地板 ×1.5 fail-closed 封上界+CLI/Service 同源工厂) (W-ARCH②,创始人 2026-07-03 裁决)
...
- middleware:soft 档升两段式——越软停线置软停+on_acting 拦新增生成面工具(write_file/write_source/scaffold_init,
收尾类 finish/check/build/跑门/只读恒放行);越硬地板(软停线×rmb_hard_floor_ratio=1.5)fail-closed 抛熔断,
spent>floor 后 est≥0 使下次调用必拦 → 整局 ¥ ≤ floor+单笔,上界数学可证明;hard 档单段语义逐字不变
- genconfig+generation.yaml:rmb_hard_limit 3.0(spike 占位)→50.0(富档软停线裁决值)、新增 rmb_hard_floor_ratio=1.5
/ cheap_rmb_hard_limit=10.0 登内置默认,带裁决出处中文注释
- cheap_budget.build_cheap_breaker:便宜档 breaker 唯一装配点——CLI(cheap_studio,原 hard 单段 ¥10 改两段)与
生产 Service(cheap_service_app,原 soft 无地板补地板)同源读 genconfig,档位参数不可被 overrides 改
- 测试:两段式 11 用例(软停区间放行/生成工具拒·收尾放行/硬地板到线即停/spent>floor 次调必拦/工厂同源 env 同变);
test_budget_soft_stop 旧「soft 无界」口径按裁决更新为两段式并补越地板用例;既有 hard 档测试全量不动全绿
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:15:59 -07:00
lili
10de6aab8e
merge: E14 图说 doc-sync 八条回同(配置反转/收敛环conditional/便宜档Python化+12插件/RepairMiddleware+预算两段式/checkpoint降准/DockerWorkspace句删/质量canonical互引/trace README口径)+ Δ6 接缝频率序 + Δ9① A8-A13 注记 + C5/C6 入契约表 + studio.py 头注释纠正(W-DSGN 文本批,SVG 留尾波)
...
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 14:12:44 -07:00
lili
6ef0b5d75e
docs(gen-engine): 运行时图说 doc-sync 回写实现对账 12 项(W-DSGN)
...
以 2026-07-03《生成引擎实现与图说一致性对账》§5 八条 + 重推演 Δ6/Δ9① +
预算两段式裁决为据,把掉队约两周的运行时图说追回现实,写前逐条重核工作树代码。
图说本体(主对象):
- 配置口径反转:ADR-4/A13/§5.2/§5.8/对标表/五列/§二补④ 从「Langfuse 式热取 + GitOps
四闸」改为「yudao 配置中心版本化(MySQL 版本行)⊕ Nacos 下发 ⊕ AgentScope per-POST
热重载」,阶段〇+一① 已代码落地;Langfuse 式退历史备选、原表保留作决策留痕。
- §4.2 收敛环:前瞻「go(留观微调)」改为真跑 conditional 结论,补 agent 层 win-balance
瓶颈(约 1-2/5 thrash)、网关无强档记 conditional no-go、F-1 反馈补厚已落。
- §4.1 便宜档:补运行时载体已 Python 化(cheap-worker 双入口 CLI+Service、复用 tier2
worker 包;Node 拆两半:gen.mjs 退对照、tools.mjs/serve-and-play.sh/play.cdp.cjs
九门执行层 shell-out 仍活);「十一插件」核正为十二(8 基元+4 编排)。
- §5.3 续修:回同续修原语迁入 on_reasoning 的 RepairMiddleware(单 POST 内 finish 点
续修=生产主路,外层 resume 为本地 runner 并存 fallback);预算两段式(软停线 ¥10/¥50
+ 硬地板 ×1.5=¥15/¥75、与轮数/墙钟任一先到即停),§5.2/§5.7 同步。
- §5.1 checkpoint 降准(每外层 resume 落本地 JSON;Redis durable 已编码未真跑);服务壳
已编码真跑未验证、阶段一 Agent Team 已提前落地默认开启。
- §5.4 删 DockerWorkspace 前置阻断句(06-28 已裁 in-process);A2.5 表行改现·部分;
补引质量 canonical(D11 权重管辖已移交、四层塔与三层校验共用 L1-L3 但异轴防混)。
- §一 Δ6:第一原则改述为「接缝按变更频率设」(模型月换>品类周扩>引擎季增>框架可能永不换;
协议脊柱与 judge 独立两资产保留;框架适配验证明确为远期非投入项)。
- §三 Δ9①:A8–A13 加「单实现期不冻、第二消费者出现才抬升」注记(不删行);C5/C6 判分
闭环两契约入表(PlaySpec 考卷/VerdictFeedback 判卷反馈,已立 schema+校验器、生产接线
在途,指 contracts/play-loop/)。
- A11(工单第 10 条)复核:图说 §六已是完整 A11 章节,无需重复补——系对账/工单误判。
配套一处:contracts/trace/README.md 廉价线口径 SAA→cheap-worker(便宜档已 Python 化复用
tier2 TraceAdapter/schema,saa-trace-event schema 保留作 SAA 远期轨立位)。
代码触点一处:tier2 agent_loop/studio.py 头注释纠正(「不再外层 repair」与同文件外层
resume 相左)。
收尾:两份配置设计档 sot-impact「收口时回写」翻「已回写」;plan① §11 TODO ⑤⑥ 勾状态。
docs-gate 七检全绿;studio.py 语法校验通过。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:10:56 -07:00
lili
93cdffa33e
feat(cheap): T2 续修反馈补厚·C6 判卷契约接线(latch 双支 phaseNow+driverType+game-log 摘要+CLI 九门回喂对齐+tier2 结构化 sidecar) (W-S1 修复三单·单③)
...
- gate_judge:反馈先构造 C6 结构化对象(build_cheap_feedback_obj)再渲染中文(单一来源,拼串丢字段结构上不可能);
latch advisory 支(phaseNow)与驻留支(after)都读;每条逐门带 driverType(staged play-spec 取数);
game-log.json 告警/报错摘要进反馈(截断保护);C6 对象落 evidence/verdict-feedback.json 证据留痕
- cheap_studio:CLI 收敛判据升「九门绿」——finish 后 _closeout_gates 跑门,未绿且轮数/预算有余带 C6 反馈
resume 续修(与生产 RepairMiddleware finish 点拦截行为同型);软停后只收尾不回喂;收口复用最后一轮门结果;
对照路 run_gates=False 零改动
- tier2 对齐(有界零行为变更):verdict_feedback 富文本逐字不动,新增 verdict_feedback_obj+write_feedback_sidecar
结构化 sidecar 落 evidence/(judge_tier2_verdict 未过时 best-effort)
- Service _cheap_check / driver _build_summary 传 game_id+staged_dir 解锁完整反馈口径
- tests/test_feedback_c6.py:phaseNow 两支/负样本被 validate.py 拦/driverType/game-log 截断/sidecar/富文本不变 14 用例
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:08:44 -07:00
lili
685a21a74c
merge: B8 门挂载——四契约门挂 pre-commit(.githooks 五门条件触发)+ Gitea Actions contract-gates.yml + rubric↔skill 双写对账门(rubric-sync-gate.py)+ check_registry 真挂载 + prompt治理档口径对齐(Δ5 执行面)·负向演示×4 全红转绿·live-fire 实证
...
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 14:04:24 -07:00
lili
4631fd9a5e
merge: B7 证据固化——卡menu族 fx4c×3 升产物型判例(gate-fixtures products/ 第三态)+ 剧情金标正例 p11a-s1 固化(golden-samples/narrative)·字节保真抽查过·manifest pending 3→2
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:04:24 -07:00
lili
234c076f51
feat(cheap): T1 驱动器约定收敛·C5 考卷契约接线(startRitual 起局仪式+driver 显式化+sourceHash 陈旧重生·金标 held-constant 不误杀) (W-S1 修复三单·单①)
...
- cheap_run:_build_play_spec 产 C5 形状(schemaVersion/derivedFrom/selectionBasis;key-cycle 带默认 startRitual);
ensure_play_spec 以 derivedFrom.generator 区分本产线自动 spec 与手工金标——自动 spec 按 sourceHash 判陈旧重生,
金标/旧世代 held-constant 永不覆盖;产出走 C5 best-effort 自校验(强校验在单测)
- play.cdp.cjs:NONPLAY 升模块级;runStartRitual(tap-selector 读 state 坐标/input-sequence/默认 Enter→Space→中心点,
进游玩态即止);主流程 runDriver 前执行声明仪式(无声明零行为变化);runKeyCycle 对 MENULIKE 前置态做默认起局尝试
(镜像 runTapTargets 扫点范式,治 fx4c 卡 menu 驱动器约定漂移)
- tests/test_play_spec_contract.py:两族过 C5 强校验/显式字段/hash 重生/金标不误杀/保守支 14 用例
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:02: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
lili
64eb7a4eac
feat(gate-fixtures): 卡 menu 族 fx4c×3 升产物型判例 + 剧情金标正例 p11a-s1 固化入仓
...
判例库补两类被门证实的证据落位,门判据改动前的全量回归多两组锚:
- 卡 menu 族 amgen-fx4c-{1,3,4}(复现窗 2026-07-03)从 pending 升为 product_fixtures:
每份固化 src 源码(卡 menu 现场:menuStartBtn 仅 render 副作用赋值 + 非方向键起局)+
evidence 摘要;bundle/index.html 构建产物与约 1MB 生成 trace(verdict 全 null)不入仓,
附 tools.mjs build-saa 重建命令。裁决两防线:案 1/3 驱动器约定漂移(误杀)、案 4 并发
flaky(脆弱写法),细化归卡 menu 归因单。
- 剧情品类金标正例 p11a-s1「深渊回声」(丰富度 7/11、九门全绿)落
cheap-worker/fixtures/golden-samples/narrative/,给策划知识包 v2 正例复验当靶子;
narrative.json 的 _note 指针从「产物未入仓」翻为已固化。
manifest 新增 product_fixtures 键表达「有载体、真跑需九门 CDP 环境」的第三态(区别 cases
可运行 / pending 无载体);产物型判例不进 run.mjs 零依赖 stage。run.mjs 全量回归绿
(node 三段 29 过、python 段无 pytest 合法 SKIP)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 14:01:02 -07:00
lili
ba55508e90
docs(quality): 质量SoT三增补(⑨升通用底座第12条「核心操作非无脑」L2·6→7/锚定纪律复采样定性+合成薄壳条款/非遗·解谜品类适配首批两件批准)+ _index r3已merge口径修正 (创始人2026-07-03授权默认项拍板)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 13:42:12 -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全绿)
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
zizi
0297ded56d
docs: 知识面审计五发现折账既有窗(不立新批)——M3放行检查单增补genre路由前置(复验口径≠生产口径)/W-S1同窗⑨数据化+prompt三源收敛/W-S2同窗archetype假旋钮清账/判例库CI小单扩容双写对账+registry挂载/W-DSGN收死链与口径/阶段二挂知识件范围待裁
2026-07-04 01:38:08 +08:00
zizi
e99159e6df
docs+contracts: W-ARCH①④⑤落库(C5/C6契约+门判例库+§5.2契约DoD,fable终审过)+重推演/对账双档入仓;视野收敛——在飞板尸位4行收口移除+W-S1行瘦身(归因史沉git 4801e435)
2026-07-04 01:31:28 +08:00
lili
4801e4357f
docs(mvp): 卡 menu 族归因收账(2案驱动器约定漂移确定性+1案并发flaky+0案未定义标识符;盲修缺口=反馈丢 phaseNow;修复三单成稿待放行)
...
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 00:51:14 -07:00
lili
090789fd9e
docs: rubric 归一后品类 skill 两处指针修正(指向 fixture 单源)+ W-GENRE follow-up 三单收口对账
...
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 00:23:51 -07:00
lili
71ce478ebd
merge: check 门第 6 节——模块内未定义标识符 + import 断链静态扫描(4 例实证失败模式全拦:解谜 gen3 cy/gen6 stepUntilMs/非遗断链;esbuild 树内现货当作用域分析器零新依赖;8 正样本 0 误报;namespace 成员断链 esbuild 仅 warning、build 退出码拦不住的形态显式收集)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 00:23:26 -07:00
lili
974011a150
merge: rubric 挂点归一——四品类三套机制收敛为单一 fixture 数据源(GENRE_CHECKLISTS 内联退役·TRPG 条目 ast 迁出逐字节保真·非遗接线生效键收敛 heritage)+ 三品类真 LLM 金标复验全过(puzzle 锚对失效实锤修正:模板天然不薄、改合成薄壳锚)
...
剧情品类缺口立此存照:无 rubric 数据件、无 few-shot 正例锚,按锚定纪律不无锚造条目,待 fewshot-story 后补。
复验方法发现:M3 judge 单次采样方差可达 ±2~3,锚定容差建议补「超线先复采样定性」条款(候选进质量 SoT 规范三)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 00:21:44 -07:00
lili
8a566c9e0e
feat(amodel-gen): check 门加模块内未定义标识符+import断链静态扫描(4例实证失败模式)
...
动机:便宜档 M3 生成的代码语法过 check、运行时才炸,九门才拦得住,浪费整局——
解谜 gen3(renderMenu 用未定义 cy → 卡菜单 E/G/H 连锁挂)/ gen6(stepUntilMs 未定义
uncaught)/ 非遗首败(import 断链模块级即炸);node --check 只查语法不查引用。
- 新增 check-undef.mjs:esbuild(树内现货 devDependency,build 步同款)当作用域分析器,
零新依赖、零手写 parser——
① 未定义标识符 = transformSync + define 探针(define 只替换模块内任何作用域都未声明的
自由变量;声明全形态 var/let/const/函数提升/类/参数/解构嵌套默认值/catch 参/import
绑定由 esbuild 生产级 parser 认定,实测 12 形态零误认);
② import 断链 = buildSync(bundle,write:false) 以 game-logic.js 为根整图静态解析
(named/default/re-export 缺 export 的 error、namespace 成员缺 export 的 warning
——后者正是既有 build 步按退出码拦不住的形态、模块文件不存在的 resolve error);
报错为生成 agent 可照修的中文(文件+行+标识符名+一句修法);esbuild 不可用(零依赖
环境)静默降级,check 其余门照跑。
- tools.mjs check() 挂第 6 节:生成侧五文件(game-logic/core/render/balance/assets)
逐模块扫 + 断链整图解析;输出协议(PASS/FAIL+明细)与退出码语义不变。
- 零误报口径:白名单取宽(ES 内建+浏览器宿主,"能不能用"归红线门、本门只管定义与否);
typeof 直用守卫名/双下划线名/上下文关键字名/中文标识符/动态下标列为已知漏报面,宁漏勿误。
- 单测 15 项全绿:三实证失败模式必红且文案含标识符名 + 隐式全局赋值必红 + 声明全形态/
typeof/globalThis/属性/对象键/label/字符串/注释零误报 + 8 现存正样本(6 模板+2 few-shot)
0 报固化为持续回归门 + 语法坏文件不崩不添噪。
- 验证:新测 15/15 + 既有 check.test 11/11 零回归 + 7 完整正样本 scaffold-saa+check 全
PASS(_template 仅既有 2.5 节设计内报错、新门零添报)+ 注入三类 bug 端到端 check CLI
必红 + pytest cheap-worker 回归门 6/6 + node --check 全过。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 00:19:50 -07:00
lili
3947bcbe92
docs(cheap): 金标复验结论回填三品类 rubric 锚定履历(_note 注释性字段,条目文本零触碰)
...
rubric 挂点归一后真 LLM(M3)金标复验,三品类判据①正>反(品类分)/②同一正例品类路vs无品类路
通用分组小计漂移≤±1/③无 degraded:
- trpg:正例(_template-trpg 骨架)品类 5/5、合成黑箱点卡薄反 0/5·通用 0/11,与 merge 前基线
(caadfe4c)吻合;判据②首采样 L2+2 超线→复采样 {1,0,0} 过线,定性=M3 judge 单次方差(同一
prompt 无品类路两采样通用分即差 3;机制迁移零 prompt 漂移已机器逐字节证实,非迁移引入)。
- heritage(首次接线建基线):正例 _fewshot-feiyi 10/11(6/2/2)·品类 5/5 与 2026-07-02 死数据
时代首评 anchors 逐值全同;薄反 _template-feiyi 6/11(4/0/2)·品类 4/5(+1 容差内)——接线零扰动。
- puzzle(首个真 LLM 复验):锚对失效实锤——_template-puzzle 黄金脚手架品类面已满(judge 判 5/5,
逐条理由与源码核对全对得上:5 关维度递进/卡壳脉动提示/HUD 进度/结算历史最佳),不构成品类薄反;
照各条 negative 面同构合成薄壳补验鉴别力(正 5/5 vs 合成 0/5·通用 0/11),_note 锚对口径修正。
复验证据 JSON(9+3 次评分全量 hits/why/tokens)留 scratchpad,不进仓库。33 测试绿。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 00:18:46 -07:00
lili
cbc6f81932
docs(mvp): 决策③ hold 收窄对账(fix400 merge cf0d9346·400 封死·剩过门率一关·卡menu归因单在飞)
...
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 00:09:08 -07:00
lili
af8d63f418
feat(cheap): 非遗品类 rubric 接线——heritage.rubric.json 规整为约定形状 + _template-feiyi 登记 (rubric 挂点归一②)
...
非遗 rubric 此前是死数据(文件名不合 <genre>.json 装载约定、数据键 entries 非 items、
GENRE_BY_TEMPLATE 未登记——生产路走不到)。本步接线:git mv 改名 heritage.json、entries→items、
顶层 _genre→genre;5 条条目文本(含 id/正反例)逐字节零变更(机器比对核过);groupMaxes 与
2026-07-02 首评 anchors 原样保留。
品类键收敛裁定:同一品类三键并存(feiyi/heritage/heritage-craft)→ rubric/接线键统一 'heritage'
(与 rubric 文件名、散文同源 skill heritage-game-design.md 同名,改动面最小);模板目录
_template-feiyi 是资产目录名(GENRE_BY_TEMPLATE 登记映射),金标 spec _genre='heritage-craft'
是金标名(driver/assert 承重,一律不动)——映射依据留档 heritage.json _note + 代码注释。
GENRE_BY_TEMPLATE += _template-feiyi→heritage:run_studio 生成非遗品类起即评品类扩展 5 条
(分母独立小计落 richness.genre)。新增接线测试(loader 可加载/条目名顺序锁定/登记/正反例形状),
33 测试绿。金标复验(正=_fewshot-feiyi vs 薄反=_template-feiyi,对照 anchors 首评)随工单后续步骤。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 00:08:22 -07:00
lili
cf0d93464f
merge: fix400 封死 M3 400 流式聚合炸弹(决策③硬前置)——A 主防线 parallel_tool_calls=False 透传(实测被 M3/new-api 忽略)+ B 纵深聚合补丁实证兜住(6 局 628 tool_call 零指纹零 400)+ C tier2 两路对账免疫不动
...
docs-gate / docs-gate (push) Has been cancelled
e2e 诚实账:两局全绿 1/2 未达(fix4xx-2 9/9);其余失败=既有生成质量(卡 menu 族×3 有独立第二根因、
工具死圈族×3),与 fix400 零因果(零指纹零 400,续修轮 4 局真跑通)。follow-up:①卡 menu 族三案归因
(未定义标识符族 vs 门驱动器约定漂移)②Service 壳为 run 崩发合成终结事件(慢失败出口)+压缩 schema 崩排查。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 00:07:33 -07:00
lili
5725f4683e
refactor(cheap): 品类 rubric 挂点归一——TRPG 内联迁出 fixture、查找只剩单源一路 (W-GENRE 收敛)
...
机制迁移(rubric 挂点归一工单第①步):品类条目唯一数据源 = fixtures/genre-rubrics/<genre>.json
(items 键,经 load_genre_checklist 加载);cheap_verify.GENRE_CHECKLISTS 内联字典退役、
verify_richness 查找逻辑去掉「内联优先、fixture 兜底」两路,只剩 fixture 一路。
TRPG 5 条自内联**机器迁入** trpg.json(git show 基线 ast 提取直写,非手抄;逐字节比对
name/layer/meaning 全等)——meaning 内嵌「(正:…;反:…)」为内联时代原文原样保留,保 judge
prompt 逐字节不变;positive/negative 为机器拆出的同文抄录(金标锚材料,不进 prompt)。
锚定纪律机器验证(基线版模块独立加载对拍):品类路/无品类路 judge user prompt、两个 system
prompt 与 db4aadd7 基线**逐字节恒等**=迁移零评分尺漂移;金标复验随本工单后续步骤统一跑。
单测适配:4 处 GENRE_CHECKLISTS 引用改经 load_genre_checklist('trpg')(断言语义不降级),
trpg 条目名/顺序锁定断言补齐(同通用 8 条锁定),新增单源守门测试(GENRE_CHECKLISTS 不存在,
防两路复活)。test_cheap_verify 20 + test_genre_puzzle_assets 6 + test_golden_specs 6 = 32 绿。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 00:06:16 -07:00
lili
8512d438d8
merge: 回落 _SYSTEM_PROMPT 与 cheap-system.md v1.4.0 生效源重对齐(test_roles 12/12 全绿,回落路静默退化护栏重新亮起)
...
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 00:01:10 -07:00
lili
74e786d855
fix(cheap): 回落 _SYSTEM_PROMPT 与 cheap-system.md v1.4.0 生效源重对齐(test_roles 12/12)
...
便宜档生成 agent 的 system prompt 有两个源:热取生效源 contracts/prompts/04-config/cheap-system.md
(运行时经 _load_system_prompt 读取,已到 v1.4.0)与内置回落 cheap_roles._SYSTEM_PROMPT(读不到/脏时兜底)。
生效源多轮领先内置回落,导致 test_roles 的两个逐字节不变量测试
(test_hotload_invariant_equals_inline / test_hotload_default_scaffold_desc)长期基线红。
以 md 正文(剥 frontmatter)为准,把内置回落逐字节回填对齐,恢复「热取路输出 == 内置回落路输出」不变量。
回填三段(判据措辞一字未改,仅对齐搬运,⟦G⟧/⟦SCAFFOLD_DESC⟧ 占位符原样保留):
- 核心循环:加「好玩第一因·必含一层玩家决策」铁律 + 决策层与自动验收解耦(两层奖励)子项;
- 好玩自检:8 条扩为 9 条,新增 ⑨「核心操作非无脑」否决项 + 剧情/解谜段技巧分措辞;
- MVP-first 铁律:尾部追加「可玩核心=一个有决策深度的核心机制、绝不砍核心决策层」钉死段。
验证:test_roles 12/12;test_golden_specs + test_cheap_verify 25 passed 无回归;py_compile 通过;
md 正文与 _SYSTEM_PROMPT 逐字节相等(difflib 无差异)。只改 cheap_roles.py,未动测试/契约/prompt.mjs/registry。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:59:03 -07:00
lili
b77291342b
docs(mvp): W-GENRE 四品类批产收口对账(P11×4 全 merge·解谜小批 4/7 如实记录·follow-up 三单扇出)
...
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:55:11 -07: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)
...
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
cabc53f71e
fix(genre): 解谜品类红线补两条(小批收敛环失败模式回写)
...
n=5+2 小批实测三例失败(gen2 自写符文生成器产 0 解盘面=不可解关 / gen3 renderMenu 未定义变量 cy 被 scene-fsm 隔离致 startBtn 恒 null 卡菜单 / gen6 重写删声明留使用 stepUntilMs 未定义 uncaught),全部被九门正确拦截。据失败模式回写资产侧:skill §9 增「重写盘面生成器必须保住可解性质(恰好 N 解/至少 1 解/干扰不撞规则)」与「render 回调未定义变量会被隔离成告警、命中区拿不到卡菜单」两条品类红线;模板 generateBoard 注释同锚可解性质。模板 13 测仍全绿、签名门全过。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:32:37 -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)
...
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
39cc2c09ba
feat(cheap-worker): 非遗品类件③few-shot正例+rubric金标锚定回填+骨架import护栏 (W-GENRE)
...
③ game-runtime/games/_fewshot-feiyi/:few-shot 过门正例(木版年画作坊,源=n=5 小批第 3
款 p11d-print):attempts=1/¥2.65/九门 A-I 全绿/丰富度 9-11;范例签名机器校验门
(tools.mjs check)蒸馏时复跑 PASS;README 带来历/复验配方/漂移纪律(设计档 §3⑥
「必须同改」清单成员)。
④ 锚定回填 heritage.rubric.json:通用 11+品类 5 合评、两分母分开(M3 judge,容差
±1/组)——正例 通用 10/11(L2 6/6·L3 2/3·L4 2/2)+品类 5/5;薄反例(骨架原样)
通用 6/11+品类 3/5(节律张力/技艺成长 false=骨架无 combo/解锁,判罚与轻起点定位
一致)——评分尺判别力坐实。
② 骨架 game-logic.js 头注加 import 完整性护栏:n=5 首款 p11d-porc 失败根因 =
agent 改写时 import 列表漏 FIRST_READY_DELAY_MS、裸标识符 esbuild 当全局放行、
运行时点开工即 ReferenceError 被 L1 隔离→永卡菜单、E/G/H 三挂(check/build 双门
拦不住的盲区;node headless 探针定位)。护栏注释进克隆起点后 3 连过佐证。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:13:11 -07:00
lili
718f7d2e6f
fix(cheap): 修 TRPG merge 调解脚本误伤——test_golden_specs 函数 docstring 块被误替换成模块级集合致 IndentationError(管道吞退出码漏检,补跑金标+评分尺测试全绿)
...
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:10:36 -07:00
lili
8301f650fa
Merge branch 'p11-trpg' into dev/2.0.0
...
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
caadfe4c06
feat(cheap): TRPG 品类 rubric(5条·分母独立)+ 金标 play-spec(W-GENRE 品类件④)
...
品类扩展 rubric(质量模型 SoT §4 规范二·五六):cheap_verify.GENRE_CHECKLISTS['trpg'] 5 条
(掷骰过程可见 L2 / 风险回报取舍 L2 / 成长进判定公式 L2 / 难度爬坡登顶 L3 / 冒险战报炫耀 L4),
每条 0/1 标层 + 一对正反例;仍是喂 LLM judge 的评分尺数据、纯 LLM 非阻塞(红线:不写代码校验
/不进九门/不进 verdict/不进脚手架)。同一次评分 additive 追加品类条目,**分母独立小计**落
richness.genre{key,hits,score,max,groups},通用 11 条 groups/score 分母不混(规范二);
接线 = run_studio 据 scaffold_template 查 GENRE_BY_TEMPLATE 透传 genre,未登记/None 行为
与既有完全一致(无品类路 judge prompt 逐字节不变,锚定纪律)。
金标 play-spec:fixtures/golden-specs/trpg.play-spec.json(tap-targets occupied 反应族
+ score increased + expectLatch,formalize 件② p11c-tpl 已验的 occupied spec;不用货币
递减门——SoT §3 裁定二门级判据不跨档);test_golden_specs 期望集同步纳 trpg(schema/
契约依赖/无坐标绑定 20/20 绿)。
金标复验(规范三,真跑 M3):正例 _template-trpg 骨架 品类 5/5、通用 8/11;薄反例(黑箱
点卡+无骰无取舍无成长无终点)品类 0/5、通用 0/11——正反例拉满、评分尺有鉴别力;同一正例
品类路 vs 基线路通用 11 条漂移 = 0(≤±1,加品类段不扰动通用判定)。单测 +5(条目形状/
独立分母/位置兜底偏移/无品类向后兼容/judge prompt additive)= test_cheap_verify 19/19 绿。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:46:45 -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
e2d3a0a051
merge: W-GENRE 剧情品类四件套(skill narrative-game-design + _template-story 9/9 + 三源路由 + rubric5条/金标 spec;n=3 全过 attempts=1·身份层 Jaccard 0.0·幻觉 0 拦截)
...
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:41:00 -07:00
lili
ef517bf59e
feat(agents): 剧情品类设计 skill narrative-game-design + 品类 rubric 5 条(W-GENRE 品类件①④)
...
照 sim-business-game-design 体例(§0 六心理引擎/§1 可达范式表/§2 结构留存/§3 文本
数值红线/§4-7 美术 UI 音效钩子/§8 设计输出配方/§9 可达性红线/§10 自检+rubric),
回答剧情品类「设计什么才好玩」,与 littlejs-game-dev(代码怎么写)配对。对齐质量
canonical:纯叙事品类按 §7 申报机制以「章节推进+结局图鉴」为替代成长轴;§9 钉死
九门可达契约(选项单击即推进/targets 三者同源/menu-play-over 场景名/结局 latch)。
§10 品类扩展 rubric 5 条(N1 选择有重量/N2 场景有画面感 L2;N3 结局图鉴钩子/N4
属性塑造可见 L3;N5 结局可炫耀 L4),条目形状 = 编号/层标/一句可判定判据/一对
正反例,与 RICHNESS_CHECKLIST 三元组同形供接线注入;纯 LLM 非阻塞、不进九门不进
脚手架(红线)。金标锚点实测落定:正例 p11a-s1 = 7/11(L2 4/6·L3 1/3·L4 2/2)、
薄反例 _template-story 骨架 = 3/11(L2 1/6·L3 0/3·L4 2/2),区分度 4 分;n=3 批次
分组观测数据一并落档供质量轨锁 §7 观测线。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:38:30 -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
2f51439c55
feat(genre): 品类 rubric 喂 LLM 验证 agent 接线 + 解谜金标 play-spec(W-GENRE 品类件④)
...
cheap_verify 品类扩展接线(全 additive):load_genre_checklist 读 fixtures/genre-rubrics/<genre>.json(缺失/坏 JSON 退化为空,best-effort 绝不抛);同一次 judge 调用并入品类条目(规范四:每款一次评分),输出独立 genreHits/genreGroups 分组小计(规范二:分母与通用底座分开、不混合平均);genre=None 时 judge prompt 与解析输出与既有版本逐字节/逐键一致(锚定纪律,单测锁死)。run_studio 加 genre 透传(缺省 None=原行为);rubric 仍纯 LLM 非阻塞、不进 verdict/九门/达标判定;service driver 路不动(genre 路由进服务请求时再接)。
解谜金标 play-spec fixtures/golden-specs/puzzle.play-spec.json:tap-targets occupied 反应族 + score 递增断言 + expectLatch,只依赖 forensics 契约不绑定坐标(formalize p11b-tmpl 已验证过的 occupied spec);test_golden_specs 品类集同步加 puzzle(金标机器门)。
验证:test_genre_puzzle_assets 6 项全过(含 prompt 逐字节恒等/分组小计分母/漏答 genreChecks 兜底)、test_golden_specs 6/6、test_cheap_verify 14/14 零回归;test_roles 10/12 与 test_studio_smoke 0/4 为基线既有失败(主仓同状态,与本改动无关)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:36:15 -07:00
lili
cd292b2d65
feat(cheap-worker): TRPG 品类黄金脚手架 _template-trpg(W-GENRE 品类件②)
...
per-genre 轻起点骨架(照 _template-shop/_template-story 打样、L1 六件与 _template 逐字同):
勇者限时闯塔→每层翻遭遇卡(怪物/宝箱/奇遇,难度与奖励亮牌)→点卡=掷 d20+等级加成
vs 难度三档结算(金币/经验升级/怪物卡失败扣血)→清层登塔难度渐升→登顶 win/HP 耗尽
lose/60s 到点结算。掷骰过程可见(飘判定式 d20:骰+加成 vs 难度——不黑箱)。
_forensicsView 的 targets/score 取证契约 = 九门 tap-targets occupied driver 可达
(play 态 ready 遭遇卡 occupied:true、menu 空数组防误点;score=金币战利品单调升,
失败也有安慰 1 金=进展契约;卡命中区=绘制区=取证 targets 三者同源于 core.buildFloor)。
core.js 顶部多样性参数空间(ENCOUNTER_DECK 遭遇表/层数/血量/难度经验曲线)+
结构约束单测机器化(牌库 ≥4 项三 kind 齐/同层无重复抽样/难度地板 2)。
前任半成品盘点续做:src/ 7 件 + entry/index/manifest 已完整(沿用,零改动);
本次补齐 README.md + test/core.test.mjs + test/headless-boot.test.mjs + assets/gen-ledger.md。
验收:core 单测 13/13 + headless 全链路 3/3(真 tap 坐标起局→targets 驱动逐卡掷骰
→score 严格递增→翻层→over latch→再闯一次;同 seed 确定性;异 seed 牌面多样);
scaffold-saa/check/build-saa/stage/smoke 全 PASS(check=API 静态门+形状门对范例签名过门);
独立过九门 9/9(verdict: games/_wg1-gen/p11c-tpl/evidence/verdict.json,
H_progress score 0→97 increased + latch over 驻留,F_wiring sessionScore./audioMusic./juice. 全中);
金标 spec 注入复验九门同样 9/9。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:31:05 -07:00
lili
f91dffa267
docs(agent-specs): 配置控制面阶段二设计 双评审 11 条全修收口(激活降账本语义+失败即时补偿重放/namespace 口径前置/值域 sanity 校验/路B dataId 按档隔离/hash 引证改真实 feat 提交)+ 两板对账
...
docs-gate / docs-gate (push) Has been cancelled
Codex 2B+5M / Opus 0B+2M+4m 合并清单全采纳;独立终验:签名短语计数正常、新引 hash rev-parse 为真、docs-gate 七检绿。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:27:13 -07:00
lili
932b4f6d8c
feat(genre): 解谜 few-shot 过门正例 _fewshot-puzzle + 范例签名机器校验门 + 品类 rubric 机器版(W-GENRE 品类件③+④rubric)
...
few-shot 正例「深海寻宝谜航」:从 _template-puzzle 骨架换身份加深度的完整成品范例(主题全换/6 关维度递进带 intro/星级评价按错点数/称号+save 跨局星星收集/结算炫耀面板/GENRE_META 同款钩子元数据/8s 卡壳软提示),取证契约与骨架一致。独立过九门 9/9(p11b-fewshot,score 0→833、latch 真到 over,verdict= game-runtime/games/_wg1-gen/p11b-fewshot/evidence/verdict.json)。
范例签名机器校验门 test_genre_puzzle_assets.py(防范例成下一代漂移源,设计档 §3 决策⑥):scaffold 克隆两件解谜范例 → tools.mjs check(API 存在/形状/红线/结构契约)必须 PASS,模板缺失回落也判红;另静态兜底取证契约面 + GENRE_META + rubric fixture 形状(≥4 条/层标/正反例)。纯机械零 LLM。
品类 rubric 机器版 fixtures/genre-rubrics/puzzle.json:5 条品类扩展(谜题规则递进 L2/顿悟距离 L2/关卡阶梯可见 L3/卡壳兜底 L2/成绩可炫耀 L4),逐条 0/1+层标+正反例,与 puzzle-game-design §10 同源;金标锚=正例 _fewshot-puzzle/薄反例 _template-puzzle。喂 LLM 验证 agent 的接线随下一提交(cheap_verify 品类扩展)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:25:26 -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
a3163428dd
feat(genre): 解谜品类轻脚手架 _template-puzzle 规则谜盘(W-GENRE 品类件②)
...
轻起点、非丰富脚手架(红线):工程骨架(L1 plumbing 与 _template 逐字节同一)+ 完整规则谜盘循环(出题→观察窗→点解连击→过关递进→通关 win/限时 lose 双 latch)+ _forensicsView 取证契约(targets 兼职求解器:只把当前正确解标 occupied,score 单调升)+ 多样性参数空间(THEME 主题元素/LEVELS 关卡曲线逐关引入 颜色→形状→数量→组合 四规则维度/节奏常量)。
验证:node --test 13/13 全绿(纯逻辑性质测 + 无浏览器全链路 win/lose/确定性);独立过九门 9/9(scaffold-saa p11b-tmpl → check/build/stage/smoke PASS → 自动 tap-targets occupied spec → play verdict.pass=true,H_progress score 0→773、latch 真到 over 通全关,verdict= game-runtime/games/_wg1-gen/p11b-tmpl/evidence/verdict.json)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:17:42 -07:00
lili
64f4591fec
feat(genre): 解谜品类设计 skill puzzle-game-design(W-GENRE 品类件①)
...
照 sim-business-game-design 体例产解谜品类「设计什么才好玩」作业手册:6 心理引擎(顿悟/胜任/清屏/递进/炫耀/零阅读)+ 可达玩法范式表 + 关卡阶梯即解锁阶梯 + 数值节奏区间锚 + 美术/UI/音效范式 + 设计输出配方 + 可达性红线(解谜特有:「解」必须映射 targets occupied、禁拖拽滑动核心操作)+ §10 通用 8 条与品类扩展 5 条(P1-P5 逐条 0/1 标层 L2/L3/L4 配正反例,与 genre-rubrics/puzzle.json 同源)。对齐质量模型 SoT §4 rubric 计分制/§7 档位观测线/底线四件逐条映射。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:17:25 -07:00
lili
8e6d414a2b
feat(cheap-worker): 剧情品类黄金脚手架 _template-story(W-GENRE 品类件②)
...
per-genre 轻起点骨架(照 _template-shop 打样、L1 六件与 _template 逐字同):
读场景文本→点选项→属性累积→分支推进→多结局 latch→结局图鉴(save 跨局)。
_forensicsView 的 targets/score 取证契约 = 九门 tap-targets occupied driver 可达
(play 态选项 targets occupied:true、menu/over 空数组防误点;score=选择数单调升;
选项命中区=绘制区=取证 targets 三者同源于 core.layoutChoices)。core.js 顶部
多样性参数空间(STORY_NODES 节点图/STORY_TITLE/STAT_NAMES 属性轴)+ 故事图三铁律
(无死链/无回环有限步必达结局/结局≥3 含 win+lose,单测机器化)。
验收:core 单测 8/8 + headless 全链路 3/3(真 tap 坐标起局→targets 驱动→latch→图鉴);
scaffold-saa/check/build-saa/stage/smoke 全 PASS(check=API 静态门+形状门对范例签名过门);
独立过九门 9/9(verdict: games/_wg1-gen/p11a-tpl/evidence/verdict.json,
H_progress score 0→3 increased + latch 驻留,F_wiring sessionScore./audioMusic./juice. 全中)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 22:12:48 -07:00
lili
21186b81b0
fix(cheap): 封死 M3 400 流式 tool_calls 聚合炸弹——parallel_tool_calls=False 主防线 + 同 index 异 id 按 id 分桶兜底补丁 (fix400 A/B/C)
...
根因(前置诊断坐实):agentscope 2.0.2 _parse_stream_response 按 tool_call.index 分桶,
M3 经 new-api 并行 call 不区分 index → 第二 call 的 arguments 拼进首桶(非法 JSON)→
服务端丢 call → tool result 孤儿 → 400 code 2013 → ChatService.run 吞异常 → SSE 无终结 →
driver idle 600s 慢失败。触发开关 = Service get_model 不传 stream(类默认 True)。
A 主防线:driver session parameters 加 parallel_tool_calls=False(经 Parameters 透传,
_call_api 对 API 带 parallel_tool_calls=false,源头禁并行);fake-SSE 契约测试加断言锚。
B 纵深兜底:m3_stream_patch 运行时 monkeypatch(绝不改 venv 本体;钉 agentscope==2.0.2,
升级必须复核):chunk 流 index 重映射——同 index 但携非空且不同 id 按 id 开新桶;聚合完
args 非法 JSON log.warning 带指纹。挂载 build_cheap_app(import agentscope 后)。
单测 6 项:2.0.2 真聚合函数复刻 93001 炸弹指纹对照 + 补丁分桶 + 正常流不回归 +
同 id 复帧同桶 + 坏 args warning 指纹 + apply 幂等。
C 对账:tier2 服务路 anthropic_credential → AnthropicChatModel(stream 同样默认 True),
但其聚合由 content_block_start 显式开桶(_anthropic/_model.py:359-368 赋值建桶,
非 += 隐式拼接),无本炸弹路径;parallel_tool_calls 参数仅 openai_chat/dashscope 有。
tier2 进程内路 build_model stream=False(worker/config.py)不走流式聚合。均不动。
测试:test_m3_stream_patch 6/6 + test_cheap_service_driver/app 19/19 全绿。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 21:09:44 -07:00
lili
9fcfe61a0a
docs(质量轨): 收口折账全量——质量模型 canonical 落位(+四层塔图)/ 数据飞轮折入回流半环(+半环图)/ 验收门与OpenGame历史化注 / sim§10 分界改口 / 注册表与_index对账 / 两设计档降留痕 / 工单板对账(F-1 ✅ ·R1-R6 ✅ ·W-MAT ✅ ·决策③NO-GO hold·W-GENRE解锁)
...
docs-gate / docs-gate (push) Has been cancelled
折账批次1(A/B/C/D 四组并行)+ 批次2(注册表/_index/降留痕)+ 批次3(docs-gate 七检绿+旧口径 grep 清零)。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 21:02:43 -07:00
lili
a3bc8365d7
merge: W-S2 F-1 tier2 富三门反馈契约补厚(经济门三数+结构性错配直指+断言清单回喂;自修实证 2/2·金标 9/9+3/3 ACCEPT·70 单测绿)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:57:13 -07:00
lili
d4471b02fc
docs(agent-specs): 配置控制面阶段二 yudao配置中心 设计成稿(创始人已拍 B)——双评审已回(Codex 2B+5M/Opus 0B+2M+4m),先落基线版便于修订对照
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:52:42 -07:00
lili
0daa5e5011
merge: R3 广告回调验签 fail-closed 封铸币面 + M4 预接线设计回炉(双评审 BLOCKER/MAJOR 全修,ad 模块 33 单测绿)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:51:44 -07:00
lili
4e1eafd634
merge: W-REAL R1(telemetry MQ 异步消费·灰度开关默认关)+ R6(D1 次留旁路聚合 V27)+ R2(积分充值 mock-gated SPI 骨架 V28)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:51:44 -07:00
lili
d32d5965fb
feat(trade): 积分充值 P0 骨架(复用 payout mock-gated 渠道 SPI 范式·真支付收单 P1 受日历闸门) (W-REAL R2)
...
补 55 P0 最后一块结构缺口。MVP 不接真实支付收单(trade.yaml:支付收单=P1、归 pay 日历闸门)——充值渠道复用
game-module-trade 既有 payout 那套「mock-gated 渠道 SPI」范式,而非接入 12 表重 huijing-module-pay-server
(无 game 消费者、无 Flyway schema、Alipay/微信 SDK 重、P1 缓)。
- 充值渠道 SPI(镜像 PayoutClient):ChargeClient/MockChargeClient/ChargeClientFactory 按 Nacos trade.charge-channel
路由(默认 mock),mock 同步直通即支付成功入账;真实 wxpay/alipay 未注册时工厂 fail-fast(TRADE_CHARGE_CHANNEL_UNAVAILABLE),
绝不静默降级 mock 收假单(与 payout「假打款吞真钱」红线同构)。
- V28 game_trade_charge_order:充值单(status 0待支付→10已支付 CAS 入账),uk_biz_no 幂等,账本自包含
(积分余额=Σ 已支付单 points),不污染创作者收益账户(game_trade_account)不变式。
- ChargeService:创建幂等(bizNo 去重 + uk 兜底并发)→ 发起收单 → mock 同步 CAS 置已支付 + 积分入账;整单同事务。
- app-api 薄骨架:POST /trade/charge/create + GET /trade/charge/points-balance(userId 由 token 解析防越权)。
验证:trade 模块单测绿(新增 ChargeChannelTest 3[mock契约+工厂路由+fail-fast红线] + ChargeServiceImplTest 5
[mock流程+幂等+校验+余额];既有 Account16/Withdraw18/Subscription13 等全不变);连真 MySQL charge mock e2e IT 绿
(V28 DDL+创建→CAS入账→积分余额150→bizNo幂等拒绝);Flyway 全绿(28/28 迁移含 V27+V28 按版本序真库全应用,61 语句);
huijing-server 单体编译 BUILD SUCCESS。Flyway 版本核对 V27→取 V28。
范围说明:「pay 模块接单体」按项目既有模式(game 模块自带 mock-gated 渠道 SPI、huijing pay 保持解耦)解读为复用 pay
模式而非全量接入重 pay-server;若需真接 12 表 pay-server 请复核(见交付报告)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 20:46:54 -07:00
lili
00ebeedc50
fix(ad): M4 回调验签 fail-closed 封铸币面 + M4广告SDK预接线设计回炉(R3 双评审 BLOCKER/MAJOR)
...
代码加固(仅 game-module-ad):
- AdProviderFactory 增 getStrict(未注册返 null、绝不降级 mock),回调路径改用之;get() 展示计费降级保持不变
- MockAdProvider 覆写 verifyRewardCallback 返 false(mock 不接联盟回调,纵深防御第一层)
- reportRewardCallback fail-closed:provider 未就绪抛 PROVIDER_NOT_READY(新增 1-111-002-005)
- ad.force-mock 熔断:只拒真实联盟位回调、不碰 calcRevenue、不影响 mock/callback 桩
- 回调铸币面全组合矩阵单测 8 格(provider×force-mock);ad 模块 33 单测全绿(Callback 7/AdSlot 6/AdRevenue 20)
设计档回炉(逐条吃双评审):
- B1 三层开关安全语义拆分(算钱降级宽松 vs 验签 fail-closed)+ runbook 切前 fail-closed 闸
- B2 冲正定死:不估算入账,以联盟 T+1 账单实际金额为唯一 trade 入账源(消除冲正,uk_source 幂等/账户恒等式成立)
- M1 热刷新 @RefreshScope 方案入档(本机验不了标 follow-up,runbook 滚动重启兜底 + 资损敞口)
- M2 契约断言改真话(callback 枚举 R4 bc0f486b 已补齐;AdSlotSaveReqVO 无 enum 强校验如实、R3 不补理由)
- 防重放窗口配置项预置(owner/默认300/上限900/timestamp fail-safe)+ ACK/来源IP进待核清单 + runbook 放量停止阈值
红线守住:不动 trade(冲正只设计)/不动 contracts(R4 已收口)/不写真实 provider 类。docs-gate 七检全绿。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:41:08 -07:00
lili
4517941b95
feat(tier2): F-1 富三门 verdict 反馈补厚到便宜档水平(护城河反馈契约·质量SoT§3.7裁定3/5)
...
每个失败子检查透传 harness 实测 detail + 一句为什么(_RICH_CHECK_WHY,对齐便宜档
_CHEAP_GATE_HINTS 范式);经济门失败暴露三个数(实测 coins 终值/游戏内赢线 coinsTarget/
验收外生 winThreshold),游戏内赢线低于验收地板直接指出结构性错配;静态 economyConsistent
差额折进反馈(静态可达而真玩挂→指向耐心/时序/节奏;静态死局→先修数值);H_progress 失败
喂回本局 play-spec 真玩断言清单(path/op/why)。run_gates 返回加性携带 gameId 供反馈组装
读盘;判定逻辑(passed/failed_gates/decision)与 harness 零变化;便宜档不动。
单测 9 新增 + 全套 70 绿。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:27:15 -07:00
lili
617abbb589
feat(telemetry): D1 次留旁路聚合(玩家×游戏×日去重·平台时区·quality_score 链路零风险) (W-REAL R6)
...
按质量模型设计 §3.4 口径立 L3 留存字段:同一 game_id、同一稳定玩家标识(登录取 userId、未登录取 anonId,
对齐 #5 契约 anonId 口径)在首玩自然日(平台时区,与 game_telemetry_game_stat.stat_date 同日界)后第 1 个
自然日内 ≥1 次 game_play_start,按玩家×游戏×日去重。
- V27 旁路两表:game_telemetry_player_first_play(游戏×玩家,首玩追踪+d1_returned CAS 去重)
+ game_telemetry_retention_stat(游戏×cohort日,new_player_count/d1_retained_count;D1率读时算)。
不动既有 game_telemetry_game_stat 结构,quality_score 链路零风险。
- RetentionAggregateService:仅吃 game_play_start,首玩 INSERT IGNORE 落点+累加 cohort;首玩日+1 回访
CAS 置位+累加分子;同日/非D1/已置位去重。挂进 R1 consumeFromMq(ingestOne 之后),best-effort 内部吞异常
不外抛——次留失败绝不连累 quality_score 主链;软注入(单测不注入即跳过,既有行为不变)。
- 玩家标识命名空间隔离(u:{userId}/a:{anonId})防碰撞;匿名→登录跨身份桥接留后续(user_login)。
验证:模块 68 单测绿(新增 9 个口径单测覆盖首玩/D1窗口/去重/匿名标识/best-effort;既有 EventIngestServiceImplTest
13 逐字不变=回灌行为不变);连 mini-infra 真 MySQL 8.4.8 聚合真跑 IT 绿(throwaway 库跑真 V27 DDL + D1 两日场景,
new_player=2/d1_retained=1 断言通过)。Flyway 版本核对迁移目录 V26→取 V27。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 20:23:00 -07:00
lili
b550a297ea
docs(contracts): ad-slot callback 描述措辞修正——真验签走 MD5 桩算法非直通放行(防误读,R4-17 终审定稿)
...
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:07:53 -07:00
lili
eba757580d
merge: W-REAL R4 评审遗留 16+1 条对账清欠(G1 扩代码扫描面+负向测试/品牌漏网/ad-slot 契约补 callback/总账对账表)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:07:17 -07:00
lili
c922255e5e
merge: P10 rubric v2 通用底座 11 条带层标 + 三分组小计落库(金标复验漂移≤±1,bake_off 零改动)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:07:17 -07:00
lili
93b51aad74
docs(agent-specs): M4 广告SDK预接线设计段成稿(R3)——双评审已回判回炉,先落基线版便于修订对照
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:07:17 -07:00
lili
74c3f72998
docs(.agents): tech-decisions §12 续——阶段一② mini-desktop 真门窗口两轮结论落档(cutover 三接缝闭合+两正交风险)
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:07:16 -07:00
lili
960da7c8c4
docs(ip): W-MAT 合规材料包四件起草(大模型登记/算法备案/隐私政策用户协议/内容合规)+ 两板状态同步
...
四件均起草到「只差律所定稿+创始人提交」,尾附待律所确认清单合计 28 项;现行法规名不编造、不确定处标待核。A1闸门看板 #7-#10 转「材料就绪(草稿)」,人办清单①段同步。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 20:07:16 -07:00
lili
f2d85a072a
feat(telemetry): 批量事件入口改 RocketMQ 异步消费(幂等·聚合/回灌行为不变) (W-REAL R1)
...
上报入口 /events/batch·/perf/beacon 从请求线程内同步写改为「轻量校验 + 投递 telemetry-event 主题、
消费侧异步落库+聚合+quality_score 回灌 feed」。灰度开关 telemetry.mq.enabled(默认关=同步回落、现行行为逐字不变)。
- TelemetryEventProducer:逐条投递 event/perf tag、keys=traceId、syncSend 带超时+RocketMQ 自带重试;
发送失败不外抛、按 rejected 交前端重传兜底(不 500 阻断上报)。
- TelemetryEventConsumer:@RocketMQMessageListener 落地骨架,consumeThreadNumber=consumeThreadMax=8
(min=max 破 consumeThreadMax 死参数坑,受 DB 池默认 10 约束);瞬时故障外抛触发 ≤16 次重投转 DLQ,
毒消息吞掉 ack 防重投风暴;幂等由 eventId(uk_event_id)保证重投不双计。
- EventIngestServiceImpl:入口路由(MQ 在席=投递、缺席=同步回落),新增 consumeFromMq 单条事务入口
逐字复用同步写核心 ingestOne——聚合行为与 quality_score 回灌 feed 行为与改造前一致,仅执行位置搬到消费线程;
ObjectProvider 软注入生产者 + @Lazy 自代理保回落单条事务真生效。
验证:模块 59 单测绿(既有 EventIngestServiceImplTest 13 个逐字不变通过=回灌行为不变;新增生产者3/消费者4/
MQ路径5);连 mini-infra 真 broker(100.64.0.8:9876)往返 IT 绿(produce→broker→consume→consumeFromMq 转调,
往返序列化保真)。整条 HTTP POST→MQ→真库聚合行 的单体 e2e 待后端全栈窗口(同阶段〇 C1/C2/C3 处置)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 20:04:18 -07:00
lili
bc0f486bc2
chore(评审清欠): W-REAL R4 代码评审遗留 16+1 条对账 + 存活项修复
...
逐条读当前代码坐实(不凭文档推断):16 条 = 7 moot / 6 已修 / 1 存活待修 / 2 本次修;
另协调者追加第 17 条(ad-slot 契约漂移)本次修。对账表全文入总账 §5。
wg1 六项随 Node 退役 moot(生产便宜档=cheap-worker,幂等/max_tokens/callback 已在替代解决);
tier2 成本硬闸(item3)经配置控制面阶段一① soft_budget 演进已修(单 POST 内联续修 +
CircuitBreakerMiddleware 会话级 spent_rmb 累加 fail-closed);CSP/vue-i18n/validate_play_scene/
契约真空/服务态主链等 已修;gamedef v1 标注漂移随文件删除 moot。
本次动手修:
- G1 品牌门扫描面有洞(item8): docs-gate.py 加 walk_code 扫业务代码目录(模块根
package.json/index.html + wg1/ 等源码),旧门只扫 .md 会放过玩家/管理台可见字面量;
负向测试证真能拦回流。
- 品牌残留漏网(item8): game-admin 菜单标题退役品牌名 → 绘境运营(扩面后被 G1 逮出)。
- ad-slot 契约漂移(R4-17,跨端契约): ad-slot.schema.json provider enum 加 callback
(additive)+ 对齐描述;与 api-schemas/ad.yaml 及 ad 模块 CallbackAdProvider(真实现
PROVIDER="callback")对齐。DB VARCHAR 注释/DO Javadoc 仍列 csj/gdt/mock=doc-only
(SQL 为 Flyway 版本档不改 checksum),留终审。
- docs-gate.sh 壳注释 六检→七检(失实修正)。
存活待修: item12 tier2 bootstrap X-User-Id 鉴权头口子 + 无重试退避(需真实 deps.py
鉴权契约,部署 smoke 接缝,非本机最小改动可完成)。
验证: docs-gate 七检全绿 + G1 负向测试(植入即拦/删除回绿) + ad-slot JSON 合法 +
docs-gate.py 编译 + CallbackAdProviderTest 印证 getProvider()="callback"。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 19:58:42 -07:00
lili
ba82e63c82
feat(cheap): rubric v2 评分尺 8→11 条 + L2/L3/L4 三分组小计落库(质量模型 §3.3 计分制·前置小工单)
...
评分尺升级:通用底座 v2 = 现行 8 条(判据文本/顺序锁定、仅补层标)+ 新增 3 条(首3分钟脚本 L3 / 炫耀时刻 L4 / 同款钩子 L4)。逐条 0/1 标层,一次 LLM 评分产 L2×6/L3×3/L4×2 三分组小计;不设单一总分(§3.3 防 Goodhart)。
落库:summary.richness 从单一总分改为三分组小计——新增 groups 字段 + hits 每条带 layer;score 保留为向后兼容字段(供 bake_off.richness_dist 读、非设计总分)。两落库点(cheap_studio/cheap_service_driver)整体赋值自动继承新形状,仅日志 additive 补 groups。
红线:rubric 仍纯 LLM 非阻塞,不进 verdict/九门/达标判定;bake_off.py richness 正交红线一行未动。
验收(本机真跑 M3):金标复验 base1/base4/cheap-run-sc 原 8 条命中数漂移 = -1/0/0(≤±1,base1 唯一 -1 来自「30秒爽点」单条 LLM 边界抖动、非评分尺扰动);落库佐证 run-summary 真出现 richness.groups + hits.layer、既有键不受影响;test_cheap_verify 14 绿(+3 新测)、bake_off/service_driver 27 绿;全套另 14 failed 经 stash baseline 对比证实为 worktree 缺产物/node_modules 的 pre-existing 环境失败、零回归。
follow-up:bake_off.richness_dist 的 max=8 报告口径随 W-GENRE 品类批产接入 richnessByGenre 时对齐分组小计;sim-business skill §10 改口归质量设计档收口。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 19:58:20 -07:00
lili
4d220e77da
docs(轨2+板): 质量模型与回流环两设计档(双评审已修·决策包⑦已批定稿)+ 工单板对账(阶段一②收口/决策②⑥⑦落账/R6+rubric落库前置工单/在飞板/06-29§7)
...
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 19:31:53 -07:00
lili
24e558a4ed
fix(cost): 成本子系统改用 per-POST 凭据取价(不再依赖 Service 进程 env NEWAPI_KEY)+ Service 注 key 兜底 + requirements 补 app-runtime extras (阶段一② cutover 接缝)
...
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 18:39:32 -07:00
lili
526e9b3d80
docs(plans): 配置控制面阶段一②(cheap 归并 Service)plan — §6.8 双评审+创始人 3 决策收口;SDD 已执行(T1-T3+终审fix 全绿、fable 终审 With fixes 已修全 merge-before)
...
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 13:47:23 -07:00
lili
bf7f1aebfc
fix(cheap): 阶段一② 终审 merge-before(红线③ unlink×2 防陈旧 verdict 假绿 + setup fail-fast + acquire_ports to_thread + 死码/ReplyEndEvent canary/restricted fail-closed) (切片一 阶段一②/终审fix)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 13:34:57 -07:00
lili
8d9bf1e577
feat(cheap): worker 归并驱动 Service /chat(单 POST + 洋葱内续修)+ reply 外 result_out 收口 (切片一 阶段一②/T3)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 12:36:38 -07:00
lili
1662eb0dc5
feat(cheap): 便宜档独立 Service 壳 build_cheap_app + 工厂(soft 预算/三闸失控兜底/端口池/session→gameId sidecar/收口采集) (切片一 阶段一②/T2)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 12:12:53 -07:00
lili
e9e7006cb3
feat(cheap): 便宜档九门判据 judge_cheap_verdict + run_cheap_gates 同步门跑(端口透传) (切片一 阶段一②/T1)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 11:51:39 -07:00
lili
8e2d5d9e50
docs(governance): 计划谱系单指针 上级: 立约(§10.8)+ docs-gate 七检加 G7 + plan-tree 查询视图 + 存量断链回填
...
新建 plan/设计档 frontmatter 必带一行 上级:(仓根相对路径),沿链 6 跳内达 canonical SoT;
全链/树/当前位置都是查询结果(plan-tree.py)而非维护对象,_index 在飞板保持线级、不加逐叶登记。
G7 拦三种腐坏:缺字段 / 上级死链 / 链断(中途档既非 canonical 又无上级),成环与超跳同挡(均已植坏档实测命中)。
存量修复:统一执行计划基建线补认领配置控制面设计(治真断链、含 07-01 SCA 选型反转口径),
配置控制面设计与阶段〇/一① plan 补 上级:;AGENTS.md/.agents README/feature-design-doc 模板同步七检口径。
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 11:45:32 -07:00
lili
10aeed3cc2
docs(.agents): 蒸馏配置控制面阶段一① 护城河 middleware 落地(tech-decisions §11)+ AgentScope 2.0.2 续修 middleware 机制速查 + SDD 子代理产出验证纪律
...
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 05:16:11 -07:00
lili
07100eef85
docs(plans): 配置控制面阶段一① 护城河 middleware 线实施计划(§6.8 双评审已过·SDD 4task+终审fix 执行完成)
...
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 04:17:54 -07:00
lili
f4384dc3f3
fix(tier2): 封陈旧 verdict 假绿(run_gates 起跑前清 verdict)+ 补软停实测置位回归护栏 (切片一 阶段一①/终审fix)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 04:07:30 -07:00
lili
2e698566df
feat(tier2): Service 工厂注入续修 middleware + drive_generation single_post 单回合(老 resume 留 fallback) (切片一 阶段一①/T4)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 03:23:12 -07:00
lili
c26617192a
feat(tier2): 软预算 ¥ 闸从 fail-closed 改优雅收尾软停(交尽力产物·不断链) (切片一 阶段一①/T3)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 03:04:24 -07:00
lili
e9c7a3bb47
feat(tier2): 续修 RepairMiddleware 提升进 middleware.py + GateJudgment 真契约 + budget_exhausted 联动 (切片一 阶段一①/T2)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 02:37:16 -07:00
lili
55162341ca
feat(tier2): 统一门判据 GateJudgment + tier2 verdict 适配器 (切片一 阶段一①/T1)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 02:24:22 -07:00
zizi
c62143dd1e
chore: 工作树散落配置入库(.idea/.codex/.mcp.json/创作者体系白皮书V1.2)
docs-gate / docs-gate (push) Has been cancelled
2026-07-02 14:24:13 +08:00
zizi
d97e194383
docs(治理): SoT注册表+docs-gate六检门,清缩历史档126→69
...
- 注册表:docs/architecture/README.md §2,37 份 canonical(frontmatter topic+canonical:true)与表双向机器对账
- 门:.agents/tools/docs-gate.py 六检(品牌根/canonical唯一/死链/入口卫生/留痕隔离/设计档申报),挂 .githooks/pre-commit(本仓已激活)+ .gitea/workflows/docs-gate.yml(待runner)+ wave-close 第8步;旧 check-deadlinks.sh 退役并入 G3
- 清缩:删 54 项历史档(plans 16/agent-specs 设计与spike 20/brainstorms 5/memorys 3/goals+作战清单完成史归档/王蓝莓design/SAA现状html/add-game-template);channel-spike 564K 代码资产迁仓级 spikes/;六件删前蒸馏已迁(代码评审16条open项→进度总账§5、prefix-cache字段表→cheap-model skill、意图基线29条→需求清单附录、九门降级rationale→验收门、A11 TODO→tech-decisions、3layer边界→littlejs-game-dev 指针)
- 修口径约90处:六处SAA『现行主线』旧标、Nacos/RocketMQ『未部署』旧述(07-01反转)、gameDefinition残留、全部死链改 git show 定位;AGENTS.md 249→136行(决策史归tech-decisions);_index 改纯在飞板;对外演示版 md→html
- 依据:docs/agent-specs/2026-07-02-文档治理-{全量普查与裁决-report,SoT注册表与治理门-设计}.md(四路普查191份md+Codex/Opus双评审必修项已折入);恢复基线 8ea97234(单档 git checkout 8ea97234 -- <路径>)
2026-07-02 14:24:12 +08: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
a164f4c222
docs(.agents): 配置控制面阶段〇蒸馏 + 累积能力蒸馏批次 + 本轮 plan/设计
...
- tech-decisions §10:配置控制面阶段〇生产基建落地(Nacos 2.4.3/RocketMQ 5.3.1/Sentinel
自托管 mini-infra + 三层并发正交承重[Sentinel=入口QPS / consumeThreadMax=dispatch速率 /
有界worker池=真并发cap follow-up]+ rocketmq-spring consumeThreadMax 无界队列坑:死参数须 min=max)
- AGENTS.md:Nacos/RocketMQ/Sentinel 反转为 MVP 生产 runtime(2026-07-01 build-vs-buy 现货尽调)
- 累积 .agents 蒸馏:agentscope-2.0-facts / build-vs-buy 硬门 / cheap-model-game-generation /
contract-first-development / game-e2e-cdp-harness + README 索引
- 本轮留痕:配置控制面 spike 与阶段〇 plan + 设计文档
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 18:53:39 -07:00
lili
2fac985bbf
feat(gen-worker): middleware 热参经 Nacos v1 同步 watcher 热读(快照兜底)(切片一 阶段〇 D2)
...
NacosHotConfig 线程安全 store(RLock)+ get_config 三级兜底 + v1 add_config_watcher 同步热更(免 event-loop),
消灭自建薄读接口。回调 dict 键逐字对齐已核验 v1 源(data_id/group/namespace/raw_content/content)。
6 单测绿(初读/热更/不可达回落/默认保留/脏内容保旧值/并发线程安全)。真连烟测随后端窗口。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 17:40:40 -07:00
lili
ab6791cf34
feat(gen-worker): AgentScope Service 注册进 Nacos discovery(替硬编码@8200)(切片一 阶段〇 D1)
...
nacos_registry 注册实例+心跳+优雅注销,advertise_ip 指 mini-desktop Tailscale;代理旁路;
NACOS_REGISTER=1 才开、best-effort 失败不中断 Service。单测 mock client 锁注册+旁路+best-effort。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 17:40:40 -07:00
lili
4bc36ec6dd
feat(game-cloud): RocketMQ 异步 gen 队列(生产者+有界消费≤15+CAS 幂等)(切片一 阶段〇 C3)
...
入队发 AIGC_GEN_TOPIC 信号替 @Scheduled 轮询触发;消费者 consumeThreadMax=15(在跑并发权威)+ 既有
claimQueuedTask CAS 认领幂等;派发失败落 failed 不留悬空 running;@Scheduled 降级兜底(捞 stale queued +
超时 running)。发 MQ best-effort 不回滚入队。单测锁幂等/best-effort;端到端随后端窗口。
name-server 各 profile(dev/local/staging)+base 指 mini-infra 100.64.0.8:9876;rocketmq-spring-boot-starter
在 starter-mq/websocket 均 optional=true 不传递,故 aigc-server 直依赖(版本走依赖管理)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 17:40:40 -07:00
lili
6d6bb52d9d
feat(game-cloud): Sentinel 入口 QPS 突发保护(FLOW_GRADE_QPS·规则热源 Nacos)(切片一 阶段〇 C2)
...
入队入口套 @SentinelResource(aigc:gen:admission)做入口速率闸,与 DB 三门(per-creator 配额)分层;
越限 blockHandler 优雅拒非 500。并发≤15 权威=C3 consumeThreadMax(非本 Task)。规则改 Nacos dataId 热生效。
单测锁降级语义;真限流集成验证随后端窗口。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 09:59:31 -07:00
lili
55e833b470
feat(game-cloud): 重启用 Nacos 配置中心+服务发现指向 mini-infra(切片一 阶段〇 C1)
...
application.yaml nacos discovery/config enabled false→true + server-addr 100.64.0.8:8848 + 鉴权。
依赖零新增(starter 已声明)。本地编译绿;真注册验证随后端窗口。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 09:32:42 -07:00
lili
c197abc420
docs(architecture): 新增总架构图说·创始人对外演示版(13 张内置 SVG)
...
面向技术尽调/技术顾问的单文档对外演示:开篇全闭环价值锚点,三大部分(整体技术架构 / 功能模块 / 游戏生成),收尾护城河四层。诚实技术口径、自研 vs 不自研边界、采主流标准(A2A/MCP/OTel),非程序员散文 + 13 张内置 SVG(商业信息图风格,已逐张渲染验证)。README §3 加对外版指针。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 09:03:12 -07:00
lili
22b3016048
feat(infra): RocketMQ 5.3.1 自托管 mini-infra(NameServer+单 Broker+lean 1g JVM)(切片一 阶段〇 B2)
...
纯增量、host 网络、brokerIP1 指 Tailscale 地址;探针绿、Broker 注册成功、内存在 lean 预算内。
端点写回 docs/内网凭据与端点.md。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 08:55:59 -07:00
lili
38dd2dc4e5
feat(infra): Nacos 2.4.3 自托管 mini-infra(standalone+MySQL 后端+lean 512m JVM)(切片一 阶段〇 B1)
...
纯增量部署、host 网络、复用既有 MySQL nacos 库;鉴权开 token。探针 200 绿,内存 <700M 不挤 RAGflow。
端点/密钥写回 docs/内网凭据与端点.md。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 08:32:13 -07:00
lili
061cf22c87
feat(cheap-worker): 续修 middleware 机制 spike 坐实(拦 finish+注入+续跑)(切片一 阶段一前置)
...
on_reasoning 洋葱拦 finish Msg + 独立跑 fake check + 没过压制+注入 UserMsg 续跑,
4/4 确定性单测绿(stub 模型、零 LLM/chrome)。机制成立,阶段一接真 run_gates。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-01 05:22:49 -07:00
zizi
6d2f8789d7
remove archive doc
2026-07-01 11:18:20 +08:00
lili
ba69b386ee
docs(plans): 便宜档 M3 生产 cutover plan(已批准·选B·§6.8 双评审收口)+ plan① 横切回写
...
M3 plan:承接 6-28 已完成的路由 cutover、推进对外开闸放量(S0 核实→S1 worker 更新到 M1 富化→S2 control-plane 重启+验Bean→S3 阈值起步→S4 小流量→S5 生产≥80%复验→S6 6门放行);Codex 有条件放行 + Opus(BLOCKER 经核实=误判)双评审 12 项发现全修;创始人裁定决策点二选 B(直接 live 开 flag+回滚兜、不走 staging 避 split-brain)。plan① 横切回写:状态表/§M3 记路由 cutover 已 6-28 go-live、§104 五款3/5 校正为 M1-rich 达标、§119 灰度→D3 整体翻转校正(横切一致性漂移修齐)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 03:37:17 -07:00
lili
9ae3334240
docs(.agents): 蒸馏便宜档切片一收口(richness 红线兑现 + 两个测试坑)
...
tech-decisions §5.1 回写:richness 架构落地(纯 LLM 非阻塞、代码零丰富度断言)+ 富游戏 M1 全 3 品类 100% 达标 + 退役授权 authorized;蒸馏 stale-play-spec 复用坑(复验须 --offset)与 amgen-base* 是 load_brief 依赖(清理须排除)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:06 -07:00
lili
1e004a361b
feat(game-admin): 生成控制面只读监控页(切片一 C3b)
...
genMonitor 三 card(角色模型表/trace 时间线/成本对账)照搬既有 wanxiang 页模式;独立 axios 实例取 gen-worker 裸 JSON(不走 CommonResult 拦截器);eslint 0。页面真跑随 M3 部署窗口。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:06 -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
f4cea4677a
feat(tier2): 统一 trace 落库 sink + SAA schema + 生成控制面只读后端(切片一 C1/C3a)
...
JsonlFileSink 把五字段 trace 落 workdir/trace.jsonl(非阻塞·写失败不阻断生成);studio.py sink 接线;SAA 扩展段 schema(接口对称五核心+内容不对称 ext);管理面 3 只读端点 roles/traces/cost(惰性 import 保住「仅 import service.app 不牵 fastapi」红线)。测试 test_jsonl_sink 3 / test_admin_routes 6 全绿。
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
lili
ba0197a1a3
docs(cheap-worker): 纠 reskin 错框 + plan 切片完成度回写
...
创始人纠正:reskin「锁循环只换皮作成本主线」/「重做丰富脚手架」= 越线,成本数据留痕、
策略框作废。架构红线:项目代码只做机械确定的事;玩法/美术/音乐的「丰富生成」归生成 agent
设计创作(据 sim-business 指导 + 组合插件)、「丰富校验」归纯 LLM 验证 agent(非阻塞)——
代码/九门/脚手架都不碰。便宜=LLM 低参与度≠游戏低质量,底线=2D 丰富游戏。
- tech-decisions §5.1 / 设计文档执行进度 / plan① 切片一里程碑:reskin 错框纠正 + 修正方向
(接 sim-business 设计指导 + 建 LLM 丰富度验证 agent → 喂 M1「过九门+丰富」)。
- plan① §2 执行现状:加切片完成度快照(切片一地基✅ /达标门✗ · 切片二 go-no-go悬 · 切片三~90%
· 基建线~15%)+ 便宜档待办更新(减摩擦已落 + 丰富度新缺口 + 预算闸已接线)+ A11 现状更新。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
92f6a84205
docs(cheap-worker): 经营 reskin n=5 收敛环确认——降本杠杆坐实
...
5 个不同店主题(奶茶/书店/花店/拉面/冰淇淋)强制换皮跑:
5/5 全过九门 · 成本均 ¥0.252(区间 0.21-0.38,-64% vs 基线 ~¥0.7)·
game-logic.js 全 0-diff(循环锁定证明生效)· 全 1 轮 · 5 店菜单全互异。
连同咖啡馆 = n=6 全过、全腰斩、循环全锁定——reskin 三件(成本腰斩稳 /
过门 100% 可靠 / 多款不雷同)全确认收敛,无失败无需追加。扩模板降本杠杆
= 脚手架 + 写边界强制锁循环,经营档坐实;阶段二以 reskin 为成本主线、
剩四品类各建骨架 + n=5 确认。蒸馏入设计/tech-decisions §5.1/plan① 切片一。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
c17b15cbdf
docs(cheap-worker): 扩模板数据点结论蒸馏——降工作面只在强制换皮 reskin 模式
...
经营品类三路对照(同咖啡馆 brief,n=1):
- 无脚手架基线(7 局 bake-shop-serve):~890 行 / ¥0.7 / 6·7 过门。
- 软脚手架(骨架 + 软提示):892 行 / ¥0.85 / 过门 / distinct——AI 把省下预算投增富化
(自加 combo + VIP)、对基线三指标(行数/成本/轮数)全平没降。
- 强制换皮(write_whitelist 锁 game-logic.js、只改 core 主题 + render 观感):
696 行(-22%)/ ¥0.34(-51%)/ tokens -64% / game-logic 0-diff / 过门 / 仍 distinct。
结论:设计 §1「扩模板缩小 AI 工作面」假设成立、但只在强制换皮 reskin 模式(脚手架 +
写边界强制锁循环);软脚手架买质量/过门鲁棒(增富化)、不买成本。降本杠杆 = 脚手架 + 锁循环、
非脚手架本身。取舍:reskin 省成本但封顶增富化,软脚手架反之。阶段二应以 reskin 为成本主线
(待创始人定范围、n=3-5 每类确认)。蒸馏入设计执行进度 / tech-decisions §5.1 / plan① 切片一。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
47d6394347
feat(cheap-worker): per-genre 脚手架路由接入 scaffold_template/scaffold_desc(扩模板数据点)
...
扩模板需让难品类 AI 从预置品类骨架起步、少写。接入(全缺省回落 _template、create 路零改):
- tools.mjs scaffoldSaa(gameId, templateName='_template'):clone 指定模板;CLI 加第 3 参;模板缺失 warn 回落。
- cheap_run.scaffold(game_id, template=None):shell-out 透传模板名。
- cheap_studio.run_studio(scaffold_template, scaffold_desc):线程到 prep + build_system_prompt。
- cheap_roles:system prompt 脚手架描述参数化(⟦SCAFFOLD_DESC⟧),让 AI 知道起点已是该品类完整游戏、换皮而非重写。
管线 routing 单测 27/27、prompt 参数化 8/8。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
9ddd173c06
feat(cheap-worker): 经营品类黄金脚手架 _template-shop(扩模板数据点)
...
蒸馏 6/7 过九门的 bake-shop-serve 实证 pattern 成 per-genre 黄金骨架:
顾客→桌位→上菜收钱→耐心→限时循环 + _forensicsView 的 targets/score 取证契约
(自动驱动器据此点 occupied 桌驱动上菜、score 涨过 H_progress)。母语化 API
(sessionScore.add / juice.burst / drawButton 返命中矩形)+ core.js 顶部多样性参数
空间(DISH_MENU/数值)+ fill-in 标记界定结构层 vs 身份层;修 patienceRatio 的
_elapsedMs 潜伏 bug。独立过九门(H_progress score 0→154),core 单测 8/8。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
c7811c7dfa
docs(knowledge): tech-decisions §5.1 蒸馏阶段一B落地 —— 方向①向母语对齐全完成
...
把"降AI参与方向①(插件API向母语直觉对齐)"的落地写回 tech-decisions §5.1(该节正是
drawButton 等改签名的方向源):附A 15处签名 #1-#15 全完成 + 正交泛型门修(save.get 误杀)
+ 减摩擦端到端见效(打地鼠+save 从失败→一次过九门/¥0.64/不thrash),2a20e5e7→2be7b718 13提交。
剩:补密度(阶段一C)+ 扩模板(数据点门控)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
7c9c8a8b47
docs(cheap-gen): 阶段一B 改签名收口 —— plan①里程碑 + 设计执行进度 + 存量重生成复验
...
阶段一B(附A 15 处可改签名 #1-#15)全完成收口:
- plan① 切片一「降AI参与」里程碑:执行序列标记阶段一A/B ✅ (2a20e5e7→2be7b718 共13提交、前置核查证 L2/tier2 隔离)
- 设计文档执行进度:逐条母语化要点 + 正交泛型门修复 + 存量重生成九门复验结果
- 存量重生成代表性一局 PASS:打地鼠+菜单+高分(drawButton/sessionScore/save.get/ctx.random)
attempts=1/¥0.64/209s,对比改签名前同款栽在 save.get 泛型门 bug(2attempts/¥6.69/失败)
—— 现一次过、更便宜更快不 thrash,减摩擦端到端见效。
下一步:难品类数据点(B,前置阶段二)→ 阶段一C 补密度 → 阶段二扩模板。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
f9393ccbb8
feat(cheap-gen): 阶段一B #12 collision Aabb 统一接受 {x,y,w,h} 与 {x,y,hw,hh}
...
附A #12(最后一处·几何约定统一):collision Aabb 用中心+半宽高 {x,y,hw,hh},与 hud-ui Rect/
drawButton 的 {x,y,w,h}(左上角+尺寸)不一致——AI 易混,skill 原要专门警告"非 {x,y,w,h}"。
加 _normAabb 归一化:circleVsAabb/aabbVsAabb/raycastAabb 现同时接受 {x,y,w,h}(自动按左上角换算中心)
和 {x,y,hw,hh}(原样),AI 可用与 Rect 一致的 {x,y,w,h}、不必记区别。低风险(存量 {x,y,hw,hh} 透传不变)。
全链路同改:collision/impl.js(_normAabb + 3 直接函数归一化)+ api.d.ts Aabb 文档 + skill:113。
验证:collision 16/16(存量 center-form 不破)+ 确定性({x,y,w,h} 与等价 {x,y,hw,hh} 三函数结果全一致)。
注:SpatialHash broadphase(进阶、便宜档罕用)仍取 center-form {x,y,hw,hh};AI 常用的直接查询函数已统一。
至此附A 15 处可改签名全部完成(#1-#15)+ 正交泛型门修复。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
619351052d
feat(cheap-gen): 阶段一B #1 ctx.random/ctx.time 改可调用(双 API·向母语直觉,最高频)
...
附A #1(最高频·每游戏用):ctx.random/ctx.time 原是对象、须 .next()/.nowMs(),AI 直觉 ctx.random()/
ctx.time() 当函数调会抛错——prompt/形状门都教"是对象不是函数"当幻觉拦。改成双 API:既可直接调用
(ctx.time()=毫秒、ctx.random()=[0,1))又保留全部方法(.nowMs()/.elapsedMs()、.next()/.range()/.reseed()),
向后兼容(框架/插件内部仍用方法形态)。
单点实现:boot-game-host 复用 createHostDevContext(单一 context 源),故 buildContext 一处包装即覆盖
host-dev + 真游戏。加 _callableTime/_callableRandom 双 API 包装器,ctx 装配处 time/random 包装。
全链路同改:plugin.js(包装器+装配)+ tools.mjs(CTX_METHODS 加 time/random、API 门错误文案翻转)
+ prompt.mjs/cheap_roles.py 双源(调用形态翻转:两形态都对、但 ctx.nowMs() 漏 .time 仍错)+ skill:144。
验证:core plugin 31/31(核心不破)+ 确定性(ctx.random()/time() 可调用 + .next()/.range()/.reseed()/
.nowMs()/.elapsedMs() 双 API)+ 形状门 11/11 + [check] PASS(双形态同段)+ cheap-worker 16/16 + 双源一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
fb01654311
feat(cheap-gen): 阶段一B #14 palettePost 加 applyPreset 常用后处理观感预设
...
附A #14:palettePost 原不内置成品观感,AI 要逐项配 vignette/dither/scanline 的 enabled/strength
才出效果。加 applyPreset(name) 一键套预设:'none'(全关)/'soft'(柔暗角)/'retro'(扫描线+暗角)/
'crt'(扫描线+暗角+抖动)/'dither'(抖动),委托 setPost。换色色板(from/to RGB)仍由游戏注入
(那需源色、非预设态)。全链路同改:impl(applyPreset 委托 plugin.setPost)+ api.d.ts 声明 + skill:117。
验证:palette-post 12/12 + 确定性(retro 开扫描线+暗角、none 全关)。prompt 不细列 palettePost 故仅 skill。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
ea229edf78
docs(cheap-gen): 阶段一B #7+#11 timer 单位钉死 + juice.render 每帧手调钉死
...
附A #7(文档钉死类·timer 是 ms 时钟、改秒是破坏性重构,取显式标注):timerScheduler.after/every
收毫秒、与 update(dt) 的 dt=秒相反——AI 易混(3 秒误写 after(3))。skill:129 + prompt.mjs/cheap_roles.py
双源钉死"3 秒=after(3000)、别 after(3)、与 dt 秒相反"。
附A #11(文档钉死/自动化·自动化不可行=render 需游戏侧 g):juice.render(g) 须每帧在游戏 render 里手调,
忘了粒子/打击感不显示。skill:116 强化(原已钉死、补 #11 标记 + 后果)。
均 doc-only(timer 本就标 ms、juice.render 本就钉死),本次显式化 + 双源对齐。验证:prompt node --check
+ cheap_roles py_compile 绿、双源一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
8196e07c2c
feat(cheap-gen): 阶段一B #8+#9 audioMusic 音效放开语义名 + play 强度容错
...
附A #8:playSfx 原限 blip/thud/chime 三预设,AI 直觉用 'click'/'hit'/'win'/'coin' 等语义名会静默失败。
加 SFX_ALIASES 语义名→预设映射(click/jump/coin→blip、hit/fail/land→thud、win/success/levelup→chime),
未识别名兜底 blip(不静默)——AI 用任意音名都出声。
附A #9:play(intensity) 入参是情绪强度 0..1、非曲目名,AI 误传字符串 → NaN 强度。play/loop 对非数容错
为默认强度;api.d.ts/skill 文档钉死"入参是强度非曲目名,曲子先 loadSong"。
全链路同改:impl(SFX_ALIASES + playSfx 兜底 + play/loop 容错)+ api.d.ts(playSfx 放宽 string + 文档)
+ skill line118。验证:audio-music 16/16 + 确定性(playSfx 任意名不抛、play 非数不抛)。prompt 不提 audioMusic 故仅 skill。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
5cb73a6d82
feat(cheap-gen): 阶段一B #4 gamefeel 加 CoyoteTimer/ComboWindow 工厂方法(免 new+传 time)
...
附A #4:gamefeel 的 CoyoteTimer/ComboWindow 是 class、须 new 且要传受控 TimeSource——AI 拿不到
受控 time、做不出来。加工厂方法 gamefeel.createCoyoteTimer(opts)/createComboWindow(opts):
用 init 时捕获的受控时间源自动注入,AI 直接调、免 new + 免找 time。全链路同改:
- gamefeel/impl.js:init 捕获 ctx.time,加两个工厂方法(new CoyoteTimer/ComboWindow(time,opts))
- gamefeel/api.d.ts:GamefeelPlugin 接口加两个工厂声明
- skill line115:列工厂方法(免 new + 自动注入受控 time);内置 inputBuffer 改 gamefeel.inputBuffer
验证:gamefeel 18/18 + 确定性(init 后工厂可调、返带 isAvailable/hit 的实例)。prompt 不提 gamefeel 故不同改。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
b29a379f9c
feat(cheap-gen): 阶段一B #3 collision 几何查询函数挂实例(向母语直觉)
...
附A #3:collision 实例原只有 spatial,7 个几何查询函数(circleVsCircle/circleVsAabb/
aabbVsAabb/satVsPolygon/raycastCircle/raycastAabb/raycastSegment)仅模块级导出——但 skill:113
本就把它们列在 collision 能力下,AI 直觉 collision.circleVsCircle(...) 取不到=真 gap。
把 7 个纯函数挂上实例(引模块级、不依赖 this),api.d.ts CollisionPlugin 接口同补。skill:113
原措辞现在成真、无需改。验证:collision 16/16 + 确定性(实例 circleVsCircle/aabbVsAabb/raycastAabb
可调且算对)。注:Aabb{x,y,hw,hh} 与 Rect{x,y,w,h} 的几何约定统一(#12 )风险高、留后续careful。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
d79e1b9f89
feat(cheap-gen): 阶段一B #2+#13 physics 几何挂实例 + ProjectileState px/py→x/y
...
附A #2:physics 实例原为空 {}、几何运动函数仅模块级导出,AI 直觉 physics.integrateProjectile(...)
取不到。把 6 个运动原语(integrateProjectile/springStep/criticalDamping/moveWithConstraint/
clampSpeed/applyFriction)+ Projectile 类挂上实例(引模块级纯函数,不依赖 this),api.d.ts 接口同补。
附A #13:ProjectileState 位置 px/py → x/y(向母语直觉,与 Vec2/命中矩形的 x/y 统一)。impl/test/
PLUGIN.md 同步(px/py 仅 ProjectileState 字段,replace_all 安全)。
注:physics 当前无 prompt/skill 指引(便宜档 niche、projectile 罕用),本次是完整性 + 正确性
(实例可用 + 字段直觉),不改生成侧行为。验证:physics-lite 16/16 + 确定性(实例 integrateProjectile/
clampSpeed 可调、ProjectileState 返 x/y)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
c6d31c0d81
docs(cheap-gen): 阶段一B #15 scene 回调签名钉死(防臆造首参)
...
附A #15(文档钉死类、非 API 改):scene-fsm 回调表里 update 只收 (dt)、render 只收 (g)
(api.d.ts:38 本就如此),但 prompt/skill 未明示防臆造首参。加钉死:别写 update(scene, dt)
这类场景名/state 首参、与五法同形。prompt.mjs + cheap_roles.py 双源 + skill define footgun 同改。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
bdcd7d472c
feat(cheap-gen): 阶段一B #10 juice 加 burst(x,y) 便利方法(向母语直觉)
...
附A #10:AI 母语直觉是 juice.burst(x,y),旧 API 只有 spawnEmitter('burst',x,y)、burst 仅预设名
——prompt 原本教"particles-juice 没有 burst"当幻觉拦。加 burst(x,y,overrides?) 便利方法委托
spawnEmitter('burst',...) 后,直觉名直接可用。全链路同改:
- particles-juice/impl.js:加 burst(x,y,overrides) 委托 plugin.spawnEmitter('burst',...)(引 plugin 自身不依赖 this)
- particles-juice/api.d.ts:实例接口加 burst 声明
- prompt.mjs + cheap_roles.py 双源:删"particles-juice 没有 burst"(它现在有了)
- skill line116:spawnEmitter 旁注 burst(x,y) 母语别名
验证:particles-juice 18/18(含 burst 别名 spec 等价测试)+ 确定性 burst≡spawnEmitter('burst')
+ [check] PASS(juice.burst 被 API 门认可)+ 双源一致。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
8c361f4a5b
feat(cheap-gen): 阶段一B #6 sessionScore 加 add 别名(向母语直觉)
...
附A #6:AI 母语直觉是 score.add(10),旧 API 只有 addScore——skill 原本把 add 当
幻觉拦(❌ add → ✅ addScore)。改签名加 add 别名后,直觉名直接可用,翻转 skill。
全链路同改:
- session-score/impl.js:加 add(delta) 别名(引 plugin 自身委托 addScore、不依赖 this)
- session-score/api.d.ts:实例接口加 add(delta): number 声明
- skill:line 145 由"❌ add→✅ addScore"翻为"add=addScore 别名直接可用";line 126 方法表注别名
- prompt.mjs/cheap_roles.py 无需同改(它们不提 addScore,仅 skill 提)
验证:session-score 插件测试 7/7(含 add 别名断言)+ 确定性验 add≡addScore + cheap-worker 16/16。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
13126a08ca
fix(amodel-gen): API 静态门方法名提取支持泛型声明(治 save.get<T> 被误判不存在)
...
#5 九门 gen 暴露的正交真 bug:check 的 API-存在静态门用正则
/(?:^|\n)\s*(\w+)\??\s*\(/ 抽 api.d.ts 方法名,遇泛型声明 `get<T = unknown>(`
时 \w+ 后是 `<` 非 `(`、抽不到 `get`,把真实存在(impl + api.d.ts:79 都有)的
save.get 误判"方法名幻觉不存在"→ 误杀一整类带存档持久化的游戏(高分榜等)。
修:两处方法名正则加可选泛型段 (?:<[^>]*>)?(apiMethodSet + apiVoidMethodSet)。
验证:形状门单测 11/11;针对性 check 一段同用 save.get('best',0)+sessionScore.add+
drawButton 的 game-logic → [check] PASS(三者均不再误判)。over-permissive 取向不变。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
dc49f5f866
feat(cheap-gen): 阶段一B #5 drawButton 改返命中矩形(黄金首件·治 #1 翻车点根因)
...
降AI参与·阶段一B 改签名第一处(附A #5 )。逐插件改逐插件回归的黄金样板。
drawButton 由返 void 改为回吐它绘制的归一化命中矩形 {x,y,w,h}——AI 的直觉写法
const btn = hudUi.drawButton(g,{x,y,w,h},{label}); if (hudUi.pointInRect(px,py,btn)) 现在就对,
治了 #1 翻车点(drawButton 返 void 误用→变量恒 undefined→命中短路→卡菜单)的根因,而非教绕路。
全链路同改(漏一个造新脏数据):
- hud-ui/impl.js:drawButton 模块函数 + 实例方法回吐归一化矩形 r(g=null 也回吐、绝不 undefined)
- hud-ui/api.d.ts:模块函数 + 实例方法 两处 :void → :Rect + JSDoc
- tools.mjs 形状门:删 drawButton 特例分支(api.d.ts 改后自然掉出 void 名集),
泛化判据留给仍真返 void 的方法(drawText/drawPanel/drawBar/play/flashScreen)
- prompt.mjs/cheap_roles.py(双源)/skill:指引由"返void绝不接"翻为"回吐命中矩形可直接 pointInRect"
- check.test.mjs:drawButton 测试反转(赋值不再拦)+ 链式测改 drawText
- test_roles.py/test_toolkit.py:footgun 断言 + 形状门 drawButton 测试随签名更新
验证(逐插件回归矩阵):
- 形状门单测 11/11(amodel-gen)+ cheap-worker test_roles/test_toolkit 16/16 + hud-ui 19/19
- 确定性 impl 铁证:drawButton 回吐 {x,y,w,h}、g=null 不 undefined、回吐矩形直接 pointInRect 闭环
- 真生成代码(菜单+按钮游戏)用了 drawButton、check 未拦 drawButton,证明 #5 不破坏生成
- 双源 drawButton 文案一致;prompt.mjs node --check + cheap_roles.py py_compile 绿
正交发现(非 #5 ):该局九门 gen 栽在 save.get() 方法名幻觉(save 插件无 get)——
是另一处方法名摩擦,记为阶段一B 后续/补密度候选,不在 #5 范围。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
62f819ad43
docs(cheap-gen): 降AI参与设计收口更新 —— 认领+前置核查已解、执行进度
...
收口 TODO:① 已认领 plan①(56e9f28e);② 前置核查已做——L2 插件与 tier2 物理隔离
(tier2 用自己 Phaser engine-caps、零 import 便宜档 L2 插件)→ 阶段一B 改 L2 API 无 tier2 回归。
执行进度:✅ 阶段一A 清脏数据(a6a37b1c);下一步据创始人裁定 A 阶段一B改签名/B 数据点/C review。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
f477666f1d
docs(plan①): 切片一认领「降AI参与」里程碑(L2 API 母语化 + per-genre 脚手架)
...
把「便宜档降AI参与」探索结论正式认领进 plan① 切片一(canonical · 创始人 2026-06-29 directed):
- 加里程碑「降AI参与·减摩擦+扩模板覆盖」= 把 3/5 推向 ≥80% 的生成质量地基,喂 M1 达标门
· 减摩擦(小头,26× 含学 API 税):改 L2 签名向母语直觉 + 清脏数据 + 重写形状门判据
· 扩模板覆盖(大头未验):per-genre 脚手架,缩 AI 自由写面 —— 难品类数据点前不敲定范围
- WU 归属:WU-B 实例达标 / WU-C 5.4 能力面契约变更(改 22 处 L2 API)/ WU-F 达标门
- 跨设计面加 L2 API 母语化契约变更 + 设计指针
红线:九门内核不降 / L2 插件库保留(降参与核心载体非税)/ 不动 tier2。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
74a7135746
feat(cheap-gen): 便宜档降AI参与 设计落仓 + 阶段一A 清脏数据(治传导断裂)
...
探索会话诊断+设计(Codex+Opus 双评审、证据驱动重定位),认领进 plan① 切片一里程碑。
落仓产物:
- 动因 evidence(母语vs方言:M3 不弱、便宜档现状方言产同款要 ~26× token)
- 方向设计(降AI参与=减摩擦[小头]+扩模板覆盖[大头未验];附A 22处摩擦/15可改签名清单)
- tech-decisions §5.1 + agent-specs/_index 蒸馏
阶段一A 清脏数据 + 文档治理锚(prompt.mjs + cheap_roles.py 双源 + skill 三文件):
- 治"传导断裂"根因:植入定位锚——便宜档=AI参与深度低的高质游戏(轻量≠简单),
复杂度靠工程脚手架+L2 插件库、少写多调;"极小/最小游戏「点圆得分」"重框成
"脚手架起点、借插件能力改造成高质游戏"
- collision.pointInRect(不存在)收敛 hudUi、删干净
- 漂移范例 catch-fruit/wanglanmei(旧 opts 签名)→ _template(唯一匹配现契约)
- 插件数口径统一"注入 11 + runtime-probe 取证不注入"
验证:prompt.mjs node --check + cheap_roles.py py_compile 绿;九门复验跑一局打地鼠
(历史翻车品类)attempts=1、verdict.pass、failedGates=[]、¥0.95——清脏数据未破坏生成。
核心结论(创始人确认):便宜档≠简单游戏;L2 插件库是降AI参与核心载体非税;
"换母语扔插件"=升参与、与策略相反,已推翻。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
1152f0d0d4
docs(studio): A11 切片三全闭环 —— 受计费真后端 e2e 跑通
...
受计费 e2e 在 mini-desktop 隔离实例(:48090 + worker :9502,不碰 live)跑通:
- 三件硬证据全坐实:① 三断言/modifyManifest 落库(ROUND_MS 30000→18000 found / behavior changed+untouchedStable)
② D12 计费(regenerate cost.totalRmb=0.307 / deterministic 零LLM cost=0,均经配额门)
③ 血缘(game_source_project v93145→v93146/47/48 base_version_id=93145)
- 判意图分类正确(config/deterministic vs behavior/regenerate-module)、两档执行九门全过
- 抓修 1 阻断性真 seam bug(gameId int→str,a40823b1)
切片三 A11:设计 → 双评审 → M1-M5 执行 → 受计费真后端 e2e,端到端闭环。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
lili
0465471ef4
fix(cheap-worker): 真后端 gameId int→str 归一化(治便宜档经真后端全失败的阻断 bug)
...
A11 受计费真后端 e2e(mini-desktop 隔离实例)抓到的阻断性 seam bug:
后端 gameId 是 Java Long → JSON number → Python int;worker 直传 cheap_run 的
subprocess shell-out(scaffold/build/stage/smoke/play 要求 str)→ TypeError(expected str, not int)
→ scaffold 失败 → 静默归 llm_error → 便宜档经真后端 generate/modify 全部失败。
本机单测用 str gameId 没暴露;真后端 Java int gameId 才触发(e2e 的价值)。
修:_default_run_fn / _process_modify_job / _process_regenerate_job 三处 job 消费边界
归一 game_id=str(...)(str("x")=no-op,既有零影响)。e2e 重跑后全链路成功。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 01:39:05 -07:00
zizi
6998de77f3
docs(agents): 蒸馏 tier2 服务态生成配方 + 收敛根因(§7)
...
本 session 服务化实测的可复用产出写回权威源:新增 skill tier2-service-generation——
★收敛头号杠杆=真玩 driver(没 driver→F_wiring 挂+富游戏门 None+agent thrash 的假性不收敛;
默认 business-sim play_spec 通用修复·007 现成游戏带 driver 重跑 accept 全绿坐实;诊断口诀=九门前几道绿
+F_wiring 挂+富游戏门 None→查 driver 别怪生成,None≠False)+ 驱动 create_app 六集成口径(凭据 data 嵌套/
chat content 块列表/Toolkit.tool_groups 抠九工具/BYPASS+query agent_id/设计阶段接入/SSE read 超时防挂死)
+ 控制面有界 resume + C1 trace 字段口径。README skills 索引同步登记。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 11:40:57 +00:00
lili
9ac0e860d1
docs(gen-engine): A11 切片三收口蒸馏 —— 回写 plan① + 设计面入运行时 SoT §六
...
收口 TODO①②(创始人 2026-06-29):
- 回写 plan① 切片三:确定性覆写定性精化(执行仍零 LLM、但 A11 经判意图两段式到达、
非直接覆写;落点对齐工程规范性)+ 后续细化标记已执行(M1-M5 代码完成、6 提交)
- A11 设计面蒸馏入运行时 SoT:新增 §六 调整回路(试玩后纠错)——两段式判意图/工程规范性改一处/
两档执行/三断言,散文设计面(兑现 plan① TODO⑥ "A11 无 §5.x facet 专节");§三 A11 行状态更新为
便宜档代码完成
- .agents/knowledge/tech-decisions §1.2 A11 调整回路简洁蒸馏(指向 §六 + 细化 plan)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 03:08:06 -07:00
lili
5a9b608c56
docs(studio): A11 切片三收口 —— M1-M5 代码完成、受计费 e2e 排部署窗口
...
更新 plan 状态:M1-M5 代码全完成 + 本机逐段一手验证 + 5 里程碑提交;
唯一剩项 = 受计费真后端 e2e(创始人 2026-06-29 定 B:排部署窗口、不现在动 live 栈,
需 push + 部署 A11 到 mini-desktop 经真后端验三断言+D12计费+血缘)。
收口 TODO:回写 plan① 行 148 定性 / 设计面蒸馏 docs-architecture+.agents / extend+A2A暂停留后期。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 02:51:26 -07:00
lili
9a6feddfee
feat(studio): A11 切片三 M5 三结构断言机器门(改对了没/有没有误伤/血缘可查)
...
九门只验"仍能玩",验不出"改对了没、有没有误伤";三断言补这层(plan① 线 154)。
cheap_assert.py:
- ① change_applied:改动真生效非 no-op(deterministic=manifest found 且 old≠new / regenerate=changed)
- ② nontarget_stable:base→new 真比对算内容差,非目标文件变=误伤——不信执行器自报标记,
防执行器 bug 自证(兑现 Opus 评审 P1-2)
- ③ lineage_queryable:baseVersionId 在(worker 侧验必要条件,DB 真可查由 M1 回填 + 后端 e2e)
- three_assertions 合并 verdict
集成进 execute_*:两档加 base_version_id 参 + 附 assertions verdict + 收紧 status
(succeeded ⟺ 九门 ∧ ① ∧ ②;regenerate 原漏判 ①changed 已补);worker 透传 modify.baseVersionId。
测试:test_a11_m5_assertions 12/12 + 全 85 测试独立复跑全绿(含 M3/M4 桩接 kwarg)。
集成端到端 smoke(真九门):ROUND_MS 30000→19000 + baseVersionId=4096
→ status=succeeded、a1/a2/a3 全 true、allPass=true、落盘 19000。
受计费真后端 e2e(经 studio→aigc→worker→回调→新版本+D12计费+血缘)待 mini-desktop 全栈。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 02:34:06 -07:00
lili
14c79dbfdd
feat(studio): A11 切片三 M4 模块重生成执行(有界单文件 LLM 重写 game-logic.js)
...
两段式第二段的 regenerate-module 类:改玩法 = 据 intent 有界重写 game-logic.js,不动其余。
复用机制(参数化、不复制 resume/熔断/收口):
- cheap_studio.run_studio 加 4 个默认 None 可选参(system_prompt/initial_kick/write_whitelist/prepare)
切到 modify 态,create 路零行为变化(params=None 等价原逻辑)
- cheap_toolkit.build_toolkit 加 write_whitelist(非白名单 basename 写直接拒)
- cheap_roles.build_modify_system_prompt(复用 create 红线契约块)
cheap_modify.execute_regenerate_modify:
- 取 intent(空→failed)→ materialize base 源 → 重写前后对非目标文件算 hash
- 有界重写(写边界收窄到只 game-logic.js)→ 九门
- status=succeeded ⟺ 九门过 ∧ 非目标稳;manifest{file,kind:behavior,intent,changed,untouchedStable}(断言②地基)
worker_service._process_regenerate_job(regen_fn):把 M3 的 regenerate-module 显式 failed 占位换成真执行;
deterministic/create/生成路一字未动。
测试:test_a11_m4_regenerate 10/10(全注入桩零 LLM)+ 全回归独立复跑 73 测试全绿。
一次真 LLM smoke(单跑):intent=连击递增 → status=succeeded、untouchedStable=True、九门 pass、
attempts=1、¥0.31、137s;独立 diff 佐证 5 非目标文件字节相同、仅 game-logic.js 变。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 02:16:22 -07:00
lili
51230f1347
feat(studio): A11 切片三 M3 确定性类执行(零 LLM 改规范工程一处→重建→九门)
...
两段式第二段的 deterministic 类:用户确认后的改动落到规范工程那一处,零 LLM。
cheap_modify.py:
- apply_deterministic_modify:config/level→core.js 等 L3 的 export const 值替换;
asset→assets.js IMAGE_FILES 键值或 baseUrl;no-op 检测(无 found&&old≠new→ok=false,M5 断言①地基)
- materialize_source_project:系统级落盘全 files(含 L1,绕 write_file 的 L1 守卫)
- execute_deterministic_modify:apply→(缺 plumbing 才 scaffold)→materialize→cheap_run build/stage/smoke/play 九门
worker_service.py:
- process_job 最前 modify 分流(_process_modify_job);deterministic 走执行 + manifest 进 trace.modifyManifest
+ best-effort 带新版 sourceProject(链式改);regenerate-module 显式 failed 留 M4;create/生成路一字未动
测试:test_a11_m3_deterministic 18/18 + 回归全绿。
九门 smoke(独立复跑,本机 Chrome 免 LLM):amgen-bake-click-score-0 base 源 → ROUND_MS 30000→19000
→ status=succeeded、verdictPass=true、manifest found=true、落盘 core.js=19000、运行时 remainMs=19000
(改的那一处真在游戏里生效并过九门)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 01:49:10 -07:00
lili
938219d7a5
feat(studio): A11 切片三 M2 判意图入口 Java 侧(studio→aigc→worker)
...
两段式第一段的后端承接:用户原话进系统、判意图、返建议供前端确认(确认后才调 /modify 执行)。
契约先行:
- studio.yaml 新增 POST /app-api/studio/modify/plan + StudioModifyPlanReqVO/RespVO
studio(应用面):
- AppStudioController.planModify;StudioServiceImpl.planModify =
validateCreator 白名单门(与既有 createDraft/generate/modify 一致)+ 归属校验防越权
+ 委托 aigc classifyModify + 异常/空兜底 unclear
aigc(worker 对接):
- AigcApi.classifyModify + AigcModifyProposalDTO
- WorkerClassifyClient:据 baseVersionId 反查 base 源(同 injectBaseSourceProject seam)
→ NO_PROXY JDK HttpClient POST worker /classify → best-effort 兜底 unclear+needsConfirm
- AigcApiImpl 软注入 ObjectProvider<WorkerClassifyClient>(executor 关闭时缺席→兜底,
绝不因 Bean 缺席启动失败,镜像 WorkerDispatchClient);worker URL 尾段 /generate→/classify
测试:StudioServiceImpl 31/31 + WorkerClassifyClient 10/10 + AigcApiImpl 2/2,
本地 maven 独立复跑 43/43 绿、BUILD SUCCESS,既有 modify/generate/SAA 回归零破坏。
真连 worker 的判意图 e2e 待 M5(mini-desktop)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 01:22:24 -07:00
lili
fc782db08b
feat(studio): A11 切片三 M1 前置基座 + M2 worker 判意图
...
M1 前置基座(便宜档源回传落库链 + base 源注入 + 血缘):
- derive_profile 兑现(便宜档基线 profile{realtime,discrete-choice,metric})解锁 sourceProject 回传
- worker parse_modify 提取 modify 区(mode/baseVersionId/modifyPatch/sourceProject)
- executor 据 baseVersionId 反查注入 base 源到 HTTP job(镜像 SaaGraphDispatcher.resolveBaseSourceProject)
- 回调落源回填 base_version_id 血缘(landSourceQuietly)
M2 worker 判意图(两段式第一段,NL→建议改动+风险):
- cheap_classify 把用户原话 + base 源可改面(assets.js 资产清单/core.js 集中数值/game-logic 玩法)
判成 {category,mode,target,payload,riskLevel,needsConfirm,clarify}
- mode×category 锁定(LLM 给的 mode 不采信)+ 危险回问硬编进 needsConfirm(只低风险确定性改免确认)
- worker /classify 同步端点(不入生成队列、不起 Chrome)
测试:Python test_a11_m1 5/5 + test_a11_m2_classify 9/9 + 回归全绿;
Java 执行器/回调/源服务 + SAA 回归(本地 maven 独立复跑 46 + 子代理 98)全绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 01:04:55 -07:00
lili
bc1efb26d8
docs(tier2): 纠正 U5 退路层 —— win-balance 在 agent 层非工具层(创始人纠正)
...
经济/数值平衡是 agent 玩法职责,基础工具层做静态模板/补骨架治不了(静态验证调不动动态平衡 +
每游戏数值会改、预制浪费)。真杠杆 = verdict 反馈质量(让 M3 像 spike 自调平衡)+ 模型能力(换档)。
撤回工具层加固 + 精确率测量(率随 agent 演进会变)。go/no-go=conditional,卡 agent 层、随其演进改善。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 21:05:22 -07:00
lili
55a213e722
docs(tier2): 切片二 U5 收敛环 go/no-go 结论 = conditional go(留观+针对性加固)
...
真跑(M3-only,chrome 泄漏修后 iso 逐款):M3 写得出结构完整多系统富游戏(过大多数九门+三联动/latch),
但收敛 run-dependent(随机)、confounded pass 率 ~1-2/5;失败集中「进度/经济平衡门」
(H_progress + 经济门 profitPathWin)。退路 = win-balance 模板化/补骨架(非换档,M3 有能力)。
第二 confound(live worker:9501/@8200 争 4 核)未除,真率需暂停 live 干净跑测。
非 no-go(能过全门)、非干净 go(收敛太不稳)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 20:10:53 -07:00
lili
8d4654ab63
fix(tier2): serve-and-play chrome cleanup 杀整树(治泄漏)+ 切片二 U5 执行发现
...
chrome 泄漏根因:cleanup() 只 kill $CHROME_PID(父)→ renderer/gpu 子进程 reparent 给 init 成孤儿、
跨款累积(实测 U5 Round1 撞 wall_timeout、杀批组仍残留)。修=cleanup 加 pkill -f "$USER_DATA_DIR"
杀本实例整棵 chrome 树(user-data-dir mktemp 唯一、不误伤别的 chrome/live worker)。
plan 执行发现:① env 闸缺口(fresh worktree 无 node_modules/esbuild → build 失败 → M3 假性不收敛,
已补 U1 S0 + Risks);② M3 已证能收敛(smoke 面包+水果 clean accept、九门全过);
③ U5 Round1 被 confound(chrome 泄漏 + live worker:9501/@8200 争 4 核)、需隔离干净重跑。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 16:54:17 -07:00
lili
eed34d0a32
feat(tier2): 切片二 U2/U3/U4 本机 TDD 全绿(护栏/退路树 n=5/play-scene 门结构化)
...
U2 batch_run:BatchConfig 批级 ¥/墙钟/token 上限 + assert_under_round_cap 跨轮闸 +
main() catch 非0退出(fail-closed,已跑款不丢)。
U3 fallback_tree:decide_n5(覆写 decide() 非包装——decide() 无 deepseek 强便宜档即 Q1 早退吞 M3;
收敛需末轮≤1 且≥2轮压首轮裸运气;R1/R2 复用 _system_concentrated/_bucket_share;R3_conditional 无强档;
len>4 拒裁)+ --n5 CLI 入口。
U4 run.py:validate_play_scene 公开签名不变,抽 validate_play_scene_src(src) 在剥注释+字符串的 skel 上判
bindInput/tick/handleNormalizedInput,挡注释/字符串规避假过。
测试:fallback_tree 自测 +9 / test_batch_guardrails 3 / test_validate_play_scene 4,全绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 08:59:29 -07:00
lili
4f444e0ca0
docs(tier2): 切片二 n=5 收敛环 go/no-go 细化执行 plan(Codex+Opus 双评审收口)
...
plan① 切片二的可跑 runbook 细化:U1 前置阻断(复现 smoke+反向 smoke+DockerWorkspace 小验)/
U2 批级+跨轮护栏 fail-closed / U3 退路树 n=5 适配 / U4 play-scene 门结构化 / U5 跑环+go/no-go。
执行决策(创始人):串行+M3-only;n=5 绝不 n≥30。§6.8 双评审 19 项发现全核验、全文档内修。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 08:59:29 -07:00
lili
fb1149f189
docs(mvp): 进度总账同步切片一 M3 Node 退役 go-live 完成线(消歧:≠账本 M3 分发)
...
M2 创作链路行 + §0 现状 + 头部:便宜档切片一 M1-M3 + 生产 cutover(2026-06-28 创始人「同意切」)——live :48080 退 Node/gamedef、上 Python(AgentScope)路 dispatcher=http→worker+trace,9d trace parity 救活 D11(真后端三值 28/45/100),D9 parity;commit d00938cc/16112827/7f8a418c。
诚实 gate:M3「≥80% 生产真实分布达标」未到=便宜档生成质量(WU-B/C/F,U4 真 gen 没过九门);对外开闸放量待放行决策。消歧铁律:此 M3=切片一(生成线)M3,≠ 账本 M0-M5 的「M3 分发链路」(发布/feed)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 04:52:12 -07:00
lili
7f8a418cb5
docs(cheap-worker): M3 生产 cutover 完成 — Node/gamedef 退役 go-live、live 跑 Python M3 路(切片一 M3)
...
live :48080 端口精确从 6-21 旧 gamedef jar 换成 6-28 M3 jar(dev/2.0.0)+ dispatcher=http→worker:9501 + trace.enabled;boot 日志「生成派发通道选定 dispatcher=http=WorkerDispatchClient」坐实 Node/gamedef 旧路在 live 退役。拆 iso :48090 避 live+iso 双 executor 同 DB split-brain。最终拓扑=live :48080(M3 路)+ worker :9501,同 DB。control-plane 6门放量创始人定后单独开。
M3 剩(非 cutover 工程缺口):≥80% 生产真实分布达标复验(质量轨 WU-B/C/F)+ 对外开闸放量(放行决策)+ publish→feed→玩家真玩(产品轨移交边界)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 04:46:09 -07:00
lili
16112827da
docs(cheap-worker): M3b U6 收口 — 执行发现 + trace parity 蒸馏(切片一 M3b)
...
plan close-out:U4/U5 mini-desktop 真后端 e2e —— D11 三值判别坐实(失败 gen 28 / 退化态 45 / 注入真 bundle 成功 100),9d trace 七项 + D9 similarity 真落库、engineBundle 落可发布预览包,live :48080 全程未动。边界:publish→feed→玩家真玩 属产品/审核台轨(auth + REVIEWING),非生成线 M3b。
.agents 蒸馏:gen-path-parity-harness skill 加「换 worker 别静默退化 D11/D9」段(必填七项 + gatespec.driver 键名坑 + H_progress 嵌套 + repairs=max(0,attempts-1);D11 退化判别双峰 45/55 + 逐维断言反假绿非看区间;import 边界 tier2≠wg1 故 trace 手写镜像 + dedup vendor;两路都落 trace;玩家试玩需 published)。README 索引同步。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 04:12:02 -07:00
lili
d00938ccbd
feat(cheap-worker): M3b 本机 U1-U3 — 9d trace parity 救活 D11 + D9 vendored + 跨语言反假绿门(切片一 M3b)
...
便宜档生成切到 cheap-worker 新路后,result_out 只产 trace.cost、缺 9d trace 七项,致后端 D11 ReadinessScorer 三维恒中性、退化成 45/55 双峰近恒定分,D9 反同质失效。
U1 cheap_studio 富化:build_trace_source + _furthest_stage,additive 捕获 verdictFull/driverType/models/stage。U2 result_out._build_trace:七项(repairs=max(0,attempts-1))+ sevenGateVerdict{pass,guards} + gatespec{driver} + cost + similarity,camelCase 镜像 _extract_trace、None 容错。U3 D9 dedup vendored 进 cheap-worker/dedup.py(registry 指自己 results/)、worker_service 接线非阻断。
Java 跨语言切片测加逐维反假绿门(反射调真 ReadinessScorer:三维脱离中性 + 合成分 100 vs 退化 ≤55 拉开 ≥35)。顺带修预存 M3a 红测:worker 异常兜底 failureReason 改传真枚举 llm_error。
验证:cheap-worker 全 16 测绿 + Java 切片 5/5 绿 BUILD SUCCESS。范围仅 cheap-worker/ + 2 fixture + 1 Java 测 + plan,零 live 触碰。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-28 02:17:41 -07:00
lili
a327c9913e
fix(m3a): result-out failureReason 对齐后端 FailureReasonEnum 真七值(catch-all=llm_error)
...
mini-desktop 真 e2e 部署收口抓到的契约 bug:result_out 七值集用了 content_violation/
budget_exceeded/generation_failed 三个不在 FailureReasonEnum 内的值、catch-all 用无效的
generation_failed → worker 失败回调被后端 DifyCallbackTxService.isValidFailureReason 拒
(「failureReason 不在契约#6 七值枚举内」)、回调事务回滚、任务未转终态。
修:七值集对齐 FailureReasonEnum(unsafe_prompt/intent_unclear/no_template_match/
config_invalid/llm_error/timeout/asset_gen_failed);catch-all=llm_error(SaaGraphDispatcher 同口径)。
Java slice test 原只测成功路 validateSucceededPayload、漏测失败路 failureReason 校验故没抓到 →
改为反射调后端真 isValidFailureReason(就是它拒了 generation_failed),本地即可守此 bug 类。
验证:Python result_out 13/13 + Java slice 4/4 本地绿;待 mini-desktop 重部署真 e2e 复验。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 22:06:50 -07:00
lili
847089b541
feat(m3a): 便宜档 Node 退役机制 U1-U4 本机交付(Python §6.1 worker + 后端路由契约/A2A/幂等)
...
M3a 退役机制 plan 经 Codex+Opus 双评审(needs-rework)→ 按创始人 A(全局 dispatcher
flag 整体翻转、不做 per-request 灰度)重写 → Opus 复审 minor-fixes → 发现项全数修复。
U1 Python §6.1 HTTP worker(cheap-worker/worker_service.py + result_out.py):
202 投递握手 + 有界串行队列(治串行 worker 忙 409 误判)+ 三字段 result-out
(gameConfig 占位 / engineBundle 承重含 __GameBundle / sourceProject best-effort 2.0)
+ HMAC 回调。27 单测 + 真生成 e2e 过九门 + 真网络回调。
U2 跨语言契约 slice test(CheapWorkerResultOutContractTest):反射调真
validateSucceededPayload 过薄校验 + 真 CallbackSignatureVerifier HMAC。
U3 A2A 状态(additive):AigcTaskStatusEnum.toA2aStatus + app VO/RPC DTO a2aStatus
字段(保留数字 status 不破坏调用方)+ Convert/ApiImpl backfill + 契约 aigc.yaml。
U4 创作请求级幂等(行业标准 idempotency):DO idempotencyKey + Flyway V26
(列+唯一索引,NULL 多值=不去重)+ Mapper selectByIdempotency + submitGenerate dedup。
真验证抓到并修 2 个真 bug:① worker 回调走系统代理被 fake-ip 拦 502 → 禁代理 opener;
② result-out 顶层 costRmb 不在 DifyCallbackReqVO 字段内、后端严格拒未知 → 落 trace.cost。
验证:Python 27 测 + Java 21 测全绿(mvn BUILD SUCCESS)。
剩余 U2 真派发 / U4 真 DB / U5 待 mini-desktop 真部署。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 21:18:28 -07:00
lili
afb0705078
docs: M2 完整收口 — WU-C 5.4 阻塞已修、Node 退役授权三条齐 authorized=True
...
承 ffe3a5c9(单数 target 契约漂移修复):复验 auto-vs-golden 三品类全 aligned
(退化款 avg-click-score-14 auto 0.667→1.0)→ retire_authorization 三条齐
M1✓+002✓+auto-vs-golden✓ → authorized=True。便宜档具备把默认路由切到 Python
的全部条件(真接线 M3)。
M2 全程没放水:门诚实卡住生成缺陷、修后如实转绿,证伪评审「字段同质恒过无
鉴别力」预判。同步 M2 plan 收口结论/status + parity skill M2 实证。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 10:55:38 -07:00
lili
ffe3a5c993
fix(WU-C 5.4): tap-targets harness 认单数/可空 target — 解 M2 Node 退役阻塞
...
M2 auto-vs-golden 门抓到的生成契约漂移修复(Codex 实现 + 主代理诊断/受控验证)。
根因:~20% click-score 款 _forensicsView 暴露单数 target(对象、菜单态为 null)
而非复数 targets(数组),tap-targets harness 只认复数数组:① _build_play_spec
推断漏判→误推 key-cycle;② 驱动器 targetsPath 找不到单数 target。
两处修(认两种合法形态、既有数组行为零变):
- cheap_run.py:_build_play_spec 以【键存在性】判 tap-targets(targets/target 键
在即可,菜单态 null/空数组仍归 tap-targets)——非值类型(空数组过/null 不过的
非对称是漏判根因)。
- play.cdp.cjs:runTapTargets 取值非数组时回退读单数 target、包成 1 元素数组。
验证:退化款 avg-click-score-14 auto 路 E_live/G_input/H_progress 0.667→1.0
(3/3 确定性复现);test_ensure_play_spec 8→13 绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 10:41:16 -07:00
lili
3d64129d8e
chore: gitignore M2 avg-* 批跑产物 + README 索引补 auto-vs-golden 门
...
avg- 前缀的 auto-vs-golden 同款双驱动批跑产物(可重生成、不入库),遵既有
「专一不笼统」。README parity skill 索引扩到含 auto-vs-golden 同款双驱动 delta 门。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 09:44:06 -07:00
lili
e963db3a34
docs: M2 收口 — auto-vs-golden 门抓到单数 target 契约漂移 + 蒸馏(WU-C 5.4 阻塞)
...
M2 机制全交付(U1-U3 门 + R5 灰度设计、全套件 106 测绿)。full 批 n=5:
whack-mole/shop-serve aligned、click-score regressed(E_live/G_input auto 0.8<
golden 1.0,3 次复跑确定性复现)。retire_authorization 三条:M1✓+002✓+
auto-vs-golden✗ → authorized=False。
根因(systematic-debugging 定位)= 生成契约漂移:~20% click-score 款 forensics
暴露单数 target(对象)而非复数 targets(数组),_build_play_spec 推断漏判→误推
key-cycle + tap-targets 驱动器 targetsPath 找不到。门正确履职(证伪评审「恒过」
预测)、退役授权诚实卡住。创始人定:收口 M2 机制 + 登记 WU-C 5.4 阻塞(修后转绿)。
蒸馏:auto-vs-golden 同款双驱动 delta 门范式 + 单数 target 契约漂移实证 →
gen-path-parity-harness.md;M2 收口结论 + WU-C 5.4 阻塞 → M2 plan。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 09:42:13 -07:00
lili
8038109ce8
feat(cheap-worker): 同游戏双驱动 play 编排 + auto-vs-golden 批跑(M2 U2)
...
run_pair_dual_sync:同一份 staged src/ 上先自动 spec(ensure_play_spec)、后金标
(inject_golden)各 play 一次,取两组逐门 verdict——隔离生成方差、只暴露驱动器差。
编排序 gen-only→smoke→断言 staged 无残留 spec→ensure→play(auto)→inject→play
(golden);auto_gates 在金标注入前捕获。run_batch 端口池+线程前台有界并发(≤15
夹取、复用 bake_off._clamp_conc)、报告 auto-vs-golden-<idx>.json 不覆盖。
mock 编排单测(调用序 + auto 先于 golden + no-spec 守卫)20/20 全绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 08:47:13 -07:00
lili
dd0d1cc224
feat(cheap-worker): Node 退役授权三条齐判定 retire_authorization(M2 U3)
...
读三份既有落盘报告聚合:① M1 达标(bake-off-M1-final.json overallMeets)
② 002 对照等价(compare-multi-002-final.json summary.equivalentGenres ⊇ 三品类)
③ M2 auto-vs-golden(meets)。三条全绿→authorized;任一 False/报告缺失/字段类型
不符→未授权并列明欠项(不静默当通过)。纯函数零 LLM 零真跑。单测 17/17。
真切路由/D12 扣退在 M3。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 08:43:58 -07:00
lili
423b0b6df3
feat(cheap-worker): auto-vs-golden 逐门 delta 判据 + double-low 守卫(M2 U1)
...
按品类逐门比 auto 过门率 vs golden 过门率,关键门 {E_live,H_progress,G_input}
容差 0(delta≥0)、其余门容差 -1/N。方向单边查「自动不比金标驱得差」(delta<0
退化),非查更松。double-low 守卫:关键门两路都 <0.5 → inconclusive(红),防
delta=0 假象(承 compare_node.doubleLowRed 同源风险)。aggregate_delta 三品类
全 aligned 才整体 meets、卡死品类不被平均掩盖。纯逻辑零 LLM。单测 11/11。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 08:41:46 -07:00
lili
3ec36037b6
docs(plans): 便宜档 M2 上线就绪细化 plan — auto-vs-golden 门 + Node 退役授权(过双评审)
...
主线切片一第二里程碑 M2 细化 plan(承 M1 003 收口)。创始人 2026-06-27 定范围
=聚焦本机可执行的 auto-vs-golden delta 门;灰度切换基础设施只出设计、真接线随
M3。三单元:U1 逐门 delta 判据(关键门容差 0/其余 1/N + double-low 守卫)、
U2 同游戏双驱动 play(同款产物自动 spec vs 金标 spec 各 play 一次、隔离生成方差)、
U3 三条齐退役授权判定(读 M1 达标 + 002 等价 + auto-vs-golden)+ R5 灰度设计。
双评审(§6.8):Opus 对抗评审权威,1 MAJOR + 6 MINOR 全在档内修;Codex 实跑
但读完 plan① 后停半途未产汇总(回落 Opus 单评),其方向性发现已纳入。创始人定
门定性=建全门 + 诚实降权:门方向按 plan① 单边查「自动不比金标驱得差」(非查更松),
覆盖面内鉴别力诚实降为「不退化确认」、退役实质支撑=M1+002。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 08:24:26 -07:00
lili
ddf69d1628
chore: gitignore M1 bake-off + 代表样本/校验重生成游戏产物
...
bake-off 批跑与 base/vf/v2/smoke 重生成产物(~70 个目录、各~312K)纯属可重
生成的本地证据、长期污染 git status。遵既有「专一不笼统」:只忽略已知生成
前缀(amgen-bake-*/_wg1-gen/bake-*/base[0-9]*/vf-*/v2-*/smoke*),已跟踪参考
游戏(angrybirds/breakout/t2048/whack/_shared/_goldenpath-*)不以这些前缀
开头、零误伤(git ls-files -i 核实为空)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 07:47:47 -07:00
lili
e898d8602a
docs(.agents): 蒸馏 M1 达标门质量口径铁律回 parity skill(M1 收口)
...
gen-path-parity-harness.md 加「达标门口径:质量地板 vs 生产真实交付率」节
——编排未收敛(timeout/step_cap、无 verdict)与九门质量挂性质不同,必须剔出
达标率分母、单列归编排硬化,rawPassRate 并报贴近生产交付率(创始人 2026-06-27
定)。M1 实证:同批 14 款 click-score 原始 0.786 vs 质量 0.917 之差全在 2 个
未收敛款,口径决定收口。配套点到 U1 护栏(返 void API 语义盲区)+ U4 预算闸
(¥10 fail-closed)要点。frontmatter description + README 索引同步扩范围。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 07:33:27 -07:00
lili
aaa9461bd9
feat(cheap-worker): bake-off 达标门改质量口径 + 编排未收敛单列(M1 U3 收口)
...
创始人 2026-06-27 定:达标门只衡量九门质量地板,编排未收敛(M3 撞
timeout/step_cap、无 verdict)剔出达标率分母、单列 unconvergedTotal 归 M2
编排硬化。judge_genre 分母改 converged 款,rawPassRate 并报(贴近生产真实
交付率、不作判据);converged==0 → insufficient。
实测合并 14 款 click-score(batch2 满21 + batch3 补7 offset7):质量
11/12=0.917 达标(原始 0.786,2 款未收敛=timeout+step_cap),whack-mole
7/7=1.0、shop-serve 6/7=0.857 → M1 三品类全过 ≥0.8、达标门绿。
bake_off 单测 12→14(加未收敛剔除 + unconvergedTotal 汇总);全套件 86 绿。
M1 合并收口报告 → cheap-worker/results/bake-off-M1-final.json(results gitignored)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 07:30:53 -07:00
lili
452d2f2642
feat(cheap-worker): bake-off 加 --offset 支持补跑不覆盖既有批(M1 U3)
...
补跑 click-score(确认满批 5/7 是否抖动)需 gid 从 offset 起、不覆盖 bake-<key>-0..6;
run_bakeoff 加 offset 参数,gid=bake-<key>-<offset+k>。单测 11/11 仍绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 07:00:01 -07:00
lili
0d582b2956
feat(cheap-worker): ≥80% 达标门 bake-off 骨架 + 聚合判定单测(M1 U3)
...
新建 bake_off.py:tap-targets 三品类各 n 款 run_studio(run_gates=True)生成→自动 spec
驱动九门→取 verdict.pass,按品类聚合 pass_count/total、逐品类 ≥0.8 判达标;任一品类缺样本
报覆盖不足、任一 <0.8 整体未达标(绝不总体平均掩盖卡死品类)。判定纯走确定性九门 verdict.pass、
零 LLM。真跑复用 compare_node 端口池+线程前台有界并发(conc≤15)、gameId 品类前缀隔离、报告不覆盖。
验证:test_bake_off.py 11/11(判定 meets/below/insufficient/边界0.8 + 假绿防护不被平均 +
覆盖不足 + 上限夹取 + 零LLM确定性)。20 款 M3 达标门真跑(收口硬判据)待执行。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 04:47:14 -07:00
lili
6f69167d97
feat(cheap-worker): 自动 play-spec 加厚到金标同质 + 防自证(M1 U2)
...
ensure_play_spec 的 tap-targets occupied 族补 expectedEngineCallPrefixes,让生产自动
spec 的 F_wiring 从「宽松过(只验有调用)」升到「验调了正确 L2 插件」、达金标同质。期望取
自预置常量 _TAP_TARGETS_CALL_PREFIXES(外生 held 期望,对齐三份金标 fixtures),绝不从
该局实际 __engineCalls 反推——否则 F_wiring 退化自证、必过、假绿。key-cycle 族保持薄版
(待输入键契约 WU-C 5.4)。spec 构造抽 _build_play_spec 纯函数便于单测。
验证:test_ensure_play_spec.py 8/8(与三份金标逐字段一致 + 防自证外生恒定 + key-cycle
薄版 + 已存在不覆盖);auto-vs-golden 真跑 delta=0(打地鼠自动 spec 驱动 vs 金标 9 门全
一致,F_wiring 在自动 spec 下真验语义期望仍过)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 04:40:04 -07:00
lili
7dffe6b2c1
feat(cheap-worker): 便宜档预算闸 <¥10 fail-closed 接线 + 成本落盘(M1 U4)
...
开 CircuitBreakerMiddleware 的 ¥ 累进硬闸(enable_rmb_gate=True)+ 设便宜档专属 ¥10 硬
上限(区别 tier2 ¥3);on_model_call 发起前预估、越线 fail-closed 抛 Tier2CircuitBreak
(budget);取价不可达由 _ensure_pricing 降级次数闸(既有行为,不静默超支/阻断)。run-summary
补 costRmb(breaker.spent_rmb 同 new-api quota 折价口径)/ rmbGate(active|degraded)/
tokens(usage_sum)。
验证:test_budget_gate.py 6/6(¥10 fail-closed / 正常不拦 / 边界 / 降级放行 / 开关旁路 /
¥10 与 tier2 隔离);真跑一款打地鼠成本落盘 costRmb=1.1373<¥10、rmbGate=active、tokens 462642。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 02:01:20 -07:00
lili
6b334ff738
feat(amodel-gen): 形状门泛化到全 void 方法返回值误用 + 防回归单测(M1 U1)
...
KTD2 实证现有形状门已接住 base2/base3 两类已知幻觉(check 跑两款各 FAIL 于唯一形状门
错误;翻车产物早于形状门落地 3.5h),据此把形状门①从硬编码 drawButton 泛化为
apiVoidMethodSet 全 void 方法的赋值/链式返回值消费检测,②补 define 数组批量变体。形态
收窄到赋值/链式——base1/4/5 合法 void 调用(独立语句 / if(guard)call() 防御写法)实证
零误杀;条件/参数形态会误杀防御写法,移交 WU-C 5.4。判定抽 _shapeGateErrors 便于单测。
验证:check.test.mjs 11/11(靶子 catch + 泛化4方法 + 链式 + 零误杀6类);check base1-5
行为不变(base1/4/5 PASS、base2/3 FAIL);真跑重新生成打地鼠过九门(E_live 进对局
distinctStates=52、H_progress score 0→44)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-27 02:01:20 -07:00
lili
08fab84b81
docs(.agents): 蒸馏 M1 双评审 — parity harness 补『自动 spec 期望外生防自证』
...
Opus 评审从 M1 U2 揪出:自动 spec 的语义期望字段(F_wiring 的 expectedEngineCallPrefixes)若从被测局实际调用反推,门退化成自证、必过、假绿。held constant 铁律在单路自动 spec 上的化身=期望基准必须外生(预置品类→前缀映射表)。补进 gen-path-parity-harness skill + README 索引。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 23:11:51 -07:00
lili
f0355f98ef
docs(M1-plan): 便宜档 M1 达标门绿细化 plan — 双评审定稿
...
切片一第一里程碑细化(4 实现单元:护栏 / 自动 spec / 达标门 / 预算闸)。
过 Codex + Opus 双评审(均判修后可执行)+ 创始人三项口径已定:
- U2 防自证假绿:expectedEngineCallPrefixes 取预置品类映射表作 held 期望、非从实际反推(否则 F_wiring 退化自证必过)
- M1 收口钉死 = M3 20 款实测、tap-targets 三品类逐品类 pass_count/total≥0.8;小批=联调非收口替代
- R5/U3/R3 串行→前台进程内有界并发(conc≤15,对齐 002 run_multi);U3 补 U4 偏序
- U2 同质数值化(逐门全等 / delta=0 / 关键门不低于金标);落点校正(middleware 类 172 / cost.py 路径前缀 / fetch_pricing_params 107)
- 创始人定:覆盖面只 tap-targets 三品类 / 横比延后 / 取价沿用既有降级
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 23:07:22 -07:00
lili
618eca14d4
docs(gen-plan): Codex 四维度专项评审 10 项修复 + 蒸馏两坑
...
Codex 末轮重连完整产出,双评审真正凑齐。修复:
- §7 切片三补进 WU-C/WU-F 对账(对账漏面);WU-D 补第二批协议 ADR-1/2/5 接收方
- 切片二 n=5 钉死追加轮数上限(≤3 轮 / 累计 n≤20);切片三 A11 补三条结构断言完成判据(改动生效/非目标模块 diff 稳定/baseVersionId 血缘)
- M2 同等过门率补 delta 阈值口径;基建线三项补最小验收判据
- §5 依赖图排队顺序改虚线、硬前置改实线+图例(防误读成阻塞依赖)
- M3 限定生成线端到端+非生成模块归 16 周主计划;§6 补生成线 P0 承接子集
- skill execution-plan-slicing 补第六/七坑(判据未钉阈值 / 依赖图把排队画成依赖)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 22:27:11 -07:00
lili
d9786950d6
docs(gen-plan): Opus 四维度评审修复 — 达标按品类/§7 八面对账/切片三完成判据
...
四维度(任务顺序/目标一致性/任务边界/可验证完成)专项评审,Opus 全过无必修,9 处建议/可选已修;Codex 三次占位+连接中断,按 §8 回落 Opus 单评。
关键修订:① M1 ≥80% 改"按品类判、核心品类全覆盖"防达标假绿(对齐 002);② §7 WU-C 5.5 能力面主体归切片二、注册子项留基建线、补 5.3,八面对账闭合;③ 切片三补显式完成判据(两档落地+过九门+接 A2A/D12 跑通一次受计费调整);④ M3 补后端 studio 移交边界 + 生产分布达标复验;⑤ 切片二结构化门标可并行;⑥ §7 WU-F 下钻补 §5.2/§5.7;⑦ §11 TODO 补 A11 设计面缺口。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 22:02:53 -07:00
lili
f0e5638c9a
docs(gen-plan): 补回切片一迁移安全契约 + 立"执行契约必须留"换轴判据
...
创始人 catch 换轴丢细节:核出被压缩的 WU 内容分两类——设计 HOW(八面/三档矩阵/A2A·cancel·幂等协议/6 ADR)归位设计 SoT 无碍(§7 对账可下钻),但 WU-A 便宜档灰度迁移契约 11 项(链路/灰度 flag/对照/幂等/在途/切换门槛/回滚)是执行契约、被误当设计细节压掉,补回切片一。
skills/execution-plan-slicing.md 立第五坑 + "设计 HOW 移交设计 SoT / 执行契约必须留切片"的判据;README 同步。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 21:17:31 -07:00
lili
de496321c6
docs(gen-plan): plan① 换轴重构为纵切执行序列 SoT + 蒸馏切分轴 skill
...
把生成引擎统一执行计划从关注面横切(WU-A..F)重构为成果纵切三切片(便宜档达标上线 / tier2 go/no-go / A11 调整回路)+ 基建线 + 已冻协议基线,WU-A..F 降为 §7 设计面对账。补上执行序列 SoT 这一缺失的中间层(夹在设计 SoT 与切片细化 plan 之间)。canonical 唯一性门:原地重构、文件名保留、旧主轴降对账。
过 Codex + Opus 双评审,必修项已修:假前置门(A1-A13 定级设计 SoT 已冻、非待拍)/ 散文元叙述 / 切片三对切片一真依赖(A2A·D12)/ §7 对账补全八面 / 插件数 11→12 / base 编号去掉。
蒸馏:新增 skills/execution-plan-slicing.md(横切 vs 纵切判据 + 换轴动作 + canonical 唯一性门 + 四坑),README 索引同步。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 18:13:09 -07:00
lili
b7b3982d5c
docs(运维): 落档生成容量与并发规划 — MVP→规模期阶梯表 + 100 并发分析
...
回答'一次生成占多少资源/单机扛多少并发/N 并发要几台'。容量画像:模型推理
在云端(算力不在我方机器),本地瓶颈是 Chrome/esbuild 抢 CPU 非内存(实测每局
~0.8G、8 核 32G 3 并发 2.3G、9 并发拖慢);生产=异步队列+有界 worker 池
(N 用户≠N 同时)。分档阶梯表(4c8g 好吞吐 3-4 / 8c32g 6-8 / 便宜档并发上限
≤15 是 8 核天花板 / 16c~14 / 32c~28);100 并发该上大单机或云 microVM 弹性、
真瓶颈是 MiniMax 配额+网关非机器数;MVP→规模期两套账。三项待确认(配额/
物理机vs microVM/mini-desktop 规格)。运维 README §8 立位+指针。
2026-06-26 12:33:25 -07:00
lili
0b34b4eb57
docs(.agents): 蒸馏 WU-A 后续对照验证 harness 范式
...
新 skill gen-path-parity-harness:两条生成路对照验证(parity)的可复用范式。
核心铁律 = 对照公平靠驱动器 held constant(每品类金标 play-spec 喂两路,
把驱动器从对照变量摘掉);金标只对 tap-targets 族公平(key-cycle 按键是
生成侧自由选择、不在 forensics 契约,需输入键契约);注入 = 生成与 play
拆步 + 金标覆写 staged 真路径(非 evidence);判据 = 两层 + 逐品类绝对地板
+ 双低标红(防 flaky 基线假等价);成功定义钉死「金标 spec 下」≠生产许可;
端口池 + 线程前台有界并发。WU-A 后续 cheap-worker/compare_node.py 实证、
双评审揪四坑固化成铁律。README 索引同步。
2026-06-26 11:48:45 -07:00
lili
04dbd0608b
feat(cheap-worker): compare_node 加有界并发(端口池+线程,可选)
...
并发的真正约束=九门 play/smoke 固定端口+Chrome 实例(gameId 前缀已隔离产物)。
查清整条链端口可参数化:gen.mjs --port/--cdp(done 门 smoke 用)、play.mjs
每次独立 spawn server+Chrome+userDataDir。据此:
- _port_pool:每并发槽一对独立 (server_port,cdp_port),段不重叠。
- run_pair_sync:同步整对跑(线程内 run_studio 自带 loop)。
- run_multi 加 conc:端口池(size=conc 天然限并发)+ asyncio.to_thread 每对一线程
+ gather。conc=1 串行;conc>1 有界并发。前台进程内有界并发,非后台子代理 task。
- _gen_node 传 --port/--cdp 给 gen.mjs(并发防 smoke 撞端口)。
CLI 加 --conc。test_compare_multi 14/14(+端口池不撞)。
2026-06-26 11:00:00 -07:00
lili
3a117c1ac4
feat(cheap-worker): U2 compare_node 三品类对照 + 金标 spec 注入(生成/play 拆步)
...
cheap_studio.run_studio 加 run_gates 开关:gen-only(=False)跳过内部
ensure_play_spec+九门 play,让对照方在生成与 play 之间注入金标 spec。
compare_node 扩三品类×n:两路各 generation-only → 强制覆写金标 spec 到
staged _wg1-gen/<id>/play-spec.json(play.cdp.cjs 真实读取处,非 evidence)
→ 各自单独 play,把驱动器从对照变量摘掉(对照公平)。judge_genre 两层判据
+ 逐品类绝对地板 + 双低标红;按品类聚合产框架等价证据(金标 spec 下);
前缀隔离串行;报告分批次不覆盖。
修双评审:金标注入 staged 真路径(Codex C1/C4)、判据绝对地板防双低假等价
(Opus O4/F2)。test_compare_multi 13/13;回归 test_compare 8/8 零破。
2026-06-26 10:49:47 -07:00
lili
369d5bad9b
feat(cheap-worker): U1 三品类金标 play-spec fixtures
...
点击得分/打地鼠/经营点客三份金标 play-spec(均 tap-targets occupied +
score 递增门 + expectLatch),formalize base1/base2/base4 验证过的 occupied
spec,作对照实验的恒定驱动器。只依赖 forensics 契约、不绑定具体游戏坐标。
test_golden_specs 6/6:schema/品类对位/契约依赖/无放置族-keycycle-safeOnly。
2026-06-26 10:43:39 -07:00
lili
e73eed6585
docs(plans): WU-A 框架收敛剩余 — 便宜档 Python 路 tap-targets 三品类对照验证
...
WU-A 自有剩余工作收敛为「对照验证」一件:三个 tap-targets 代表品类
(点击得分/打地鼠/经营点客)Python↔Node 同输入对照,用每品类金标
play-spec 喂两路、把驱动器摘出对照变量,产「Python≈Node、范式未回退」
的框架等价证据(R1 头号风险头道缓解闸)。
范围按 plan① 的 WU 分解钉死:生成质量归 WU-B/C/F、生产自验 play-spec
与驱动器加固归 WU-C 5.4、灰度基础设施归 WU-F,均不在本计划。key-cycle
两品类(2048/躲避)公平对照需输入键契约,延到 WU-C/生成侧就位再做。
零跨档(全在 cheap-worker/)。
过 Codex+Opus 双评审(§8):base1 归 occupied 反应族(非放置族)、金标
spec 注入 staged play-spec.json(非 evidence)、判据加逐品类绝对地板、
退役授权 gate 在生产自动 spec 达金标同等(auto-vs-golden delta)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 10:38:17 -07:00
lili
f084018f9b
docs(.agents): 蒸馏 WU-A spike — AgentScope 2.0.2 便宜档实现 API 速查 + 旧 W-G1 路标退役
...
- agentscope-2.0-facts.md 补「便宜档 cheap-worker 实现 API 速查」节:精确 import 路径 +
三个不存在的 API(register_tool_function/ReplyBudgetControlMiddleware/内置 ReAct 跑满即退) +
Agent 构造(BYPASS 必给)+ model 直调形态 + 跨包 import + 代理旁路时序 + tier2 框架层复用清单。
- cheap-model-game-generation.md 加状态头注:标本篇 W-G1/gamedef-factory 为 reframe 前旧路,
便宜档已迁 cheap-worker(Python/AgentScope),区分跨路有效(成本/代理坑/模型画像)vs 已失效(factory/套壳)。
- README 索引两行同步。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 06:18:33 -07:00
lili
675a8e688b
feat(cheap-worker): 便宜档 Node→Python 重写进 AgentScope spike — 范式可移植坐实
...
WU-A 迁移面 spike:便宜档生成核心(多轮 ReAct + 五工具沙箱 + done 门)用 Python 在新建 cheap-worker/
重写成 AgentScope agent,import 复用 tier2 框架层(model client/四道熔断/历史压缩/observability),
check/build/九门 shell-out 现有 node/cjs(不重写 esbuild/CDP/形状门)。
- U1 地基:跨包 sys.path import tier2 worker + 代理旁路 + key 从内网文档注入 env + M3 装配
- U2 五工具:read/list/write Python 实现 + check/build shell-out(形状门三态与 Node 一致)
- U3 LittleJS system prompt:prompt.mjs Python 化(两条 footgun 正反例 + 输入契约)
- U4 scaffold/stage/play 薄壳 + ensure_play_spec(据 state 形态产 play-spec 治链路假绿)
- U5 ReAct 主编排:内置 Agent+ReActConfig+外层有界 resume + done 门 + 收口 stage/smoke/九门
- U6 对照 Node:产物形态 + 九门逐门 + 过门率对比
验收:同 brief Python 新路 vs Node 旧路,产物都真 src/ 6 文件、九门都 9/9 全 PASS、过门率 1.0=1.0
→ spikePass=True。端到端单局 attempt 1 一次收敛、148s。落点 cheap-worker/ 对 tier2/amodel-gen
零改动(结构性零回归)。测试 38/38 全绿。
origin: docs/plans/2026-06-26-001-feat-cheap-worker-python-spike-plan.md
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 02:42:14 -07:00
lili
9fe50a4fee
fix(amodel-gen): 治便宜档生成幻觉 + 补 play-spec 链路(九门基线剩两层根因)
...
便宜档九门基线诊断后,治创始人选的剩两层:
- 层1 生成幻觉:M3 对插件参数形状/返回值幻觉(drawButton 返 void 误赋值、
sceneFsm.define 单对象批量),check 门只查方法名存在 → 带病过 check+build+smoke。修:
· prompt.mjs + littlejs-game-dev.md 补两条 footgun 正反例(drawButton 返 void、
命中用 pointInRect;define 逐场景调)
· tools.mjs check 加形状静态门(拦 drawButton 返回值赋值 + define 单对象批量)
- 层2 链路假绿:stage 不产 play-spec → 裸跑 driven=false → E/H 降 advisory → 假绿。修:
· tools.mjs ensurePlaySpec 据 _forensicsView 形态自动推 driver(有 targets→tap-targets/否则 key-cycle)
· play.mjs smokeBoot 抓 _forensicsView().state();gen.mjs done 门 smoke 绿后调用
验证(vf-* 干净重跑):
- check 形状门对 base1/4/5 好游戏零误伤、对 base2/3 幻觉精准命中
- vf-mole 打地鼠(base2 同类):卡menu/E·G·H挂 → 九门全过、进 play(drawButton 幻觉治好)
- vf-2048 合成(base3 同类):define 已写对(幻觉治好);仍卡 menu = 新发现 key-cycle driver
缺起局点击(menu 用 tap、play 用 key)= 第三层 driver bug、非本两层,下一步小修
- 两款 playspec 自动产、driven=true(假绿终结)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 23:15:42 -07:00
lili
8b491d1330
fix(九门): latch 终态口径修法 — 命名同义 + 限时类有进展降 advisory
...
便宜档当前 HEAD 九门真实基线诊断(n=5 收敛环):harness 健康、3/5 真可玩;
0/5 主因 = latch 终态词表 bug(只认 gameover、漏 over/win/lose)+ 限时类
driver 玩不到终局。按创始人 2026-06-25 口径修 play.cdp.cjs:
- latch 认 gameover/over/win/lose 同义(对齐 driver 家族 runTapTargets)
- 未达终态但有真进展的限时/无快速失败态类 → latch 降 advisory(不致命),
无进展仍致命(不放水)
- 验证:base1-5 重跑 0/5→3/5(base1/4/5 真可玩转绿,base2/3 卡 menu 无进展仍正确挂)
SoT① §5.4 同步 latch 口径演进(文档↔代码兑现)。
附:docs/内网凭据与端点.md 登记 glm-5.2(opus 高级档/512K,作复杂档证路高级档)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 22:26:37 -07:00
lili
f3d4bc1f24
docs(gen+master-plan): ①③ §0 门面图落地 + §6.8 收尾三修(F4/F7/CT1)
...
- ① 生成引擎执行计划:补 §0 门面《生成引擎执行总览》SVG(6 工作单元依赖+状态)并 embed;F7 退役映射 06-18-001 行注明两 contract-first 待办随 gameDefinition 声明式路废弃而 moot
- ③ 上线主计划:补 §0 门面《上线主计划 16 周轴》SVG(16 周泳道甘特+日历闸门+55 P0 挂点)并 embed;F4 aigc「GameConfig 生成」加 A-model 写真 src/ 兑现、非声明式 JSON 消歧
- 003 tier2 子计划:CT1 注明子计划有效边界(Phase A U1–U7 有效 runbook / Phase B U8–U10 以 HANDOFF 为准)
- 两图均过 atlas 复验:XML 良构 / 不溢出 viewBox / 脚注全角「:」/ 无裸 &
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 18:01:15 -07:00
lili
0000ade12d
docs(svg): 全域 SVG reframe doc-sync — 配图两线→三档 + 脚注死链 repoint
...
- 结构重画:03-两条生成轨边界 / 07-全局两线与tier体系(两泳道→三档统一 AgentScope、引擎随复杂度选 LittleJS/Phaser)。
- 文字/framing(全域 SVG):两线→三档、SAA 廉价线→便宜档、AgentScope premium 独立轨→统一框架、超休闲档→轻量、tier2 远期/待 spike→accept(实线)。
- 脚注死链:自治富游戏引擎.md / agentic集成架构.md / tier2实现详设.md / tier2四层工程架构.md(均已并入 SoT)→ agentic运行时架构图说.md;全域 SVG 零死链。
- 07-泳道 tier2 框 紫虚线→实线现行(accept、核心已落)。
- MD doc-sync:删 4 处"待重绘 mini-desktop"注(图已重画)、①③ §0 / README / SoT 注脚去 mini-desktop(全归本机)。
- atlas house-style 复验:良构 / 界内 / 脚注全角「:」/ 无裸& 全绿;t2-E-04「两线分立(06-23)」已加注 06-25 reframe 取代之、作留痕。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 13:07:49 -07:00
lili
4f7eae5d7a
fix(reframe收口): F1=(B) 便宜档 Python 重写三档同构 + 创始人 4 决策 + ①③ 转正式
...
- F1=(B)(创始人 2026-06-25 拍板):①WU-A 从「JS 留、只换外层」改为「便宜档 Node amodel-gen
整条用 Python 重写进 AgentScope agent、三档彻底同构」(Summary / Decision1 / WU-A 拓扑+迁移归属
+迁移契约 / mermaid / R1 / 吸收映射 / 排期 全口径对齐;Node 旧路灰度兜底、≥80%+对照等价才切默认)。
- §8 双轴:生成引擎 README §8 加 L1/L2/L3(产品 / 创作者轴)↔ Tier0/1/2(技术 AI 深度轴)对应关系表
(两套保留、不合并、非 1:1)。
- ③ 留存口径笔误:次留 ≥35% / 7留 ≥40% → 次留 ≥40% / 7留 ≥35%(符合 D7<D1)。
- ① canonical:true(reframe 后唯一执行 SoT、受 canonical-uniqueness 门保护)。
- ①③ status 草稿 → 正式(§6.8 双评审过 + 必修已修 + F1/§8/留存 等决策已落)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 12:31:32 -07:00
lili
4e801d5e8a
docs(reframe收口): 生成引擎 reframe 全层 doc-sync + 统一执行 plan + 上线主计划 SoT + §6.8 双评审
...
双查一致性(Codex+Opus)→ 修问题 → 出 plan 全链收口。
修问题(reframe 全活层 doc-sync · 框架统一 AgentScope / 三档按 AI 深度 / 去超休闲 /
A-model 写真 src/ / tier2 spike accept · n=5 收敛环 / 预算闸 <¥10·<¥50):
knowledge 三件套 + 顶层图说 00/01/02/05 + 6 域 README + 5 mvp 账本 + skill·workflow +
agent-specs(_index / 演进路线降留痕);系统性死链 自治富游戏引擎.md → 运行时 SoT repoint(7 档)。
AGENTS.md:§2 收敛上线主计划 SoT、§3.1 入口自审 reframe 对齐。
出 plan:① 生成引擎统一执行计划(新建 · 统一三档 · 吸收退役 06-18-001/06-19-001/003);
② 4 份重复 plan 退役/并入/去两线 banner;③ 可行性方案16周 就地升格为项目上线主计划 SoT(canonical)。
§6.8 双评审(Codex+Opus)6 必修已修:WU-A 真实拓扑+JS留+迁移契约 / A11 孤儿接缝(①WU-B↔③阶段三)
/ 三档拆清 / ③ 过度表述 / 人办清单 n≥30→n=5 / 死链。
tier2/HANDOFF.md:n≥30→n=5 + agentscope-runtime→2.0.2 Workspace doc-sync banner。
①③ status=草稿·双评审已过·待创始人确认 F1(WU-A 迁移归属)后转正式。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 12:14:25 -07:00
lili
f5429b1ada
docs(生成引擎): §5.2 配置发布边界 — 重要配置走 yudao 审批=受治理发版(后期阶段)
...
创始人 2026-06-25:质量/安全、关键 agent、关键玩法模板等重要配置变更走配置发布流程
审批,通过后发布——即使不重新部署服务代码,因影响生产稳定/质量,本质是受治理的「发版」。
复用 game-cloud 现成 yudao 能力(huijing-module-bpm 工作流 + huijing-module-infra 配置管理),
不自研(build-vs-buy 现货优先),后期阶段做。非关键配置仍即时/热更、零服务发版。
落 §5.2 管理面 + ADR-4 write 路细化 + §配置三类「不发版」口径澄清。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 09:53:29 -07:00
lili
e3a0c3c661
docs(生成引擎): SoT① reframe 新模型 — 框架收敛 AgentScope·三档按 AI 深度·两引擎实现
...
把生成运行时 SoT 校准到 2026-06-25 创始人核心 reframe:游戏生成统一由
AgentScope 一套框架编排,按 AI 参与深度分三档(Tier0/1/2);引擎按表现复杂度
选(轻-中档 LittleJS、最富档 Phaser),引擎是实现、不是分档轴;SAA/dify 降为
最低优先级、留作后期"验证框架可插拔"的适配目标,不再是 co-primary 活线。
扫尾把残留旧框架口径(两条线/两线/两实例/富游戏线/SAA 作 co-primary)校准:
§四标题→生成实例(三档·两引擎)、L66 ASCII 图框架行、§二补②可移植性收益、
§5.2/5.5/5.6/5.7/5.8 各 facet"两条线→各档/两引擎"、SAA 能力面框架定位改远期
适配、trace 契约改多框架 adapter。引擎技术内容(engineBundle/Phaser src/工程/
九门 harness/CDP 探针)、gamedef 废弃史、主会话所写段落原样保留;SAA 裸图技术
描述保留,只改其框架定位。
验证:框架线标签词散文清零(仅余 svg 文件名);品牌门 造梦AI=0;死链门=0。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 09:36:36 -07:00
lili
b31cc37a4f
chore(brand): 造梦AI→绘境AI 全活层品牌不变量收口(441 文件)
...
把活层退役旧品牌「造梦AI」统一改为现行「绘境AI」,brand-invariant 门红线归零。构成:
~412 Java @author 署名 + game-studio/index.html 浏览器标题 + game-runtime/package.json 描述
+ game-admin/.env VITE_APP_TITLE 运营后台标题 + contracts API title/@Schema 用户协议示例/events 描述
+ docs-design mockup 品牌位 + 各模块注释。全是注释/显示/元数据,零逻辑改动。
zaomeng 拼音持久化标识符按 2026-06-24 评审 GR-05 不动(347 处保留)。
白名单(docs/ip 法律备案 / _archive / 带日期留痕)与 AGENTS.md 门定义自身不动。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 08:29:11 -07:00
lili
ce7a4850eb
docs(gen-engine): 删 18 个已退役 stub + 全部引用直接重指 SoT
...
2026-06-20 域化重构留的 18 个「已退役」tombstone(每个~400B 一句重定向)
现已删除:其设计内容早已收敛进 canonical SoT agentic运行时架构图说.md
(17 份)/ README.md(生成引擎图说 1 份)。把全仓 40 条指向这些 stub 的
markdown 链接直接重指到目标、不再绕 tombstone,按各引用文件位置算正确
相对路径。架构 README 索引把 6 个 stub 行合并为单一 SoT 行。
留痕档(brainstorms/agent-specs)只改链接目标、不动叙述。
保留:SoT 本身、tier2细节图说-G-spike-runbook(25KB 真内容)、
其余 canonical 档(README/验收门/prompt治理/数据飞轮/OpenGame对照/WG1基准)。
验证:check-deadlinks.sh = 0 死链;品牌门活层零退役名残留。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 08:04:07 -07:00
lili
a2a8266416
docs(生成引擎): SoT① 36 张 SVG 改渲染嵌入 (原反引号路径不渲染)
...
§四/§五 各 facet 末尾的 SVG 引用原写成 `assets/x.svg` 反引号路径(只显示路径、不渲染);
按 md 图片嵌入式  逐张转,每图独立成块。36 张全部对应 assets/
真实文件。图本身仍是 spike 前视角(§5 开头 caveat 已注明,svg 重绘待出图管线)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 07:02:39 -07:00
lili
374e30805d
docs(rules): build-vs-buy 补生命周期/归档硬查 + 仓内 .agents/knowledge grep 前置
...
R1「维护健康度」加生命周期状态硬查(归档/deprecated/停更/已并入上游;归档项不得作首选);
R4① 仓内 prior-art 扩到 .agents/knowledge 蒸馏事实 + 候选生命周期核查。教材案例 2:
agentscope-runtime 归档项被荐为首选、漏仓内已记结论,双失。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 03:25:19 -07:00
lili
d4eb4b1197
docs(生成引擎): SoT① 收口定稿 — §二补二 成熟度五列 + §二补三 6 条 build-vs-buy ADR + §三 定级冻结
...
§6.8「采纳但修」收口:补标准成熟度五列(操作化 §二补①)+ 6 条 build-vs-buy ADR 决策矩阵
(每条 ≥3 具名候选 + 排除理由)。纠 ADR-5/6:agentscope-runtime 独立仓已归档、能力并入
agentscope 2.0.2(Workspace/app/event),改判走 2.0.2 内置件——沙箱=2.0.2 Workspace(工具
沙箱非 CDP)+ tier2 自家 CDP harness;扩容=2.0.2 Agent Service,跨机 durable-exec future-state。
L247 同步。(c)选型 spike /(e)n=5 收敛环留作执行 plan、不在文档完成范围。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 03:25:19 -07:00
lili
42eafd876a
fix(studio): StudioModifyTarget 示例与 studio.yaml 契约镜像对齐(去 gamedef)
...
Step6 改了 contracts/api-schemas/studio.yaml 的 path 字段示例(去失效的
/gameDefinition/scenes/2),其 Java VO 镜像 StudioModifyTarget L25 @Schema
示例漏同步。补齐:/gameDefinition/scenes/2 → /files/src/game.js,保契约
yaml↔VO 一致(端点/字段结构不动,仅示例措辞)。
验证:mvn -pl studio-server -am compile = BUILD SUCCESS。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 02:31:02 -07:00
lili
0fa1cda1b7
feat(studio): inject.ts 去 gamedef 化石注释 + CSP 收紧(撤 unsafe-eval)
...
产物沙箱 inject.ts 外科改(两条加载路径主体不碰):
- 删 L69-71 三行 gamedef 专属注释化石(声明式 gameDefinition behaviors/rules
+ gd-runtime new Function 编译执行的理由)
- CSP script-src 由 'unsafe-inline' 'unsafe-eval' 收紧为 'unsafe-inline':
两条活路径(A-model esbuild iife bundle / SDK Runtime 内联)皆静态打包、
不含 eval/new Function,'unsafe-eval' 纯属已删 gamedef gd-runtime 遗留需求,
撤之缩小 XSS 攻击面、不影响活路径
验证:cd game-studio && npm run build = 绿(vue-tsc 类型检查 + vite build
全过,✓ built;CSP/注释改动不引入类型错,无 spec 预警的 vue-i18n 红)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 02:28:56 -07:00
lili
5661e2015f
feat(contracts): source-project schema 挖 gamedef V1 子树(保留文件·收敛单 V2)
...
contracts/agent-loop/source-project.schema.json(A-model keystone 契约,
不可整删):
- 删 $defs/sourceProjectV1(schemaVersion "1.0"、含 gameDefinition 声明式表示)
- 删仅 V1 用的 $defs:entity / component / behavior / scene / rule
- oneOf 由 [V1,V2] 收敛为单 [V2];顶层 + profile/assetSpec description
去 "1.0 gamedef legacy" / "1.0/2.0 共用" 措辞
- 保留:整个 sourceProjectV2(A-model 多文件代码工件)+ 共用 profile/assetSpec
contracts/api-schemas/studio.yaml:StudioModifyTarget 的 path 字段示例
里 /gameDefinition/scenes/2 → /files/src/game.js(端点/字段结构保留,仅
更新失效示例措辞)。
验证:
- source-project.schema.json 仍合法 JSON(python3 -m json.tool 过),无悬空
$ref(删的 5 个 def 无别处引用)、无 V1/gameDefinition 残留
- studio.yaml 仍合法 YAML
- 经查无任何测试/运行期校验器加载本 JSON schema 做校验(存储层把
source_json 当不透明 blob),删 V1 纯文档级、不影响运行期/测试
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 02:27:28 -07:00
lili
94abac1507
feat(aigc): 外科挖 SAA graph 内 gamedef 分支(删分支·保节点/边)
...
按 spec 铁律「删 sourceMode==gamedef 分支、绝不删节点/边」,外科切除
SAA 编排里已废 gamedef(声明式 JSON + new Function)路线;factory/amodel
两路与图节点/边/装配全程保留。
main(4 文件):
- SaaPrompts:删 GAMEDEF_SYSTEM 常量、buildGameDefMessages;historySystem/
historyFirstUser/historyRepairUser 去 boolean gamedef 参数(恒走 iife/factory)。
- SaaGenNodes:删 validateGameDef(唯一调已删 build-from-source.mjs 处)+
validateNode 的 gamedef 分支;连带删孤儿 helper deleteQuiet。
- SaaStudioNodes:删 K_MSG_HISTORY_GAMEDEF(定义+ALL_KEYS);historyKey/
readHistory/appendHistory 退化去 gamedef 参数(恒 factory 键);generateNode
闭包切 gamedef 分支(组 messages/抽产物/历史 append 全退化为 factory);
modifyNode deterministic 点改恒 fail-loud、modifyRouter deterministic 恒 fail
(gamedef 是唯一支持确定性点改的形态,删后该路对 factory/amodel 恒 fail);
清未用 archetype 变量。SaaStudioGraph.assemble 节点/边零改。
- AigcExecutorProperties:saaSourceMode javadoc 删 gamedef 描述(字段保留,
factory/amodel 仍用)+ 删失效 cutover 门。
test(5 文件):
- SaaHistoryFidelityTest:gamedef 形态→factory(历史保真机制与 sourceMode 无关,
答案块改 ```js 工厂使 factory 抽产物自洽);
- SaaHistorySerdeTest:K_MSG_HISTORY_GAMEDEF→FACTORY;
- SaaAnthropicAssembleTest:gamedef 形态→amodel(P0-2 多形态回归);
- SaaStudioGraphTopologyTest:删 modify_deterministic_gamedef_unlocks_validate_route、
改 fail_loud 断言关键词(failureReason 已去 gamedef);
- SaaFullGraphE2eTest:javadoc/注释 gamedef 量测示例→amodel。
DifyCallbackServiceImplTest 的 SOURCE_JSON(含 gameDefinition:{} blob)保留——
源工件 blob 透传测试,不解析内容(spec 铁律:存储层把 source_json 当不透明 blob)。
验证(本机 mvn 真跑·全绿):
- aigc-server Saa*Test + DifyCallback*Test = BUILD SUCCESS, 139 run / 0 fail / 7 skip(skip=系统属性门控的真 LLM/harness e2e)
- studio-server StudioServiceImplTest 27/0 + SourceProjectServiceImplTest 17/0 = BUILD SUCCESS
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 02:24:08 -07:00
lili
d55030bf4a
feat(runtime): 删 gamedef 运行时核心(gd-runtime/build-from-source/2d-api)
...
gamedef 声明式 JSON + new Function 解释路线的 game-runtime 核心,随
gamedef 判废一并清除:
- 4 测试:src/host/{gd-runtime.test,gd-archetypes.test,build-from-source.test,gameplay-pitfalls.test}.mjs
- 4 被引文件:src/host/{gd-runtime.js,build-from-source.mjs,runtime-api-2d.d.ts,runtime-api-2d.md}
这 8 文件互相引用闭环、仅被彼此与那 4 个 gamedef 测试引用;A-model 全线
(src/core / src/plugins / host / _template / _generic)不依赖它们。
src/core/game-host.d.ts L25 一句史化石注释提及 gd-runtime(非 import),
属"绝不动"的 A-model 核心,保留,列入残留报告。
验证(必跑·删后绿基线):
- 核心 node --test src/core+src/plugins = 211 pass / 0 fail
- games/_generic 壳 = 5 pass / 0 fail(确认未误伤 _generic 标准插件壳)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 02:04:46 -07:00
lili
d0626e1f1c
feat(aigc): 删 gamedef skeleton 注入(三仓一物·成套清)
...
Plan A·Phase 2 的 Template-First gamedef 骨架注入整套删除:
- contracts/agent-loop/skeletons/{breakout,simon,tictactoe}.json(空目录随之消失)
- SaaSkeletons.java(纯 gamedef 专属:forArchetype 返 gamedef JSON 骨架)
- pom.xml(aigc-server)去 agent-loop/skeletons/*.json 的 classpath include
(templates/*.schema.json 等其它 include 保留)
- SaaPrompts.java 删 appendSkeletonIfAny 定义 + 两处调用(buildGameDefMessages
firstAttempt 分支翻转为 !firstAttempt 消空块;historyFirstUser gamedef
分支去骨架追加)
skeleton 是 gamedef 中间表示的"已过门结构参照",随 gamedef 路线废弃一并清。
验证:mvn -pl aigc-server -am compile = BUILD SUCCESS(Java 改动可编译)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 02:04:02 -07:00
lili
f6ebcb6b63
test(清扫): 删 gamedef 测试产物(13 个 gd-* + 3 brief)
...
- game-runtime/games/_wg1-gen/ 下 13 个 gamedef gd-* 测试产物
(gd-angrybirds/breakout/doodle/flappy/invaders/multiball/pong/
runner/saolei/simon/tetris/tictactoe/whack,均含 source.json,
untracked,物理删除);_wg1-gen 本体 + .agent + _goldenpath-probe
完好(192→179 子目录)。
- game-cloud aigc-server 测试资源 3 个 gamedef brief:
saa-e2e-briefs-{gamedef,diverse10,holdout}.txt(git rm)。
仅 SaaFullGraphE2eTest javadoc 示例引用(L71/L79),其读 brief
走 -Dsaa.e2e.briefFile 动态路径无硬引用、且整测 @EnabledIfSystemProperty
门控不入常规 mvn test;javadoc 死引用并入 Step5 Java 编辑清理。
验证:game-runtime 核心测试 211/211、_generic 5/5,删除无误伤。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 02:00:16 -07:00
lili
071f44713d
docs: 删 4 份纯 gamedef 死设计文档 + 修引发的活层死链
...
删除(gamedef=已废错误路线,2026-06-21 创始人判废):
- docs/brainstorms/2026-06-18-生成失败根因分析-requirements.md
- docs/brainstorms/2026-06-19-plan003-phase1验收闭环-requirements.md
- docs/plans/2026-06-19-002-feat-gendone-用对M3生成生死门-plan.md
- docs/plans/2026-06-18-003-feat-gen-quality-converge-and-m0-integration-plan.md
修死链:.agents/skills/saa-graph-orchestration.md 去掉指向被删
根因分析文档的失效指针(保留根因结论本身,SAA 编排史有效经验)。
边界档 docs/plans/2026-06-19-001(status=active、主体即 gd-runtime)
仍引用被删档(origin + 来源段),按 spec 划为"留待人判·别动",
其遗留死链列入收尾报告上报,不在本次授权内处理。
docs/agent-specs/_index.md 经查无指向这 4 份的链接。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 01:59:01 -07:00
lili
9cc8ab83c1
docs(总账): M2 行补 gamedef 判废终局历史(清扫前置)
...
延续 M2 行既有行文,在 gamedef 中间表示段落末尾补史:gamedef 于
2026-06-20 对抗裁决揭穿表达力天花板、2026-06-21 创始人判为错误路线
并删除(设计+代码全清),廉价线现行已切 A-model(LLM 在 LittleJS
增强发行版写真 src/ 多文件+调插件)。为后续删 gamedef 设计文档/代码
提供历史锚点。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 01:57:19 -07:00
lili
a0a46ae32d
docs(架构): gamedef reframe pass-2 — broader/沙箱档 + 残留 mentions
...
续上轮(banner+README),把 broader/沙箱档里 gamedef-当现行/迁移中清成「已废错误路线、
A-model 现行」(opus 代理 + 我补漏):
- 00-系统总览:左轨现行 gameDefinition→A-model 写真 src/,无迁移/cutover
- 03/架构产物沙箱:scanLogic(behavior.code/rule.condition 扫描)、new Function/unsafe-eval
标为已废 gamedef 路 build 段机制,A-model 真 src/ 经 esbuild 无 new Function;
**沙箱层(iframe/CSP/桥/九门)对两路通用、保留**;装载路 L146 改 A-model 现行
- OpenGame对照:L325「当前实现 gamedef」→已废、L318 smart_edit 注 A-model 文本补丁回归
- 验收门:九门收窄 91.7% 标为 gamedef 路历史实测 + 该验收策略引擎无关对 A-model 适用
- 数据飞轮:去「待 gamedef→src 迁移协调」(无迁移,gamedef 已废)
门:全仓死链 0。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 01:16:26 -07:00
lili
95d34c03f5
docs(生成引擎): gamedef=废弃错误路线 reframe — 8 banner + README §3-6(opus 代理)
...
创始人:gamedef 已删除/失效/错误路线。opus 代理 reframe(我核验 banner+README §3-6):
- 8 个 🚧 banner:「gameDefinition→src 终态迁移(plan 2026-06-18-001)」→「gameDefinition
已废(错误路线),现行=A-model 写真 src/;tier2 建设中」
- README(生成引擎):§3.2 终态硬约束改「gameDefinition 是已废错误路线」+ A-model 取代;
§4 第三类「factory/gamedef 双轨债」标随 gamedef 废弃消解;§6 cutover 里程碑门标作废
(✗ cutover 已废 → A-model 单线无双轨可切);线A/线B 能力工作对 A-model 路保留
- OpenGame/WG1/验收门/架构README banner 同改
门:全仓死链 0。(broader/沙箱档残留下一 pass)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 01:10:48 -07:00
lili
452d13d247
docs(生成引擎): SoT① §4.1 — gamedef=已废错误路线,廉价线现行=A-model 写真 src/
...
创始人:gamedef 已删除、失效、是错误路线。SoT① 实例一(廉价线)reframe:
- 范式:便宜模型直接写真 src/(A-model,2026-06-21 起)+ L2 插件 + 九门,取代已废 gamedef JSON
- 护城河 = 九门 harness(引擎无关、判能不能玩不判怎么写,切到 A-model 一行没动)
- 废弃路线 = gameDefinition(声明式数据壳+自由JS核+色块天花板;2026-06-20 裁决揭穿、
2026-06-21 判废)——不再「坚持它做 Tier0」,整条路被 A-model 取代
- §5.6 左支装载:「声明式结构化源」改「LittleJS engineBundle 装载(A-model 真 src/ 构建)」
门:全仓死链 0。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 00:59:55 -07:00
lili
770d1ba458
docs(tier2): 验证方式 n≥30 统计批跑 → n=5 收敛环(创始人指令,全档贯通)
...
创始人:「n>30 这个设计不希望再看到了。n=5,有错误再追加一次 5」。续 SoT① 后把 tier2
验证语境的 n≥30 统计批跑全改成 n=5 收敛环(并发跑 5、有错读日志/分析/修复、再并发追加
一次 5、收敛即 go、不收敛按收敛失败模式走退路 R1/R2/R3/KEEP):
- 003 plan:Summary/执行现状/KTD B门/mermaid/R11/U7/Open Questions 全 reframe;
退路树由「过门率<40%/<20% 统计阈值」改「收敛失败模式分流」(opus 代理执行、已核验)
- 01-产品图说:6 处「n≥30 统计待跑」→「收敛环 n=5」;§188 内外口径同改(不写已可对外背书)
- spike-runbook:status/§0 banner/G3 样本量(5×6=30→n=5)/G4/G5 退路树/跑序 全 reframe;
svg(n≥30/5×6/过门率阈值)经 banner 标为旧法历史、以 003·SoT① 为准
- origin brainstorm:加 supersede banner(留痕保留、标 B门 n≥30 已被 n=5 取代)
范围:只改 tier2;廉价线 SAA gamedef「≥80% n≥30」基线未碰(测成功率本身需统计样本,待创始人定)。
门:全仓死链 0。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 00:43:40 -07:00
lili
1cd3f01983
docs(生成引擎): SoT① 验证方式 n≥30→n=5 收敛环(创始人指令)
...
创始人:「n>30 这个设计不希望再看到了。n=5,有错误再追加一次 5」。
SoT① 6 处 n≥30 统计批跑口径改成收敛环:并发跑 5、有错(>1)读日志/分析/修复、再并发
追加一次 5、收敛即 go,不做 n≥30 统计批跑(frontmatter/§4.2/§5 intro/§5.3/§二补⑥e)。
§4.2 原 n≥30 与 n=5 收敛环并存的自相矛盾一并消除。批跑底座件保留(设 n=5)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 00:34:43 -07:00
lili
441304726b
docs(生成引擎): 收尾过时口径 — SoT① svg-caveat + 退役 76KB design(影子 SoT)
...
- SoT① §5 引用处加 svg-caveat:25 张 tier2 svg 是 0号 spike 前视角(虚线/「整图状态=建·
待 spike」是当时标记),现状以各面散文「现/建」为准、不以图虚线为准(svg 重绘待出图管线)
——一句覆盖全部,不逐张改(避免 caption 说已落、图画虚线的自相矛盾)
- 退役 76KB design(2026-06-23-接口协议层与可插拔模块-design.md):内容已并入 SoT① §三
(adapter A1–A13+B类)+§二补(§7 14问题)+003 附段,是同命题影子 SoT,零入链、干净退役;
完成原整理 plan 漏做的一步(保持同命题唯一设计文档)。其 line 40/42 tier2「待 spike」口径随退役清零。
门:全仓死链 0。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 00:24:22 -07:00
lili
e4cd505086
docs(架构): broader 档 tier2 状态 doc-sync — 清「待 spike/未落代码」(13模块/系统总览/产品图说/前端)
...
4 份架构档把 tier2 写成「待 0 号 spike、未落代码、远期·待建」,已过时。按 tier2/HANDOFF.md
+ SoT① 统一改成现状真相(核心已落 + 0号 spike feie-005 accept,n=1 机制验证、n≥30 统计待跑;
阶段1 Agent Team/控制面/feed 第二装载留 Phase B),未过度纠成「已完成」:
- 13模块:生成轨现状段 + 修 自治富游戏引擎/agentic集成架构 两 tombstone 链→SoT①
- 00-系统总览:图3/图8 散文 5 处(svg 虚线为 spike 前视角不动,散文点明现状以 SoT 为准)
- 01-产品图说:6 处状态口径;§188 内外口径精确改「已过 spike n=1、n≥30 完成确认可对外
背书后再同步」(非「已可对外背书」);MVP 55 P0/不单列 P-id/Cocos 决策全保留
- 前端README:tier2 承载前提 + 修 引擎与运行时/tier2实现详设 tombstone 链;L229 SLO 链→
SoT①(装载)+验收门(首局≤2s)
opus 代理执行、逐处核验(无过度纠偏/§188/MVP P0/死链 0/品牌净)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 00:20:11 -07:00
lili
a026153b4a
docs(生成引擎): spike-runbook doc-sync — 0号 spike 已跑 accept,清「待 spike/整体待建」
...
tier2细节图说-G:status 与 §0 的「0号 spike 还没跑/代码一行没落/整体待建」是 spike 前口径,
已过时。加 2026-06-24 更新 caveat:feie-005=accept(go),核心生成线/探针/九门+富游戏三门/
观测成本/n≥30 底座/服务化@8200 多数已落(见 SoT① §5、tier2/HANDOFF.md),本 runbook 现作
n≥30 统计批跑执行指南;svg 虚线为 spike 前视角不动,以 SoT① 为现状真相。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 00:12:48 -07:00
lili
1b97c55ca0
docs(生成引擎): tier2 doc-sync — SoT① §4.2/§5.x 按 HANDOFF 回写真相(§6.8 #1 收口)
...
§6.8 评审 #1 阻塞:SoT① 忠实搬运 spike 前源档、把已落 accept 的 tier2 写成「待 spike」。
按 tier2/HANDOFF.md(2026-06-24)+ 内网凭据 P4 回写真相:
- §4.2 headline:翻成「核心已落 + 0号 spike feie-005 accept(n=1 机制验证,n≥30 统计待跑)
+ 服务化@8200,判断=go(留观微调)」
- §5.1-5.8 八面「现/建」全部按 HANDOFF 翻新(已落:Phaser 探针+九门+富游戏三门、
四道收敛契约机器门、mmx、M3 接法、Tier2TraceMiddleware/成本折¥、L3软检、n≥30底座;
待:n≥30统计/阶段1 Agent Team/控制面后端/feed第二装载)
- 纠 2 处设计叙述错(spike 实测推翻):① 官方 ReplyBudgetControlMiddleware 2.0.2 不存在
→自建 on_system_prompt+硬熔断;② 纯内部多轮 ReAct 过早放弃→有界外层 resume(wg1范式回归)
- frontmatter status + §二补⑥(a) 标 doc-sync 已做;003 加「执行现状」块、修「待 spike」全局口径
门:全仓死链 0。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 00:06:38 -07:00
lili
e7d236197b
docs(生成引擎): §6.8 双评审修正 — adopt-standards 提案「采纳但修」
...
Codex(web 源验)+ Opus(repo 验真)双评审,总判一致采纳但修。文档内修发现项:
- SoT① §二:修 4 处平实错(「全收进 AAIF」归属纠正/可移植「白得」降为分层/
K-槽非反模式/microVM→SandboxDriver,后两条消 §6.10 兑现门反例)+ 表格
A2A cancel·MCP Tasks experimental·Langfuse read-write 三单元精修
- SoT① §二补:新增评审修正块(成熟度分层/可移植分层/扩容沙箱降 future-state+
≥3候选选型/慢门 job-poll/cancel contract/TraceLedger/自研域清单/收口 TODO)
- SoT① frontmatter:status 改 tier2 已落 accept(待 doc-sync)+ 双评审已过
- ② prompt治理 §5:热取分 read/write(运行时只拉已批准版本,write 走 GitOps)
- 003 附段:双评审结论(doc-sync 前置最高优先/5待决改 ADR/成熟度分层/沙箱扩容拆选型)
最高优先收口 TODO:tier2「待 spike」doc-sync 回写。门:全仓死链 0。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 23:49:48 -07:00
lili
adfbf7d65f
docs(生成引擎): SoT① Step7 — wave-close 门全过(修子树外 3 处改名死链)
...
官方 check-deadlinks 抓出 验收门-W-G1→验收门 改名后子树外 3 处死链,修复:
agent-specs/_index、architecture/README、运维/观测体系。
门结果:全仓死链=0 · 品牌「造梦AI」零命中 · canonical 4 topic 各一份 ·
入口卫生(SoT 活档无个人绝对路径/硬编码端口)零命中。
整理 scaffold plan 自退役(内容已落 SoT①/003/memory)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 22:56:01 -07:00
lili
c633e1abe9
docs(生成引擎): SoT① Step5 — 执行 plan 收敛(adopt-standards 路线并入 003 + 删后续路线图)
...
- 003 tier2 plan 收为 1 份「tier2/agentic 生成线执行 plan」:
· 附段并入 adopt-standards 上层路线(后续路线图 §5 第0-5步 + §6 五 build-vs-buy 待决,
标提案·待 §6.8 双评审)
· §Sources 属主设计档链:原 tier2 四份/详设等 → 指向 SoT①;spike runbook → 图说-G
- 图说-G spike-runbook:frontmatter 改为「执行 runbook(非设计 SoT)·配套 003」,
去掉指向已退役档的 hash 映射,标设计 SoT=SoT①,t2-G svg 在此 home
- 删 docs/mvp/后续路线图.md(未跟踪;设计入 SoT① §二/§三、路线入 003 附段)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 22:54:01 -07:00
lili
d97c828831
docs(生成引擎): SoT① Step6 — README 域索引归一(并入生成引擎图说 + SoT 导航)
...
- README §9 源档导航:加 4 份设计 SoT 导航(生成运行时架构/prompt治理/验收门/数据飞轮);
设计合理性裁决行 → 指向 SoT①(已并入)
- README §360:tier2 四份 + SAA/引擎/固定架构等 16 份 → 统一指向 SoT①(留 tombstone);
并入「看图入口」(P0 四电梯图 07-10 + tier2 36 细图 + 子系统图索引)
- 退役 生成引擎图说.md(总入口并入 README,tombstone 指针)
- 全子树相对链接存在性校验:无硬断链
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 22:48:36 -07:00
lili
fe6a2b4d98
docs(生成引擎): SoT① Step3 — ②prompt治理改热取 + ③验收门收敛 + ④数据飞轮 canonical
...
- ② prompt治理:加 canonical frontmatter;§5 新增"目标态:采 Langfuse 式运行时热取"
(按 id@label 运行时拉取+缓存TTL+后台刷新+回落,替构建期 maven 快照反模式;
四道闸治理纪律不变;对齐 SoT① A13)
- ③ 验收门:验收门-W-G1.md → 验收门.md(git mv);加 canonical frontmatter
(topic=对外开闸放行);修 3 处改名断链(生成引擎图说/OpenGame对照/WG1基准)
- ④ 数据飞轮:加 canonical frontmatter(保留)
- SoT① §5.4 指针校准:验收门=开闸放行6门(坐九门之上),九门护城河命题即在 §5.4+A5
- canonical 唯一性:4 topic 各一份,预检通过
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 22:43:47 -07:00
lili
bcde9acee2
docs(生成引擎): SoT① Step4 — 退役 17 份被并文档(tombstone 指针)+ 图引用归位
...
16 份图说/详设 + 设计合理性裁决,内容已并入 SoT①,替换为 tombstone 指针
(保留路径=保入链,各指向 SoT① 对应章节;原文存 git 历史):
- 并入①:agentic集成架构/自治富游戏引擎/tier2四层工程架构/tier2实现详设/
tier2细节图说 A-F·H/SAA编排/SAA能力API-dossier/开闸接线/引擎与运行时/固定游戏架构
- 结论并入①后退役:设计合理性裁决
图引用归位:07全局两线→§四、09廉价线端到端→§4.1、08长生命周期→§5.6、
00-06 tier2总览→§4.2(消孤儿);修 typo gamefdef→gamedef。
SoT① 现引用 36 张 svg、全部存在、无 dead 链。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 22:36:27 -07:00
lili
2aa2ffec2f
docs(生成引擎): SoT① 补 开闸接线覆盖(§4.1 实例一创作入口开闸)
...
一句话直接驱动 + templateId 可选缺省 generic + 玩法模板=品类框架,
补进实例一,使 16 份待并入文档全部被 SoT① 覆盖,可退役。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 22:33:24 -07:00
lili
27584a1fdb
docs(生成引擎): SoT① Step2 — 8 facet 并入(运行时形态/控制面/ReAct/校验九门/能力面/源项目/观测/四层)
...
经 4 个非重叠抽取代理浓缩 ~2600 行源文档,亲笔写成散文并入:
- 5.1 运行时形态:Agent Service/session三路/Agent非常驻+AgentState/Workspace双轴/Middleware洋葱
- 5.2 控制面与配置热取:四组件/采Langfuse热取替构建期快照/热改vs GitOps/三层预算强制/管理面三phase
- 5.3 单写ReAct循环:一轮闭环/多轮进Agent内/四熔断+硬闸自建/M3原生接法/承A-model
- 5.4 三层校验与九门:L1/L2/L3+九门逐门+富游戏三门(联动/经济/latch)+advisory分级+自产driver三层隔离
- 5.5 能力面:九工具三类/引擎能力包五件套/prompt两阶段/A-model四插件复用/SAA能力
- 5.6 源项目契约与装载:七要素四组/独立schema不复用/第二装载分支/finish共用schema
- 5.7 观测与成本:统一trace契约(对称核心+扩展段)/采OTel GenAI/成本钉new-api quota
- 5.8 四层职责:职责视角叠真实结构/复用边界二维/六项该删改官方/三类配置
治理:零 file:line/hash/实现代码;九门逐门归本文运行时视角,验收门完整命题指向 ③。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 22:27:39 -07:00
lili
aad4d8c16c
docs(生成引擎): SoT① 骨架 — agentic 运行时架构统一 SoT(采标准+adapter+两实例)
...
收敛 16 份图说/详设/接口协议草案为单一 SoT 第一步:写框架。
- 命题:可插拔 agent 平台(adapter + 框架可换 + 两块自研护城河)
- 采标准对标:A1/A2→A2A、A2.5→OTel、A7→MCP、skill→SKILL.md、
沙箱→microVM、扩容→durable-execution、A13→Langfuse 热取;
自研只剩 checkpoint/续跑 + 确定性验收门
- adapter 协议层:A1–A13 固定协议目录(数据模型/接口,剥 file:line/hash)
+ B 类可插拔模块(引擎包/探针/框架适配器/渠道/资产/模板/合规原子)
- 两实例:SAA·LittleJS 廉价线(Tier0/1,含裁决结论)/ AgentScope·Phaser 富游戏(tier2)
- 八面 facet:Step 2 待并入区,各给 scope + 来源
治理:零实现代码/行号/hash 进文档;采标准方向为提案待 §6.8 双评审。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 22:07:42 -07:00
zizi
fdc9ecd50b
fix(tier2): 控制面 SSE 等待防永久卡死(read 超时;008 实证)
...
cp-smoke-008 实证:控制面在 attempt 0 卡死 60min。根因 = _wait_for_turn_end 的总/空闲超时检查写在
aiter_lines 的 line 循环【体内】,而 httpx read=None;当 SSE 流【完全静默】(008:服务端 3 次 redis
超时打断了事件发布 → 既无 data 也无心跳)时 aiter_lines 永久 await,没 line 进来 → 超时检查永不触发 →
控制面无限挂。修:read=idle_timeout_s(300s),静默超它即 ReadTimeout → except 兜住 → 据 on-disk 评门继续。
不误杀正常回合(agent 内部 run_gates chrome ~60s << 300s)。
注:008 的不收敛是【基建+本 bug】所致,非生成质量——收敛修复(driver)已由 007 现成游戏重跑独立坐实
(accept/九门+富游戏三门全绿)。008 另暴露:工作室设计团队 >240s 超时 degrade 回单 agent(仍产出
design_text);redis 偶发超时(mini-desktop→mini-infra 链路抖动)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 13:53:04 +00:00
zizi
3cd4769f6b
docs(agents): 精简 AGENTS/指令体系 + 立功能设计文档规范,删退役 pipeline
...
- 新增 feature-design-doc.md:功能设计文档作业手册(WHAT+HOW 合一·图文一式两份:文字+mermaid 给人/AI、svg/html 给人更重要;取代 review/execution 双档)
- 删退役 ai-generation-pipeline.md(Dify/OpenGame 蓝图);现行红线(回调唯一写入路径/免鉴权身份注入/HMAC 验签)抢救进 security-and-reliability §1.3;8 处引用改指向 agentic-amodel/saa/§1.3/§5.2
- AGENTS.md 226→182:§5 四张资产表删→指针(根治与 README 双维护漂移,补回漏列项);§3.1 生成线 banner 考古史瘦身;§3.3+§6 接入功能设计文档
- README 索引同步
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 13:46:03 +00:00
zizi
c1bf28f15b
fix(tier2): C1 trace 加 workdir 存在守卫(免 scaffold 前刷 FileNotFoundError)
...
008 实证:首轮 scaffold_init 之前会有早期 SSE 事件,此时工程 workdir 还没建 → trace 追加写刷
FileNotFoundError(best-effort 已吞、但刷屏)。加守卫:dirname 不存在即静默跳过(不抢先建目录、
免干扰 scaffold 的"已存在不覆盖"逻辑)。scaffold 后正常落 trace。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 12:57:14 +00:00
zizi
3156a2a9db
fix(tier2): C1 trace 抓对工具名字段(tool_call_name/tool_call_id/state)
...
008 真跑实证:C1 trace 工作(119 行/28 工具调用捕获),但 TOOL_CALL 事件没记到工具名——
_compact_sse_event 误取 tool_name/name/id,而 2.0.2 真实字段是 tool_call_name(START 带)+
tool_call_id + state(TOOL_RESULT_END 的结果态)。修正取这三个真字段:trace 现在能看清
「agent 调了 scaffold_init→write_source→build→run_gates… 哪一步、成没成」——这才是"看见卡在哪"。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 12:54:11 +00:00
zizi
21472811be
fix(tier2): run_gates 缺 driver 时默认 business-sim play_spec(修服务态假性不收敛根因)
...
★ 收敛根因实证(cp-smoke-006/007 真跑 + 007 现成游戏带 driver 重跑):服务态 play_spec=None →
游戏永不被真玩 → F_wiring(calls=0 expected=[])挂 + 富游戏三门拿不到观测=None(不是 False=没法评估)→
agent 看到 verdict=fix 却在"修一个不存在的问题"→ 反复 thrash 到 budget_exhausted。**游戏本身是好的**
(007 boot/render/live 全绿、暴露 resource.addCoins/consumeIngredient call-ID、latch 终态、bindInput 路由)。
铁证:用默认 business-sim play_spec 对 007 现成游戏重跑门 → decision=accept / L1.passed=True /
九门全绿 / 富游戏三门(tripleLink/economy/latch)全绿。即 M3 单写 + 设计阶段【已经】产出过门富游戏,
"不收敛"纯是控制面没传 driver 的假象。
修:run_gates 在 play_spec 缺 driver 时 setdefault DEFAULT_BUSINESS_SIM_PLAY_SPEC(driver 按参数驱动、
不靠逐像素坐标,对任何契约合规 business-sim 游戏通用;bakery feie-005 / coffee 007 同款过门),显式
play_spec 仍优先。一处修复同时惠及 agent 自己的 run_gates 工具(thrash 根)与控制面评门。richGame 仍据数据表自派生。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 12:43:27 +00:00
zizi
99a6afe08c
docs(review): 非后端四模块代码评审收口 + _index 登记
...
game-runtime / game-studio / tier2 / wg1 四个非后端源码模块的跨模块代码评审:
4 个并行后台 workflow × 三阶段(静态分析在 mini-desktop / 接口协议+大厂规范+项目铁律深审 / 逐条 file:line 对抗证伪)。
结果 0 P0、9 P1、7 P2、9 P3(另 1 条候选证伪)。核心代码语言规范达大厂基线、无 error 级问题;
真风险 = 生成 worker 成本与幂等闸、活层 3 处旧品牌+品牌门覆盖洞、契约真空/v1→v2 漂移、game-studio 构建门。
逐模块明细嵌于评审档 §七,_index §6 已登记。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 12:41:33 +00:00
zizi
ffd22f22c2
feat(tier2): C1 trace 中间件接 with_studio(开 Studio 即旁路推 OTLP span)
...
C1 此前建了 observability.with_studio + studio_sink(OTLP→Studio),但没 wire 进真正跑的
Tier2TraceMiddleware(它在 worker/middleware.py、C1 没动)。本提交把中间件新建 adapter 的路径从
TraceAdapter(...) 换成 with_studio(...):drop-in——TIER2_STUDIO_URL/infra_config[studio] 取不到时
studio sink 自动 no-op,行为与原 TraceAdapter 完全一致(CLI/服务两线不开 Studio 即无感);取到地址则
每步在原 sink 外旁路推一份 OTLP span 给 AgentScope Studio(observe-only,best-effort,不阻塞主链)。
存 _studio_sink 句柄供收口 flush。配合 mini-desktop 起 Studio(创始人:now)即得真跑可视化。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 11:49:03 +00:00
zizi
b1217301c8
feat(tier2): C1 轻量观测——控制面把 SSE 事件记成每局可读 trace
...
C1 观测的轻量兑现(创始人:没有完整的 C,B 迭代很慢)。不起 Node Studio(它在 6c6g 非 mini-desktop、
是 Node monorepo,重)——而是在控制面客户端侧顺手把逐帧消费的 SSE 结构性事件(跳过 *_DELTA 逐 token 噪声)
记成 per-run JSONL 时间线:模型调用/工具调用(带工具名)/工具结果/推理/reply 边界/卡死信号
(REQUIRE_USER_CONFIRM/REQUIRE_EXTERNAL_EXECUTION)。落工程 workdir/control-plane-trace.jsonl,跨 attempt
追加=整局多轮时间线。零服务改动、零 Studio 依赖、best-effort(写失败只告警不中断)。
迭代时一眼看清「agent 调了哪些工具、按什么序、卡在哪」——这正是这轮 debug 反复要的可见性。
observability/studio_sink.py 的 OTLP/Studio 全量 UI 路仍在、是将来可选(待 mini-desktop 起 Studio)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 11:01:06 +00:00
zizi
34336d3204
feat(tier2): C3 证路基线接 deepseek-v4-pro 跨族 cross-check(创始人 2026-06-24 裁定)
...
网关现实(实测):new-api 只有 MiniMax + deepseek-v4-pro,无 Opus/Fable/Claude/GPT;
build_baseline_model('Opus') 真调返 503 model_not_found。创始人裁定证路当前用 deepseek-v4-pro
跨族 cross-check(不比 M3 明显强、证路力偏弱,但能跑;真强模型证路待网关开 Opus/Fable 渠道、
改 generation.yaml 即接,代码已就绪)。
加 BASELINE_CROSSCHECK + _BASELINE_NAME_BY_KEY 的 crosscheck/deepseek 聚合 key + generation.yaml
model.baseline_crosscheck=deepseek-v4-pro。实测 deepseek-v4-pro 在 new-api 上 Anthropic 原生路可用,
build_baseline_model('deepseek-v4-pro') 真调返「跨族已通」——证路走 Anthropic 路与 M3 同协议同线对照。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 10:56:55 +00:00
zizi
d0b30ddace
feat(tier2): 设计阶段接进服务路径(修服务态不收敛根因)
...
006 真跑实证:服务态 writer 拿空 design_text → 富游戏三门(tripleLink/economy/latch)全挂、
4 次 resume 不收敛(产物结构合法能渲染,但三系统联动没接对)。CLI 线 run_studio 先跑工作室设计
阶段再写、故更易过门;服务路径此前整段跳过设计(app.py 文件头标的 followup)。
修:bootstrap 加 _run_design_phase——在控制面进程内(有 agentscope+模型)复用 studio._design_stage
(工作室星形多 agent 团队 + 失败 degrade 回单 agent)产出 design_text,喂进 AgentRecord.system_prompt
(roles.writer_system 第二参)。每局建 agent 时跑一次,不随 resume 重跑。best-effort:设计失败返 ""
不阻断生成。do_design 经 drive_generation 透传(control_plane --no-design 可关,对照用)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 10:53:38 +00:00
zizi
34b9ce3be0
fix(tier2): BYPASS PATCH 须带 query agent_id(修 422 missing agent_id)
...
上一修的 PATCH /sessions/{id} 设 BYPASS 返 422:missing query agent_id——该端点与 SSE stream
一样要 query 参数 agent_id。修:_patch 支持 params,_set_permission_bypass 把 agent_id 作 query 传。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 08:55:51 +00:00
zizi
9630c1ece7
fix(tier2): 服务态会话设 BYPASS 权限(修工具调用卡死 ASK)
...
toolkit 抠取修好后,agent 能调工具了,但每个 chat run 抛「Agent is waiting for 1 tool calls...
but received no event」(agent/_agent.py:931):tier2 九工具默认 check_permissions 返回 ASK
(_adapters.py:99),服务态无人确认 → 工具调用进 ToolCallState.ASKING 等永不来的确认事件 →
生成零产出(workdir 只有 play-spec.json,九工具一个没执行)。
CLI 线靠 studio.py 的 _bypass_state()(AgentState permission=BYPASS)解决;服务态此前没设。
修:bootstrap 建 session 后 PATCH /sessions/{id} permission_mode=bypass
(app/_router/_session.py:334 更新 AgentState.permission_context.mode;PermissionMode.BYPASS="bypass"),
start_new_game / iterate_existing_project 都设;resume_session 复用同 session 自动继承。加 _patch helper。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 08:52:29 +00:00
zizi
e06ddc887a
fix(tier2): thinking 关时 budget 归一为 None(修基线模型 Parameters 校验)
...
C3 Opus 基线探针实证:build_baseline_model('Opus') thinking 关时传 thinking_budget=0,被
AnthropicChatModel.Parameters 的 thinking_budget>0 约束拒(ValidationError),基线根本构不出。
C3 代码落地时假设 budget=0 可行,但从没真跑过基线、未暴露。
修 build_model:thinking_enable=False → thinking_budget 归一为 None(Parameters 字段 int|None,
Anthropic 仅 thinking_enable 时才用它)+ 跳过 max_tokens>budget 校验(该约束只在 thinking 开有意义)。
M3 路(thinking 开、budget=8000)行为不变,硬校验保留。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 08:46:07 +00:00
zizi
01a3229a9e
fix(tier2): 服务态从 Toolkit.tool_groups 抠九工具(修 chat run 起手即崩)
...
B1 控制面真驱 :8200 暴露:每个 chat run 起手即抛 RuntimeError「无法从 Toolkit 抠出
FunctionTool 列表」→ 服务态生成零产出(M3 没写任何文件、SSE 只有心跳、4 次 attempt 全 null
verdict)。P4 只验了服务能启 + BackendStore 往返,从没真跑过一回合 chat,故此 bug 一直潜伏。
根因:_extract_function_tools 按 tools/_tools/function_tools 扁平探测,但 2.0.2 Toolkit 把工具按组
存 self.tool_groups(构造传入的 tools 被包进 "basic" 组,group.tools 是 list[ToolBase];源码
tool/_toolkit.py:127-135 + :515)。修:先从所有 tool_groups 收 .tools(得九个 FunctionTool),
旧扁平探测降为兜底。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 08:39:19 +00:00
zizi
9945e2aa9a
docs(tier2): 部署档补 B1 控制面真驱配方 + 凭据/chat 体口径 + setsid 起服务铁律
...
团队共享(创始人「记录部署位置/端点」铁律):
- B1 control_plane 跑一款到门绿落库的 detached 命令 + game_id=session_id 评门口径;
- 凭据注册体 {data:{...}} / chat input.content 须内容块列表(smoke 实证定稿);
- 起常驻服务必 setsid 脱离 ssh 会话(nohup 会挂通道致启动被 timeout 打断)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 08:00:39 +00:00
zizi
76aab8d703
fix(tier2): bootstrap /chat input.content 须为内容块列表(控制面 smoke 实证)
...
credential/agent/session 已通后,POST /chat/ 返 422:body.input.content「Input should be a
valid list」。根因 = Msg.content 经 REST 传 JSON 必须是内容块列表,而 bootstrap 发了裸字符串
(Python 端 UserMsg(content=str) 的字符串自动包块只在构造器内发生,不经 REST JSON 校验那条)。
修:加 _user_input(text) helper 统一组 input = {name,role,content:[TextBlock]},三处 chat
调用(start_new_game/resume_session/iterate_existing_project)改用它。TextBlock JSON 形状
{type:"text",text:...} 据源码 message/_block.py:11 核实。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 07:57:39 +00:00
zizi
295f232d20
fix(tier2): bootstrap 凭据注册体对齐活服务 schema(控制面 smoke 实证)
...
B1 控制面真驱 :8200 时 POST /credential/ 返 422:Field required body.data。根因 = bootstrap
的 _resolve_m3_credential_payload 发了扁平 {type,base_url,api_key,model},而 create_app 的
CreateCredentialRequest 要 {data: dict}(凭据载荷嵌 data 下),且 model 不是凭据字段。
据活服务 GET /credential/schemas 的 Anthropic schema + 源码 app/_service/_model.py:get_model
(模型类由 CredentialFactory.from_dict(data).get_chat_model_class() 据 data.type 决定)定稿:
data = {type: "anthropic_credential", api_key, base_url};模型名仍在 session.chat_model_config.model。
agent/session/chat 体经源码核对结构一致(CreateAgentRequest/CreateSessionRequest/ChatModelConfig/
ChatRequest),无需改;X-User-Id 头通(返 422 而非 401 证明已过鉴权进 handler)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 07:55:34 +00:00
zizi
bd8b2c80a6
feat(tier2): B门重机器并行落地——控制面有界resume + Studio观测 + MCP工具面 + 基线client/Prompt门
...
B 门(AgentScope 重机器)四单元并行建设,文件不相交,均过 6c6g 静态校验(py_compile +
惰性 import 安全 + 机器门)。真跑收敛/Studio/门验证属 mini-desktop,作为下一步 e2e。
B1 控制面有界 resume(service/control_plane.py · 皇冠):
补上 service/app.py 与 bootstrap.py 文件头标的 followup——CLI run_studio:404-458 的外层有界
resume(M3 看一次 verdict 就停 → 带反馈踹回去续修)此前在服务态(create_app :8200)缺失。
drive_generation() 复用 bootstrap REST 原语 + run 纯代码门:每回合消费 SSE(REPLY_END/
EXCEED_MAX_ITERS)等 chat run 结束 → 独立跑 run.run_gates 机器判门 → 门绿据 on-disk 源工程
重建七要素 + persist 落库 / 否则 verdict_feedback 续修,直到门绿/预算耗尽/熔断。不靠内存
session 判收敛(服务态九工具每回合工厂新建 Tier2Session),贴合「门机器判、控制面绝不自评翻绿」。
C1 AgentScope Studio 观测(observability/studio_sink.py + trace.py):
把统一 trace 事件按 OTLP(经核实 Studio = OpenTelemetry,非私有 REST;HTTP 3000 /v1/traces)
映射成 span 推 Studio,traceId→gen_ai.conversation.id 聚成一条 run。私有 TracerProvider 避免
抢 otel 全局单例。默认关闭(无 TIER2_STUDIO_URL 即 no-op)、observe-only、绝不改 decision。
C2 MCP 工具面(worker/mcp_tools.py + toolkit.py 加性挂点):
图说 E 族——build_toolkit 末尾加配置门控挂点,默认关闭时 build_mcp_clients() 返回 []、
Toolkit(tools, mcps=[]) 与原构造等价,九工具(spike 已验证主链)行为零改。Toolkit 接受 mcps=
形参已对源码核实(tool/_toolkit.py:93)。
C3 基线 client + Prompt 一致性机器门(config.py + genconfig.py + generation.yaml + ci/):
build_baseline_model(Opus 经 new-api Anthropic 原生)供 A 门「证路」,build_model M3 路零回归;
check-prompt-registry.sh 文件级三向一致 + import 级命中 registry,6c6g 实跑 exit 0。
修复 design_team 配置外置兑现(design_team.py):
leader_max_iters/per_expert_cap/timeout_s 改 None→genconfig.get('design_team',...),此前硬编码
默认 240 导致改 generation.yaml 的 timeout 不生效;已验 genconfig 真读到 YAML 值。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 07:46:59 +00:00
zizi
1a4c6970b0
docs(deploy): 记 tier2 P4 服务化部署拓扑(团队共享)——Agent Service @ mini-desktop:8200 + 真落库 MySQL/MinIO + 运行环境
...
内网开发阶段、明文记端点+凭据(铁律授权)。Agent Service 起法/REST 路由/Redis 后端、BackendStore 的 MySQL 库表+MinIO 桶+key 约定、venv/worktree/装依赖法,全部落档供团队共享。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 07:20:13 +00:00
zizi
ce491314c8
feat(tier2): P4 服务化核心——Agent Service(create_app)+ 第二装载真落库(MySQL+MinIO)
...
【U1 Agent Service】service/{app,infra_config,bootstrap}.py + config/infra.yaml:
经 agentscope 2.0.2 官方 create_app 把 tier2 引擎接成 Agent Service 壳——复用 studio 的 agent 装配零件
(roles/九工具/四熔断+trace/BYPASS/历史压缩)接到 create_app 扩展点(extra_agent_tools/extra_agent_middlewares),
不重写生成逻辑。Redis(mini-infra)做 storage(db0)+MessageBus(db1)。session 三路(新建/续接/加载工程迭代)经 REST(bootstrap.py)。
诚实差距:有界resume/工作室多agent/L2-L3/落库=循环外编排,服务态由控制面承接(已标 followup)。
【U2 真落库】store.py BackendStore 真实现(替 P3 NotImplementedError)+ schema SQL:
manifest→MySQL(幂等键 game_id+source_hash)+源文件全文→MinIO(bucket tier2-src);fetch 回填重建。
pymysql+minio 惰性 import;TIER2_STORE=backend 切换。
全 tier2/ 内、零碰 Tier0/1、py_compile+惰性import实证+forbidden-import 通过。真部署(连基建+uvicorn+smoke)待 mini-desktop。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 06:37:37 +00:00
zizi
78ff9f5d86
docs(creds): 补基建数据面凭据(Redis/MySQL/MinIO @mini-infra)——tier2 P4 服务化/落库用
...
从 mini-infra docker 容器 env 抠出落档(内网 Tailscale 凭据按铁律入仓):
Redis 6379(requirepass)/ MySQL 3306(root)/ MinIO 9000(ragflow)。tier2 Agent Service MessageBus + 第二装载落库要用。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 06:15:29 +00:00
zizi
29e081626c
Merge 'feat/tier2-phaser-engine' → dev/2.0.0:tier2 富游戏自治引擎 B门 P1-P3+配置外置 收拢主干
...
并入 tier2 引擎线 4 提交(P1 验收质量层 advisory / P2 自治深化=工作室Team+工作记忆+洋葱钩子+¥熔断 /
P3 装载与品类=落库seam+品类机制 / 配置外置=genconfig+prompt Registry)。
合并干净(merge-tree 零冲突)——tier2/ 与 A-model 的 game-runtime/ 不重叠。
引擎机制 token 真跑通(mini-desktop 全链 import OK + 金标冒烟 GREEN 九门9/9+富三门3/3);过门率优化(spike ~20%)在 dev 继续。
既无并行开发,收拢到主干;feat 分支保留。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 06:10:54 +00: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
zizi
5b35e61f89
feat(tier2): B门-P3 装载与品类——落库seam+versionId+projectType分流 + 品类可插拔机制
...
【U1 第二装载落库(F族)】store.py + run.persist + studio收口 + index.template分流:
SourceProjectStore 接口 + LocalFsStore 真实现(GEN_DIR/_store 内容哈希寻址/版本归档/可重建,9 round-trip 测试过)
+ BackendStore seam(MySQL+OSS 交 Java 后端,forbidden-import 守着不实连)。versionId=v<秒>-<hash前12>,
改源得新版本/保留旧版/fetch 按 version 取回。projectType 分流闸:index.template 从"工厂存在性隐式判断"
升为显式分流(tier2-phaser 现行路 / gamedef-legacy / amodel-2.0 留 seam 报错不静默)。result 新增 store_addressing。
【U2 品类可插拔机制(G/E族)】archetypes.py 注册表 + run/harness 泛化:
品类注册表(key→{数据表schema/脚手架/driver/门/fixture}),business-sim 唯一注册、五件套全指现有资产。
scaffold_init/gate_spec/prompt_hint 改读注册表;business-sim 铺出脚手架/spec/hint 与旧逐字节一致(回归验证)。
富游戏门按品类选(business-sim→现三门;未注册品类→"门待建"占位 passed:false、decision 不会 accept)。
"加新品类=补 5 样内容(非引擎码)"配方写进 archetypes.py。
全 tier2/ 内、零碰 Tier0/1、py_compile+node --check+forbidden-import 通过、金标装配冒烟不受影响。token 真跑验证待 mini-desktop。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 04:49:59 +00:00
zizi
cb7f5c44e8
feat(tier2): B门-P2 自治深化——工作室 Agent Team + AgentState 工作记忆/历史压缩 + 洋葱全钩子+¥硬熔断
...
B门可靠性核心(直攻 spike ~33% 过门率),全在 tier2/、零碰 Tier0/1,py_compile + forbidden-import 通过:
【工作室 Agent Team 阶段1】design_team.py + studio._design_stage 接线 + roles.py 5 角色:
替单 design agent 为星形多 agent——leader 拆题面 → 4 专家 worker(系统/经济/玩法/表现层)分头设计 → leader 汇总连贯设计稿。
2.0.2 纯库无 MsgHub/Team 原语(那在 create_app 服务层)→ 落 worker-as-tool(专家包成 leader 的 FunctionTool,
ReAct 调度 + BYPASS 权限),与 E3 星形语义等价、零拼接零新依赖。预算闸(per_expert_cap/leader_max_iters/timeout)
+ model_sink 计 token + 失败 degrade 回单 agent;产物=design str 形状不变(阶段2 单写零改)。
【AgentState 工作记忆 + 历史压缩】work_memory.py + config.build_context_config + studio resume:
AgentState 三字段(context/cur_iter/tasks_context,源码核验=2.0.2 真实字段名)承载工作记忆 + 轻量 JSON checkpoint;
--resume 读回续跑(不从零重写)。历史压缩走 2.0.2 ContextConfig(换 tier2 富游戏语义压缩提示词/模板,
保住锁定文件/数据表 schema/latch 约定),防 12+ 文件生成丢上下文。
【洋葱全钩子 + ¥硬熔断】middleware.py + trace.py:
补 on_reasoning/on_acting/on_model_call 三钩子产相位段 typed event(经 phase-marker 走 adapter 同路、不与 on_reply 重复计步)。
¥累进硬熔断:on_model_call 动手前按累计¥+预估判,越 DEFAULT_RMB_HARD_LIMIT=3.0/局 fail-closed;活价取不到 degrade 回次数闸。
注:workflow 中 U1 的结构化报告调用解析失败(基建层),但代码已落盘且经主会话直接复核(真 2.0.2 API、依赖满足、编译通过)。
token 真跑验证(多 agent 设计真跑 / 过门率提升 / 压缩保约定 / resume 续跑 / ¥闸按金额拦)待 mini-desktop。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 04:26:12 +00:00
zizi
2c4e2e2248
feat(tier2): B门-P1 验收质量层(advisory)——人可玩门 + L2 full + L3 升门判据
...
修「gate 通过≠人能玩」盲区(feie-005 实证:过九门+富三门却棋盘渲染空 + 8s 耐心人玩不了)。
补齐 D 族三层校验,全 advisory(写 verdict 不碰 decision;自带 Goodhart 守护:advisory 全挂也不翻 decision):
- 人可玩门(play-phaser.cdp.cjs):render-reflects-state(状态有 item→该格 canvas 像素须非空)
+ render-sanity(无 [object Object]/undefined/NaN 漏底文本)+ human-timing(订单耐心 ≥ HUMAN_MIN_PATIENCE_MS=12000·★directional)
- L2 设计符合 full(run.py compute_l2_signals):systemsPresent/mergeDag/ordersReachable/economyConsistent 四硬判据,
从落盘源工程确定性算(替桩)
- L3 升门判据(run.py derive_l3_egregious + studio.py):消费 humanPlayability 的恶性渲染失败→suggestFatal 信号
- schema additive:humanPlayability 段 + L2.mismatches + L3.egregiousRenderFailure
离线验证:py_compile / node --check / JSON 合法 / 24 断言单测(含 Goodhart 守护:advisory 全挂 decision 字节不变)/
金标 L2 离线 passed=True + 反例精确报错。
**fatal 提升 + 金标冒烟集成验证待 mini-desktop**:确认金标仍 ACCEPT(新检查不抛、全 pass)+ feie-005 被挂后,
逐条提 fatal(品类限定有 board/orders 档)。校准数据:金标 patience=16-20s / feie-005=8s / 阈值候选 12s。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 03:46:19 +00:00
zizi
a1e9265305
Merge 'feat/mac-amodel-foundation' → dev/2.0.0:A-model 地基(Tier1 agentic 优化)
...
并入 A-model 分支 22 提交:4 编排插件(hud-ui/scene-fsm/session-score/timer-scheduler,
各带 api.d.ts/impl/manifest/test)+ catch-fruit 样板游戏 + amodel-gen 工具链
(gen/m3/play/prompt/tools/publish.mjs)+ boot-game-host/all-plugins/plugin 扩展 +
source-project.schema.json 升 oneOf(1.0 gamedef-legacy / 2.0 A-model 多文件代码工件)。
唯一冲突 = contracts/agent-loop/source-project.schema.json 顶层 description(两侧都改):
取 A-model 的 oneOf 结构升级为基底,再补回 dev 侧的 tier2-边界 note(本 schema 限 Tier0/1;
tier2 真 Phaser 引擎另立独立 schema、不复用本路)——两侧意图互补不矛盾(HANDOFF 已预判)。
JSON 校验通过,oneOf 2 支 + 两侧意图均在。
dev/2.0.0 侧 ~20 提交(tier2 计划/细图/接口协议/agentscope 2.0.2 订正)全在 docs/tier2/contracts,
与 A-model 的 game-runtime 改动零代码重叠。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 03:33:30 +00:00
lili
0ccce16aa2
feat(amodel-gen): gen.mjs --brief-file + SAA→A-model 执行版 plan(集成C)
...
--brief-file 容大段富化设计稿(避 argv 长度/引号坑;U3 Java shell-out 复用),design+saa 双模式生效。plan 已折叠两轮 Codex+Opus 双评审。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 19:45:33 -07:00
lili
4ed9d2a90f
test(saa): M3 openai 流式静默挂死最小复现(诊断脚手架)
...
门控 -Dsaa.stream.repro=1 + NEWAPI_KEY,不破普通构建。逐验:stream() 是否真流式 / thinking 开时 content 帧是否到达 / blockLast 是否返回。全程显式超时不挂 900s。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 19:45:33 -07:00
lili
d342de088e
feat(saa): 零-LLM driver 内置绑定 injectDriverByArchetype + 5 单测
...
design 只声明 gatespec 不写 driver→amodel 路无人绑 driver→游戏停菜单→九门 E_live/H 名存实亡。按 classify archetype 确定性补内置 driver(经营/反应→tap occupied、三消→placement、跑酷→key-cycle),显式 driver 不覆盖、无合适内置(如 bubble)不强补。WIP:未在 mini mvn 验;archetype→targets 契约假设正于 driver 调查中复核。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 19:45:33 -07:00
zizi
d6e977a5ac
feat(tier2): 图说对账补全核心引擎待补——n≥30 runbook基建+观测成本接线+L3软检(全加性/observe-only)
...
按 tier2 图说目标做缺口分析(8族逐元素比对),补齐 0号 spike 为过门收窄掉、
但图说明确要求的「核心引擎待补」项。全部加性/observe-only:金标冒烟仍 ACCEPT
(九门9/9+富游戏三门3/3,门一道没放松),真依赖下全链 import+自测+一款真 M3 跑验证通过。
G族(n≥30 runbook 执行基建):
- worker/config.py: build_model_openai 便宜档 client(deepseek 经 new-api OpenAI 兼容路,与 M3 Anthropic 路并存)
- worker/run_record.py: G4 采集字段表 → 可序列化 RunRecord(含退路树分流键 fail_system)
- worker/fallback_tree.py: 退路树五出口判定器(Q1–Q4 数字触发线,★阈值常量区待校准)
- batch_run.py / aggregate.py: model×variant×n 批跑(断点续跑/失败隔离)+ 矩阵聚合三图喂判定器
H族(观测/成本接线,把孤儿件缝进 run 主链):
- observability/newapi_pricing.py: 活读 new-api /api/pricing 倍率(取不到回落显式参数+告警)
- middleware.py: Tier2TraceMiddleware 挂 writer agent 最外层洋葱,ReAct 全事件旁路 ingest
- agent_loop/studio.py 收口: records→cost_for_run 折¥;真跑实测 cost_rmb=1.29(newapi-live)、trace 647事件 dropped=0
- contracts/trace/: additive trace 事件契约位(忠实 trace.py 落 sink 形状)
D族(L3 视觉软检接线,observe-only):
- agent_loop/studio.py: 收口调一次 M3 多模态(真截图+真玩取证→fun映射0-100),只写 verdict.L3,绝不参与 decision
- 真跑实测 L3 score=25 准确指出空心表现层;decision=fix 仍由 L1硬门/熔断裁、与 L3 无关(防 Goodhart 成立)
留后(不投机抢建):工作室 Agent Team/第二装载落库/控制面/Agent Service 等按 plan 决策②⑤ gate 到 B门后;
n≥30 等统计相是「跑」非「写」(批跑底座已就位);A-model 4插件复用待合并对账;4处图说 spec-drift 待 doc 线回写。
详见 tier2/HANDOFF.md「图说对账补全」节。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 02:11:59 +00:00
zizi
c543f7c921
docs(tier2): 记 0 号 spike 收敛结果——feie-005 decision=accept + 四根因机器门
...
HANDOFF.md 补 spike 结果段:M3 自治写的面包店经营合成富游戏跑到 decision=accept
(9 L1 门 + 富游戏三门全过、finished=True、无熔断);从首跑 5/9 收敛靠四道机器门
(外层 resume 自纠 / datatable schema 门 / 平台文件锁 / play-scene 工厂契约门)。
判断=go(留观微调):中等模型被机器门挡在正确契约上能自治写出过门富游戏,
但强依赖机器门把契约违规变响亮反馈;下一步 n≥30 测真实成功率。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 22:21:03 +00:00
zizi
8f2bbce5d5
fix(tier2): 数据表加破产路 patience 可达性预检——经济/H/latch 门提前可修
...
spike feie-005 实证(F/G/tripleLink 全转绿后):H_progress/经济/latch 仍挂在「到不了终态」。
真因=数据表 patience 太长(M3 填了 45~65s),但破产路 driver 只跑约 16.8s(bankruptSteps 60×280ms)、
要连续 3 单流失才判 lose → 订单在有界 run 里耗不尽 → bankruptPathLose/bothReachedTerminal/H/latch 全挂
(金标用 16~20s 正为此)。M3 看 economy 反馈后能自己把 patience 调到 [8,8,8,8,12] 修这条,
但反馈不够直白时会绕弯。故 validate_datatable 加 patience 可达性预检:最小 streak 单订单的最大 patience
须落在有界 run 墙钟内(1.5× 余量),超了响亮提示「调小到金标 16~20s 量级」。
单测:金标(16-20s)PASS / feie-005式(45-65s)FAIL。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 22:14:16 +00:00
zizi
f64dcc6532
fix(tier2): play-scene 工厂契约门——拒 class+init(data) 反模式(根因3 最后一环)
...
spike feie-004 实证(play-runtime 抽离 + bindInput/tick 都接上后):D_render/E_live/F/G/H 仍全挂。
看 play-scene 源码:M3 把工厂写成无参 `createPlayScene()` 返回 `class extends Phaser.Scene` +
`init(data){this.core=data.core}` 取 core。但锁定的 main.js 用工厂模式建 scene
(createPlayScene({core,caps,assets,Phaser}) → scene.add(返回的配置对象)),不走 Phaser 的 init(data)、
也不传 data → this.core=undefined → scene 整个空转 → 所有门挂。
扩 validate_play_scene 加工厂契约检查:① 工厂必须收 deps 入参(非无参);② 禁 class extends
Phaser.Scene + init(data) 取 core 的反模式;③ 必须暴露 handleNormalizedInput(harness injectInput 路径)。
单测:golden PASS / M3 class+init(data) 三条精确报错。prompt/hint 给出正确工厂骨架正反例。
至此根因 3(M3 破坏平台接线)四道机器门齐:文件锁(main/systems/...)+ 数据表 schema 门 +
play-runtime 抽离锁定 + play-scene 工厂契约门。门未放松,全是结构性契约检查(防 Goodhart)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 22:03:31 +00:00
zizi
0fd0d4fb10
fix(tier2): 抽平台命脉进锁定 play-runtime.js + play-scene 契约门(根因3 另一半)
...
spike feie-003 实证(lock+schema 都修对后):F_wiring 仍 calls=0、E_live distinct=1/N、
latch=false。diff 出真因——M3 重写 play-scene 时把两件平台命脉一起改没了:
① 输入路由(doHitTest/doHandleInput/this.input.on pointerdown):没了或坐标错位
(用 (col,row) 调 core.tapCell 而非 (i,j))→ driver 注入的 touch 落空/落错格 → 没合成 → F/G 门挂。
② 逐帧 core.update(dt):没了 → 订单耐心不倒计时、赢/输 latch 永不触发 → E_live/H/经济/latch 全挂。
这俩原先混在 agent 可写的 play-scene 里、只靠注释「别动」——无机器门=必被 M3 改掉。
现抽进平台锁定文件 src/scenes/play-runtime.js(bindInput 输入路由 + tick 逐帧推进),
加进 LOCKED_PLATFORM_FILES;fixture play-scene 重构成 create 调 bindInput(this,core)、
update 调 tick(core,delta),薄委托命中给锁定实现(坐标 layout 同源、driver-tap 焊死)。
加 validate_play_scene 契约门(build 段跑):play-scene 必须 import play-runtime 且调 bindInput+tick,
缺了响亮回喂精确指引。prompt/hint 同步:你只管画 render,别碰输入路由与 tick。
门未放松(judge 纯代码判);fixture 重构后须重跑金标 smoke 验仍 ACCEPT(下一步)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 21:53:53 +00:00
zizi
f8ec30c875
fix(tier2): 焊死平台锁定文件——write_source 拒改装载胶水/三系统(根因3)
...
spike feie-002 实证:loop 自纠(commit b43d59c)已让 M3 续修、数据表 schema 也修对了
(mergeChains/currencies/requires:{id:qty} 全对,三联动门 requiresReachable/dagAcyclic 转绿),
但 F_wiring/G_input/H_progress/callsAddCoins 仍连环挂。diff 出真因:M3 重写了平台锁定的
src/main.js(装载胶水,130 行差异)——丢了 recHook 透传 → 资源系统 addCoins/consumeIngredient
不再记进 window.__engineCalls → F 门 calls=0、合成不记调用、G/H 门跟着挂。
fixture-spec 预建分工本就规定平台预建文件「写死不动」,但只是 prompt advisory、没机器门。
现把它焊成硬约束:write_source 对 9 个平台锁定文件(main.js/game-core.js/systems/*/layout.js/
tables.js/util/*)的真实修改直接拒(幂等回写放行),并提示「只改 play-scene.js + 数据表」。
agent 可写域 = src/scenes/play-scene.js + data/datatable.gold.json + src/scenes/ 新增表现文件。
单测:9 锁定文件命中、play-scene/datatable/新 scene 放行。prompt 同步加固铁律⑦。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 21:37:41 +00:00
zizi
b43d59cc9a
fix(tier2): loop 自纠三杠杆——外层有界 resume + 数据表 schema 预检 + finish 门
...
spike feie-001 实证三根因(verdict.json):
① loop 不自纠(最大):AgentScope 2.0.2 原生 ReAct 在「模型产无 tool_call 纯文本回合」即退出;
M3 调一次 run_gates 看到 decision=fix 就产空文本收尾(tool_calls=9/40、breaker=None、finished=False)
= 看一次 verdict 就放弃。补编排层有界 resume:agent 停下后若没真 finish 且门没绿且有预算,
带 verdict 失败反馈再 reply(跨 reply 保留 memory=原地续修),上限 6 次;middleware 硬熔断 60/80 仍兜底。
② 数据表 schema 不匹配(F_wiring/三联动门真因):平台锁定 tables.js 按固定 key 读
mergeChains/currencies/orders{requires:{id:qty}};M3 自创 recipes/initialCoins/数组 requires →
合成系统空转却仍 boot(假绿)。加 validate_datatable(schema+DAG+可达性预检),build 段自动跑,
失败响亮回喂精确修复指引(平台读哪些 key、你缺/错哪个)。单测:金标 PASS / M3 自创 FAIL 精确报错 / sentinel PASS。
③ finish 门:验收零自评——没真跑过门或门没绿不许 finish,把失败反馈塞回逼续修。
prompt 同步加固:scaffold hint + writer system 强约束「就地填 sentinel、禁改 key、列平台确切 key、
看到 fix 不许停」。门未放松(judge 纯代码判),防 Goodhart。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 21:27:32 +00:00
zizi
135a368f2b
fix(tier2): RecordingChatModel usage 取字段防 KeyError——M3 经 Anthropic 端点 usage 缺 cache 字段
...
getattr(u,'cache_read_input_tokens',None) 对 M3 的 ChatUsage 抛 KeyError(缺字段时抛 KeyError 而非 AttributeError,默认值兜不住)→ design 阶段首次 M3 调用即崩。改:每个 usage 字段经 _ug() try(KeyError/AttributeError/TypeError)安全取。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 21:07:23 +00:00
zizi
27da8d22ae
fix(tier2): play-spec richGame 对齐金标 + 去 controlCheck(I 门经营档 SKIP)
...
① richGame.mergeChains/orders 原是 flour/dough 旧样例,与 fixture 金标
datatable.gold.json(wheat/bread/jam/soda/chocolate/cake) 不一致——三联动门
requiresReachable 虽自洽但不反映真游戏。改成金标 6 链/5 订单同源。
② 去掉 controlCheck:business-sim 经营档=离散点击 + driver 驱动到终态(win),
非「控制体跟手」;且 controlCheck 在游戏已 latch win(终态忽略输入)后 tap →
selected 必不变、I_control 必假,还触发 CDP Input.dispatchTouchEvent 卡死(40s
超时)中断后续富游戏三门。按 harness 文档(I 门对经营档缺省 SKIP)不声明 →
I_control SKIP(向后兼容通过),流程得以走到富游戏三门。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 21:00:09 +00:00
zizi
e05a1a8b76
fix(tier2): mapToClient 坐标映射去掉错误的 /dpr——driver tap 落对格
...
CDP 探针实证:tap 逻辑(85,175) 本该选中棋盘格(0,0),实际选中(2,1)——坐标整体被
放大 dpr(=2) 倍、点击全落错格 → 合成永不成、coins 卡 20、E_live/G_input/F_wiring/
H_progress 连锁红(且 latch=true 是破产路误判,非真赢)。
根因:mapToClient 旧算法假设「Phaser canvas backing-store 含 DPR、逻辑=c.width/dpr」,
但 host 用 Phaser Scale.NONE,canvas backing-store=逻辑 390×844(不含 DPR 乘子),
故 c.width/dpr=195 错、sx=r.width/195=2。修:sx=r.width/c.width(client↔canvas
内部坐标标准换算,与 DPR 无关;游戏逻辑像素=backing-store 像素)。
real 浏览器实证(probe5):tap(85,175)→selected{0,0}正确;driver 驱动 step16 达
win/coins116;__engineCalls=17 含 resource.addCoins/consumeIngredient(F门/三联动门真接线)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 20:55:56 +00:00
zizi
8ea6133e63
fix(tier2): recHook 透传到资源系统——F 门/三联动门记 resource.* call-ID
...
F 门/三联动门读 window.__engineCalls 找 resource.addCoins/consumeIngredient 前缀,
但旧版只有 engine-caps(粒子/音频)经 recHook 记 __engineCalls,资源系统只记内部
_callCounts、不进 __engineCalls → calls=0、F 门 + 三联动门真接线判据永假。
修(additive,不破契约必填项):host 经 boot 上下文透传 recHook → main.js 喂
createGameCore → resource-system 完单真调 addCoins/合成真调 consumeIngredient 时
recHook('resource.addCoins'/'resource.consumeIngredient') 记进 __engineCalls。
headless/静态校验下 recHook 缺省 no-op、不抛错。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 20:48:40 +00:00
zizi
44d1b45583
fix(tier2): 修真接线三处——pointerdown 闭包/逐帧补桌/patience 缩到有界可达
...
CDP 探针实证 driver tap 抛「this.handleNormalizedInput is not a function」→
state0/state1 全 null、E_live=1、F_wiring=0、九门连锁红。三处根因+修:
① Phaser 用「配置对象」实例化 scene 时只搬 create/update/preload,不搬对象上其它
方法 → create 内 `this.handleNormalizedInput`/`this.hitTest` undefined,玩家点屏即抛。
修:把 hitTest/handleNormalizedInput 抽成闭包 doHitTest/doHandleInput,pointerdown
与 host.injectInput 都调闭包、不依赖 this(对象方法保留为薄委托)。
② 合成清空棋盘格、产物只进库存不回落棋盘 → 棋盘很快只剩单件、driver 无对可合成、
赢路卡在中途(offline sim:coins 停 54)。修:core.update 逐帧 merge.refillFromInventory()
(幂等,把库存里没上桌的基础料补进空格)→ offline sim 赢路达 coins116/win。
③ gold patience 440~600s 在有界 driver run(~30s)里订单永不流失 → 经济门破产路
不可达。修:patience 缩到 16~20s(赢路~6s 完成远早于;破产路~20s 内 3 单流失=lose)。
忠实 offline sim 验:patience≤30s 两路都达终态,≥60s 破产路 stuck=play。
验证:headless-smoke + logic-smoke 全绿(赢/输双路可达 + latch 不回弹)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 20:43:10 +00:00
zizi
712547d212
fix(tier2): fixture readState 投影成 driver 契约形状——破 board is not iterable
...
C_frame 后 harness 抛「board is not iterable」:business-sim.driver findMergePair
对 state.board 做 for...of,但 game-core readState 旧导出 board=merge.boardView()
={size,cells[i][j],selected}(对象,非数组,无可点坐标)→ 抛错、其后八门全「门未执行」。
根因=fixture 导出态与 driver 契约(business-sim.driver §读什么 state)不一致。改:
- 抽 layout.js 单一源(棋盘 BOARD_*/CELL + 订单面板 PANEL_* 逻辑坐标),game-core 与
play-scene 同源不漂移。
- game-core readState 投影成 driver 契约形状:board=扁平格数组[{idx,i,j,x,y,item}]、
orders 补 id 别名=instId、新增 submitTargets[{orderId,x,y}]、mergeChains、
lostStreak(=failStreak 别名)、selected(I 门读)。
- play-scene 填平台侧 TODO-4 订单命中:面板行 k → ordersView()[k].instId →
core.fulfillOrder,与 submitTargets 同源,driver 交单 tap 真可达。
内部网格视图(merge.boardView)仍供 scene 渲染,两者各取所需不冲突。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 20:31:25 +00:00
zizi
da184f067c
fix(tier2): build-phaser 用 alias 垫片替 external 解 phaser——破 A_boot 工厂缺失
...
iife 格式下 external:['phaser'] 会把 import Phaser from 'phaser' 编成顶层
__require("phaser")(iife 里是抛 Dynamic require not supported 的存根),
bundle 顶层求值即抛 → var __Tier2GameBundle 拿不到赋值 → host 报「工厂缺失」(A_boot)。
改:新增 phaser-window-shim.js(default 导出 window.Phaser),build 用 esbuild alias
把 'phaser' 解析到它(绝对路径,不受 cwd 影响)。普通 ESM 解析不抛错,Phaser 本体仍不进
bundle(垫片只读 window.Phaser),与 host opts.engine 注入边界(Q4)同源。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 20:26:24 +00:00
zizi
9f95ec6612
fix(tier2): play-phaser harness 从 game-runtime 解析 ws
...
harness 在 tier2/(game-runtime 外)、play 步 cwd=仓根,裸 require('ws') 解析不到 game-runtime/node_modules/ws。改:createRequire(../../game-runtime/package.json) 显式解析(同 browser-evidence 口径)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 20:19:01 +00:00
zizi
b5acf7c4b5
fix(tier2): build-phaser 从 cwd(game-runtime) 解析 esbuild
...
裸 import('esbuild') 按模块位置(tier2/engine/)解析,找不到 game-runtime/node_modules 的 esbuild。改:裸 import 失败则从 cwd(集成段总是 cd game-runtime)createRequire 解析。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 20:17:25 +00:00
zizi
856a583325
feat(tier2): Phaser 自治生成引擎全栈首落(workflow 9 agent 建·6c6g 静态全过)
...
override spike-first(创始人 06-23 裁),全栈铺 Phaser tier2 引擎。recon→契约→6模块并行→集成 workflow 产出 ~60 文件,全 6c6g 静态校验过、红线零碰 Tier0/1 产线:
- 契约(6):tier2-source-project.schema / tier2-verdict.schema(fork·round放开·三层校验+富游戏门)/ toolkit 签名 / 探针钩子 / boot-phaser-host.d.ts / mini-肥鹅 fixture 规格
- M1 Phaser scaffold+装载 host+引擎能力面(19;logic-smoke 13/13:五耦合点真接线+赢输双路径+latch不回弹)
- M2 CDP 探针 Phaser 重写+business-sim driver+九门+富游戏三门(5;verdict 过 schema)
- M3 Python 单写 ReAct agent loop+9 工具 toolkit+M3 Anthropic接法+四熔断(9;mini-desktop 真 2.0.2 venv 验:import/9工具/中间件注册 OK)
- M4 datatable schema+金标+资产占位(4)/ M5 prompt+Phaser skill+rag(13)/ M6 成本 RecordingChatModel+trace adapter(3)
- 集成:run_engine.py 入口 + 接线断点已修 + RUN-ON-MINI-DESKTOP.md
待 mini-desktop 真跑(esbuild build + CDP 九门 + M3 生成 = 本质即 0号 spike)。AgentScope 2.0.2 API 逐条对 /root/oss/agentscope 源码核验。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 20:13:44 +00:00
zizi
accff77e52
chore(knowledge): 去重 agentscope facts——保留更全的 agentscope-2.0-facts(别session 99299404,补编排/沙箱/部署),删我的冗余 -2.0.2-facts,README 指向订正
...
跨 session 撞车:两边都做 2.0.3→2.0.2 facts 更正、改名目标不同(我 -2.0.2 / 别 session -2.0)→git 保留两份。别 session 那份更全(+pip install [full]/Redis/create_app/Studio=开发追踪/agentscope-runtime 已归档),留它。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 18:45:22 +00:00
zizi
a0ccb6dd95
Merge 'docs/interface-protocol-design' → dev/2.0.0: 接口协议层与可插拔模块设计(opus 终审通过·无 P0)
...
固定契约 vs 可换实现的接口协议层(A1-A13 + B 可插拔),换引擎/框架=接适配器。两轮 workflow 设计+对抗评审 + 主会话纠漂移 + opus 子代理终审整改。§7 14 项开放问题待创始人定。
2026-06-23 18:40:29 +00:00
zizi
456653cbe1
docs(design): 接口协议 plan opus 终审整改(无 P0)——行号 696→692 / 成本血统钉 new-api / verdict 硬前置与 Q2 口径统一 / readState per-品类层 / §7 补 Q14(A4.5)/ 去元叙述
...
opus 子代理对抗终审判'无 P0、可合',逐条整改其 P1/P2:
- P1-1: _bash.py 行号 696→692(实锤;§4 行号读的就是本机 v2.0.2 tag、准确,不软化)
- P1-3: A2.5 成本归集留 §7 Q6 定 + 成本权威钉 new-api 计费行(trace 只携关联键、agent 自报金额不作账)
- P1-2: §7 补 Q14(A4.5 构建产物+feed→play 入口 提独立A类 vs 字段待spike)
- P2-1: A6 readState 劈引擎级(per-engine)vs 语义 state(per-品类·接 A10)
- P2-2: §6 verdict 硬前置=纪律(机器判禁自评焊契约层),结构选择归 §7 Q2,消两处口吻冲突
- P2-3: 去元叙述(诚实说在前面/必须纠正)
状态置 opus 终审通过、作设计基线合入。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 18:40:26 +00:00
lili
f5918e449e
feat(amodel-gen): Phase1 MVP-first 设计护栏(治"富设计→code thrash")
...
v5/v6 e2e 实证一个系统张力:driver-可达护栏让设计转单击成单(✓),但也让策划 agent 产出越来越富
(v4 5.3KB → v5/v6 7.5KB:离线收益/6级/广告/7商品/hitstop/9插件)→ **code agent 实现负担过重 →
read-thrash → loop-detection 截停、finished:false**(v5 26步/v6 27步均未收敛;对比 v4 精简设计 9 步收敛)。
护栏(design prompt + sim skill §8 加 MVP-first 铁律):设计聚焦可玩核心 = 核心循环 + 1 主机制
+ 1 资源环(进货)+ 3–4 级解锁 + 基础数值/音效,商品 ≤3 起步;离线收益/广告/雇员/多档 BGM/hitstop
/6+ 商品 一律标「后续·MVP 不做」。**先出能玩核心,再谈丰富** —— 降 code agent 负担、保收敛。
待:v7 验(精简设计 → code 收敛 + 单击成单 → H 过 → 护栏闭环全绿)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 11:36:47 -07:00
zizi
1a36a7279e
docs(design): 接口协议草案 agentscope 2.0.3→2.0.2 + 克隆路径订正
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 18:31:42 +00:00
zizi
f1ca3b792f
Merge dev/2.0.0: agentscope 2.0.2 版本订正入设计分支
2026-06-23 18:31:41 +00:00
zizi
b1a12462cf
Merge 'chore/agentscope-2.0.2' → dev/2.0.0: agentscope 版本号订正 2.0.3→2.0.2(2.0.3 未发布)
2026-06-23 18:29:06 +00:00
zizi
d8adc3d0d4
chore(tier2): agentscope 版本号 2.0.3→2.0.2(2.0.3 未发布·PyPI 最新=2.0.2)
...
2.0.3 从未发布到 PyPI(最新 2.0.2),requirements.txt 的 ==2.0.3 不可安装。已在 mini-desktop venv 实装 2.0.2 并冒烟:Agent/ReActConfig/Toolkit/FunctionTool/Anthropic*/MCP(Stdio+Http)/create_app(Agent Service)/AgentState/workspace/middleware/event/skill 全在——设计依赖符号对 2.0.2 成立。
活层(docs/tier2/.agents)agentscope 2.0.3→2.0.2:文档+SVG+requirements.txt+knowledge facts(改名 agentscope-2.0.2-facts.md);npm lockfile 第三方 2.0.3 未动。复验 SVG 32 张全过。
注:6c6g 克隆 /root/oss/agentscope 实为 2.0.3-dev(领先 PyPI),与 2.0.2 架构一致(符号已对)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 18:29:06 +00:00
zizi
9929940447
docs(knowledge): agentscope facts 版本更正 2.0.3→2.0.2 + 改名 agentscope-2.0-facts + 补编排/沙箱/部署事实
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 18:03:29 +00:00
zizi
01771b7437
docs(design): 接口协议层与可插拔模块草案——固定契约 vs 可换实现(两轮 workflow + 对抗评审 + 主会话纠漂移)
...
回答'换引擎/框架=接适配器、哪些写死、哪些 skill/mcp、探针能否是 skill、多语言'。两轮 workflow(11 子代理)+ 源码核实 + 对抗评审:
- 第一轮 生成/引擎/框架内核:A1-A7(+补 A2.5 trace/A3.5 版本寻址/A4.5 构建+feed入口)+ B-ENG/PROBE/FRAMEWORK;§4 AgentScope 机制实证(MCP=多语言支柱·2.0.3 无 register_tool_function 纠偏)+§5 现状 7 耦合接缝
- 第二轮 平台级面:A8-A13(送审/资产/玩法模板/试玩HITL/通用检查门/配置)+平台级 B(资产源/品类模板/渠道提审/配置注册表)
- 对抗评审揪正'想要≠已是':verdict 锁死 Tier0/1 须 fork+焊纪律、dispatcher 仅 dispatch()无 cancel、trace/GenerationState/配置注册表 contracts/零命中=反锁死真 GAP
- 主会话复验补:A4 projectType→engineBundle 装载分流漂移纠正、A8-A13 tier2 段标 v1 directional
草案·待 Codex+Opus 双评审 + 创始人定(§7 共 13 个开放问题)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 17:49:06 +00:00
lili
75dc86ad56
feat(amodel-gen): Phase1 e2e 验证 + driver-可达性设计护栏(两步成单 footgun)
...
本地 e2e(design→code)实证策划 agent 价值:一句话「做一个网兰梅的街角小卖部经营小游戏」
→ 策划 agent 读真 sim skill(115s)→ 比手写 v2/v3 brief 更丰富的设计(进货-库存-补货环 + 6 级解锁
阶梯 + 满意度 + 数值表 + 客流节奏区间 rush≥35s + 好玩自检 4/4 + clean gatespec score↑/currency↓)
→ code agent **9 步**收敛(vs v3 的 39 步)check/build/smoke 全绿。**设计层补料 → 更好玩 + 更快 + 更省 兑现。**
九门验 v4 = 8/9(A/B/C/D/E distinct=82/82/F/G/I 全绿,游戏真活、输入真响应),**仅 H score 0→0**:
根因 = 设计选了**两步成单**(选顾客锁定→点货架商品),零-LLM tap-targets driver 只单击 occupied 目标、
跟不动两步 → 选客不成单 → 营收 0(截图实锤:蓝顾客被选中高亮但没卖出)。**好游戏被误判,非代码 bug。**
护栏(设计-guidance,非改 driver/九门——守"九门玩法无关"):
- sim skill §9 + design prompt 可达性自检 + littlejs _forensicsView 契约 三处加「driver 可达」铁律:
核心成单/得分动作**单击 occupied 目标即完成**(casual 友好 + driver 可达);深度靠进货/库存/解锁/节奏,
不靠两步匹配;确需多步则 _forensicsView.targets 随状态把"下一步该点的"标 occupied。
待:re-gen v5(验护栏 → 单击成单 → H 过)+ U3(designNode Java shell-out)+ U6 蒸馏。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 10:48:21 -07:00
lili
57c30909cd
feat(amodel-gen): Phase1 设计 agent(--mode design,读真 sim skill)+ API-存在静态门 + sim skill 扩
...
承 Phase1 执行版(2026-06-23-design-agent-phase1-execution.md)U5/U1/U2/U4。
U5 sim skill 扩:补「进货→库存→售卖→补货」资源环范式(经营核心,治"没进货")+ 客流/出现节奏目标值
区间(治"顾客太快":清闲 ~2.4s/3/6s、rush 起点 ≥35s)+ §10 标注可机检 N=4(即时反馈/可见成长/解锁/音反馈 + 经营加经济扣减)。
U1+U2 设计 agent:gen.mjs 加 --mode design(tool-using 策划 agent:read_file/list_dir/done,M3,scaffold-free,
日志走 stderr / stdout 末行 JSON {ok,designText,gatespec})+ prompt.mjs buildDesignSystemPrompt(薄指令指
**read 真 sim skill 不手抄** + 可达性自检 + 好玩 N-of-8 + 结构化 gatespec)+ normGatespec 容错(M3 偶把
assertAfterPlay 包成 {item:[]}/expectLatch 写字符串 → 拍平)。
验:一句话经营 brief → 读 sim skill → 8.5KB 玩家视角设计稿(含进货环 + 节奏目标值表 rush≥5min + 好玩自检)
+ clean gatespec(expectLatch:true / score↑ / currency↓ 经济断言 / inventory changed)。
U4 API-存在静态门(tools.mjs check,玩法无关):游戏调的 plugins.<键>.<m>()/ctx.<m>() 必须在 api.d.ts 真存在
→ 廉价根除"方法名幻觉"类(stopBgm/defineScenes/ctx.nowMs);键→dir 映射(juice→particles-juice 等);
只查已知插件键+ctx、非键跳过(over-permissive 少误报)。验:_template 零误报 + 抓 stopBgm/ctx.nowMs
+ 不误伤 loop/ctx.log。
待:U3(designNode amodel 路 shell-out,Java/mini)+ 本地 e2e(design→code 验更好玩)+ U6 蒸馏。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 10:28:16 -07:00
lili
68472bb560
docs(design): A-model 生成"更好玩" 评审版+Phase1执行版+图说(§6.8 评审版收口)
...
评审版(review-closed,§6.8 Opus 全量 + Codex 半程独立印证 + 代码核实):
- ① 策划 agent(升级 designNode)= 低风险、大半已通(design 经 K_ENRICHED 喂 amodel);
- ② 音频/资产线 + ③ modify 双路 = **净新建**(双评审纠正原稿"复用"误框:amodel 路
validate→play 跳 scaffold/asset/build,SAA asset 机器与 modify 生命周期均 gamedef 专用);
- 质量门三类(API-存在静态门[玩法无关] / per-game gatespec 断言[语义·复用 H] / 好玩 N-of-8[设计时]),
**通用九门保持玩法无关、零品类语义**(创始人纠正);3 阶段分期。
Phase 1 执行版(execution-pending,待 §6.8 双评审):6 单元
= 设计 agent harness(JS tool-using,读真 sim skill)/ 薄 prompt / designNode amodel shell-out
/ API-存在静态门 / 扩 sim skill(进货+节奏+可机检 N)/ 好玩-经济 per-game 断言接线。
图说更新(519→999 行,11 内联 SVG,自包含):纠正现状(amodel 跳 scaffold/asset/build、九门玩法无关、
gatespec→play_spec→H)+ 新增新设计 6 图 + 3 阶段演进(三色:复用/净新建/零触碰)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 09:29:25 -07:00
lili
88d3a23787
feat(amodel-gen): 根治B(input→L1 handleTap)+driver起局扫点+5 footgun蒸馏+wanglanmei E2E→studio可玩
...
根治 B(缩 M3 错面,结构性根除"点击在错 phase 消费/永不消费→启动不了"):
- input 订阅收归 L1(_template/src/game.js wrapper):L3 只写实例方法 handleTap(x,y)/handleKey(key),
L1 在 pointerdown/keydown 直达派发;_template/src/game-logic.js 范例改用 handleTap。
- tools.mjs check:拦 ctx.getInput + 必须暴露 ≥1 输入方法;prompt.mjs/README/skill 同步输入契约。
- 机制+门双实证(node 全链路:menu→点开始→play、点客加分、点空白不加分;check 对 getInput/零输入方法拦截)。
driver(play.cdp.cjs):occupied 族起局从固定点 (195,422) 改中线纵向扫点,robust 命中各游戏「开始」按钮
(原固定点落空→死菜单假阴;实测 wanglanmei「开门营业」在 y≈502)。
资产通道(boot-game-host.loadHostAssets + gen.mjs --assets-dir):M3 只决定怎么用资产、不造。
入库工具 publish-amgen.mjs:staged bundle → game_runtime_package(package_json.engineBundle,status=1)→ studio /play。
5 个 M3 footgun 蒸馏进 prompt.mjs + skill(均 wanglanmei-v2 实测翻车):
① scene update 回调签名 (dt) 非 (running,dt) ② ctx.random.next() 非 ctx.random()
③ ctx.time.nowMs() 非 ctx.nowMs() ④ _forensicsView 的 phase/targets 必须在 state() 内实时算(否则定格 boot 快照)
⑤ update(dt) 的 dt 是秒,毫秒计时要 ×1000。
验证:M3 生成 wanglanmei-tycoon-v2(+上述 5 footgun 修复)→ 九门 PASS(score 0→364,distinct 43/43)
→ 入库 → studio /play/80002/80002 加载+boot+渲染菜单真玩(art 走程序化回退,水彩 art 需引擎资产线 E2/E3)。
(root-fix A 门可信化先于 cbe42933 提交;SAA Java 驱动绑定另track 暂不入此 commit)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 05:48:03 -07:00
zizi
fd304a1ed1
Merge 'docs/tier2-diagrams-AH' → dev/2.0.0: tier2 扩展五族细图(A/F/G/B/H)+ detail-图说配方蒸馏
...
- 扩展五族 19 图 + 5 族图说:A 运行时形态 / F 源项目契约·装载 / G spike runbook / B 控制管理面 / H 观测成本
- 至此 tier2 细节图说全 8 族 32 图齐(核心 D/E/C 13 图已在 6865b88a)
- 每张为总览(agentic运行时架构图说.md 图 1-8)的逐项放大;对抗验证 + 主会话复验全过
- detail-图说 扩展配方 + verify 脚注冒号盲区 蒸馏回 .agents/skills/architecture-diagram-atlas.md
- advisory 跨分支仍标「接」(A-model 未合并 dev/2.0.0)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 10:41:51 +00:00
zizi
4833815ac4
docs(skills): 蒸馏 detail-图说 扩展配方 + verify_svg.py 脚注冒号盲区 → 架构图集 skill
...
tier2 8 族 32 图实证的可复用产出写回 .agents:
- detail-图说 扩展配方(draw→对抗验证→族汇编 pipeline / deepen 不 duplicate / 复验脚本放 /tmp / 看图入口回链)
- 复验脚本盲区:脚注半角 vs 全角冒号查不出,主会话须另跑 sweep(本轮补逮 6 张)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 10:39:58 +00:00
zizi
cc71dbbaf5
docs(tier2): 扩展五族细图——A 运行时×4 / F 源项目契约×3 / G spike runbook×5 / B 控制管理面×4 / H 观测成本×3 + 五族图说
...
19 张新图经 draw→对抗验证→族汇编 workflow(43 个 opus 子代理)产出,每张是总览(agentic运行时架构图说.md 图1-8)的逐项放大(deepen 不 duplicate):
- A: Agent Service+session三路 / Agent非常驻+AgentState / Workspace双轴 / Middleware洋葱
- F: 源项目契约七要素 / 第二装载分支 / finish共用schema
- G: 建设五步+spike门 / mini-肥鹅靶子 / 模型矩阵+跑序 / 过门阈值+采集字段 / 两段+退路树
- B: 控制面四组件 / 反锁死五协议 / 预算三层强制 / 管理面三phase
- H: trace统一契约 / 观测管道 / 成本台账
对抗验证逮修真问题:F3 落库/取回画成现行→改虚线待建、G2 56%张冠李戴、B1 tier2箭头几何错位、B2 伪造「伸缩」徽章删、H1 门裁九门/三层校验错配。主会话复验补逮 6 张脚注半角冒号(verify 脚本盲区)。
全 32 张复验 界内/良构/脚注/ok;5 族图说带防漂移 hash + 人读散文(零 AI 味)。8 族接进看图入口。tier2 全集=32 图+8 族图说。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 10:36:57 +00:00
zizi
6865b88af7
Merge 'docs/tier2-plan' → dev/2.0.0: tier2 实现计划 + 项目初始化 + 核心三族细图图说
...
- HOW 实现计划(双审定稿)+ 项目初始化骨架(锁 agentscope 2.0.3 + forbidden-import CI + 交接 brief)
- 接住 A-model 分支(可复用资产对账 + 协调纪律)
- 核心三族细颗粒图说:D 三层校验(5)/ E 能力面(4)/ C 单写循环(4)=13 图 + 3 族图说;对抗验证 + 机器复验全过
- advisory 跨分支标「接」(A-model 未合并 dev/2.0.0,合并后 D2/D4 脚注对账)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 09:17:57 +00:00
zizi
32adda9517
docs(tier2): 核心三族细图——C 单写循环×4 / D 三层校验×3新 / E 能力面×3新 + 三族图说
...
10 张新图经 draw→对抗验证→族汇编 workflow(23 个 opus 子代理)产出,保留首批 3 张手绘样板:
- C 单写循环:单写ReAct循环 / M3 Anthropic原生接法 / 四道熔断+预算闸 / 多轮范式承amodel-gen
- D 三层校验:富游戏专属门(三联动+经济+latch) / advisory分级+Goodhart隔离 / CDP探针Phaser重写
- E 能力面:引擎能力包五件套 / prompt两阶段角色 / A-model 4插件复用
对抗验证逮修真问题:D3 'P3'命名碰撞(张冠李戴·grep证伪后改)/ D5 半角冒号 / E2 虚实线图例自相矛盾。
全 13 张复验 界内/良构/脚注/ok。3 份族图说带防漂移 commit hash + 人读散文(正反例传下子代理)。
D 族 advisory 跨分支状态校准:A-model 分支已落、未合并 dev/2.0.0,主干视角=接(非现)。
3 份细节图说接进 agentic运行时架构图说.md 看图入口。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 08:17:45 +00:00
zizi
9237fdf7a8
docs(tier2): 核心细图首批3张——三层校验全景(D1)+九门逐门(D2)+skills清单(E1)
...
颗粒度样板,覆盖创始人点名的两个头号问题(哪九门/有哪些skill)。
内容对 tier2实现详设.md / 自治富游戏引擎.md 取证,house-style 复验全过。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 07:43:07 +00:00
lili
cbe42933d0
fix(saa): B 收尾·客观门跨层对齐 advisory——objectiveGatesPass 读 verdict.advisoryGates
...
根因:8ac4ccc8 的「未驱动 E_live/H 降 advisory」只落在 play.cdp.cjs(verdict.pass/
advisoryGates),未传到生成环消费层 SaaGenNodes.objectiveGatesPass——后者把 E_live 当
硬客观门、完全不读 advisoryGates。未驱动游戏(打地鼠 menu 态无 driver→phase 恒 menu→
_forensicsView distinctStates:1)E_live 每轮必挂→1+maxRepairs(5)=6 次 M3 假失败救场,
与既有 line651 注释里早修过的 H_progress「空跑 8 轮救场/302K token」同一类病(driver
依赖门绑架生成)。
修:
- objectiveGatesPass / summarizeFailedGuards 读 verdict.advisoryGates 同口径降级。
advisory 门要求【存在】(保住 C2 崩溃安全:缺门=harness 未跑完=失败)但【允许 pass=false】
(未驱动无法公平验活性);driven 时 play.cdp.cjs 不列入 advisory → 自动恢复致命,回归不破。
- objectiveGatesPass 提包级可见(与 summarizeFailedGuards 同范式),供纯逻辑单测。
验证:SaaFullGraphE2eGateLogicTest 23/23 PASS(+5 advisory 案:未驱动 E_live→过/
driven E_live→挂/缺门→挂/全过/反馈跳 advisory)。e2e 已实证 verdict.pass=true、
E_live/H 列 advisory(advisory 跨层生效)。
注:e2e 绿基线仍被一个【独立·先存】问题阻断——过门游戏不产终态回调(player 节点 M3
首次在 pass 路被触达,疑 M3-vision 挂),非本修引入,下一步处置。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 23:38:59 -07:00
zizi
ccb00bb9f2
docs(tier2): 接住 A-model 分支(Tier1 agentic 优化)——前提对齐+可复用资产+协调
...
feat/mac-amodel-foundation 让廉价线也 agentic 化(ReAct+M3+插件库+九门,仍 LittleJS),部分推翻 tier2「廉价线=声明式壳天花板」前提。创始人 2026-06-23 裁:维持 tier2、两线分立(A-model=LittleJS 轻量经营 / tier2=Phaser 重表现富游戏),边界从「能力档」精确为「引擎/复杂度档」。计划新增「与 A-model 分支的关系」节集中承载:① 插件契约(scene-fsm/hud-ui/session-score/timer-scheduler 引擎无关零语义+sim-business 配方)复用→U6/能力包(最大协同,原漏接);② amodel-gen 循环范式参照→U2/U7;③ play.cdp.cjs 基线(SAA-mode+driven 感知 advisory 分级)刷新→U3/U6;④ 源项目契约维持独立+溯源→KTD7/U9;⑤ L1/L2/L3 术语消歧。brainstorm+plan Problem Frame 前提措辞对齐;HANDOFF 补 A-model 协调。子代理(opus)分析实证。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 05:51:52 +00:00
lili
8ac4ccc861
feat(amodel): B 收尾——_forensicsView 必需(可测性红线)+ E_live/H 未驱动时降 advisory
...
创始人 B 裁:E_live/H 暂降 advisory + _forensicsView 必需 + 转优化循环。
- _forensicsView 必需:prompt 红线 + check() 验 game-logic 含 _forensicsView + skill(可观测红线;M3 之前当可选丢了致 H_progress 读不到 state)。导出 {phase,score[,targets]}。
- E_live/H_progress advisory:play.cdp.cjs verdict 改——未被驱动(spec 无 driver 且无 inputs)时这两门降 advisory(仍跑+报告 verdict.advisoryGates,不计入 pass)。自动可逆:将来 design 产 driver→driven=true→恢复致命;factory/gamedef 有 driver→不受影响。
- prompt/skill 同步:关键事件用 ctx.log 记日志(承接日志基建)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 22:26:42 -07:00
lili
db3c42c5de
feat(amodel): 运行时日志基建(ctx.log+插件自带+harness捕获) + 九门A(play-spec透传)+B2(F_wiring) + 预算
...
创始人指令:游戏要有日志,读日志诊断运行时问题,模板+可选插件自带日志。
日志基建:
- plugin.js:受控面 ctx 加 log(tag,...args) → window.__gameLog 环形(800)+ console;用受控 time.nowMs。
- boot-game-host.js:B2 插件 Proxy wrap 顺手记插件语义调用进 __gameLog(跳 draw/update/current/get 等高频)→ 插件自带日志免逐个改;recHook 仍记 __engineCalls 供 F_wiring。
- _template game-logic.js:ctx.log 生命周期(init/scene play/over)→ 模板自带。
- play.mjs smokeBoot:抓 __gameLog 写 staged evidence/game-log.json + 末12条进 out.logTail(boot 成败都抓,失败时最有诊断价值)。
- 实证:scaffold→smoke logtest → logCount:165、game-log.json 有 [p:sceneFsm:define/start]+[game:init];读日志诊断可用。
九门对齐(C 之 A+B2,recon ad3c564):
- A(SaaGenNodes validateAmodelStaged):amodel 路 validate-ok→play 短路了 scaffoldNode(唯一写 play-spec.json 处)→ 补写 play-spec.json(从 design 产 K_PLAY_SPEC)→ 九门可驱动(治 E_live/G_input/H_progress 机制)。
- B2(boot-game-host):插件 recHook wrap → F_wiring callCount>0(实证 e2e 从 [E_live,F_wiring] → [E_live,H_progress],F_wiring 已过)。叠加式,factory/gamedef 零回归。
预算(gen.mjs):maxSteps 45→70 / maxWallMs 12→20min —— SAA design 富化 brief 比 raw(7步)需更多步。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 22:21:29 -07:00
zizi
4d694dfa17
feat(tier2): 项目初始化骨架(6c6g)——模块边界+依赖锁2.0.3+forbidden-import CI+交接brief
...
在当前设备(6c6g)完成 tier2 富游戏自治生成线项目初始化(plan-stable 部分):tier2/.agent(模块边界/红线/TODO)、README、gen-worker/requirements.txt(独立锁 agentscope==2.0.3)、ci/check-forbidden-import.sh(运行期零碰 SAA 守门·已验通过)、HANDOFF.md(交接 Mac brief)。实现+运行调优转交 Mac/mini-desktop(真跑需 chrome/headless,6c6g 禁)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 20:48:22 +00:00
zizi
cf0695abd3
docs(plan): tier2 实现方案双审定稿——Codex 挂回落 Opus + R/U 漂移修正
...
Codex 评审做完分析但终评迟迟未落盘=实质挂起,按铁律 Codex 挂回落 Opus 单评;提取 Codex 已暴露信号(R 编号/U 单元映射漂移)自核——修 U8 错误引用 R1(R1=pre-spike 不上 service,U8=B 门后上 service 即 R1 deferred 部分,非新需求)。Opus 3 P0 已于 a1539e9e 整改。双审定稿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 20:48:22 +00:00
zizi
a1539e9eb8
docs(plan): tier2 富游戏自治生成线实现方案(ce-plan)+Opus 评审整改
...
ce-plan 产出 HOW 计划:Deep·10 单元(Phase A 详 7 到 A/B 证据门 / Phase B 纲要 3·B 门后投)。纳入 Opus 源码级对抗评审 3 P0:① U2 重定性——种子 validate/run/roles/prompt 是 LittleJS 专属、对 Phaser 完全反转、需重写≈net-new(非 fork+钉版本);② M3 成本取证补 RecordingChatModel(AnthropicChatModel) 变体(原只覆盖 OpenAI 路、A/B 门经济性断链);③ M3 thinking 下结构化 finish 降级、补 spike-grade 最小产物收尾(原误 gated 到 Phase B)。+ 环境切分逐单元(6c6g 骨架/Mac·mini-desktop 真跑)+ A 门两段与(先过 L1 再试玩)+ 闭环端到端独立验收门 + client_reuse 复用面纠偏(参数化 BASE_URL/key+NO_PROXY 副作用非包 chat)。Codex 评审后台跑中,delta 待并。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 20:39:37 +00:00
zizi
56f2da2a8e
Merge 'docs/tier2-impl-plan' → dev/2.0.0: tier2 整体实现方案 + 自治富游戏引擎三层口径 + AgentScope v2 实证
...
整体实现方案 brainstorm(顺序软/判据硬·双评审修订) / 自治富游戏引擎验收升三层校验 / 方案对齐 v2 官方文档实证。3 commits 无冲突合入。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 19:44:24 +00:00
zizi
0b18321e70
docs(tier2): 方案对齐 AgentScope 2.0 官方文档实证(v2 离线镜像)
...
读 agentscope-skill 新增的 v2 离线镜像(v2-deploy/v2-building-blocks)核方案:R1(create_app 需 Redis+message_bus+workspace_manager 重基建,起步本地 runner 对)/R3(内置 Workspace 无浏览器探针,接 CDP harness 对)/R8(AnthropicChatModel+thinking)/R13/R16 全站得住。回填三处实证:R13 阶段1 只读设计 worker = 原生 SubAgentTemplate(PermissionMode.EXPLORE)经 create_app 注册·非自建;KD3 标 v2 镜像+源码为集成权威·SKILL.md 正文 1.x(ReActAgent/MsgHub)勿照抄;Sources 补 v2 镜像引用。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 19:36:10 +00:00
zizi
bacb2daaa6
chore(skills): 同步 agentscope-skill 完整版到 dev/2.0.0 主线
...
用 feat 完整版替换 dev 旧版:references 补 studio-rest-api + v2-overview/v2-building-blocks/v2-deploy(docs.agentscope.io 2026-06-22 快照),SKILL.md 补索引。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 19:24:18 +00:00
zizi
4858e6cf3f
docs(gen-engine): 《自治富游戏引擎》验收口径升三层校验(L1/L2/L3)
...
旧'验收切两层(机器判/人判)'落后图说与实现详设一版,升到创始人三层校验:L1 硬约束+L2 设计符合=确定性归机器、L3 效果(M3 视觉软检)只评分不阻塞、好不好玩最终归人。无冲突对齐(不碰 gamedef/在飞会话);承 tier2 整体实现方案 R19。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 19:05:16 +00:00
zizi
4f2239ac57
docs(tier2): 整体实现方案 brainstorm——顺序软/判据硬·先集成再用 M3+mmx 迭代
...
按图说整条架构组织的 tier2 实现主轴:先 AgentScope 集成+环境(单写起步·不上 Service)→ M3(代码/逻辑)+mmx(资产)连续迭代;0号 spike 软化为顺序、判据保持离散(A门 M3 证路软 / B门便宜档 n≥30 硬 / 退路树沿用实现详设数字触发线)。
纳入 Codex+Opus 双评审修订:R1 拆 pre/post-spike·种子 studio.py 2.0.1→2.0.3 迁移·CDP 对 Phaser 是重写且为 spike 前置阻断项·两道证据门+硬区分历史证据(Tier0/1 声明壳≠Phaser 富游戏自治)·mmx 最简形态·阈值引实现详设不复列·forbidden-import 升 pre-spike CI。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 19:05:16 +00:00
zizi
14c3ce4896
docs(recall): 清理历史回收过程留痕(删 12 清单+README,保判定记录)
...
回收→判定→落档闭环已闭合,捡回项已写进现行设计档(带来源标记)。删 12 份回收
清单(第一轮 6 + 第二轮 6)+ README 总索引,git history 永久保留可随时翻;保留
创始人判定.md 作判定追溯权威。同步修 5 处指向被删清单的断链(前端 README 2 +
观测体系 3,改为文字引用 + 判定记录指针)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 18:28:21 +00:00
zizi
c9db9f7d36
docs(agent-specs): 域化重构收尾(保守批)——归档18档+清引用+_index瘦身
...
确立 docs/architecture 为设计/现状唯一真源,agent-specs 仅留正在演进的设计。
回灌核对(review §2.4)后将 18 份「已迁入 architecture 或纯留痕」的设计/过程档
git mv 进 _archive(各带 SUPERSEDED tombstone 指新落点);生成域在飞设计链
(架构演进路线/生命周期范式/多session总账/任务普查)+ 3 待定档暂留,待二次收尾。
- 归档 18 档:SAA编排/引擎运行时/验收门/prompt治理(settled 底座,内容在子树)
+ WG1/设计裁决/OpenGame/开闸接线/固定架构review/传承演进/并行编排(已迁子树)
+ 完成度总账(FOLD 进需求模块映射)+ SAA-dossier残留 + 根因复盘/目录治理/
深度重构plan/文档整理plan/planB-closeout(纯留痕)
- 清 7 处死引用:5 处 .agents/plans 旧 agent-specs 路径→新树 + 2 处 architecture
树内回链(开闸接线/观测体系→验收门新树路径)
- 修 7 处归档连带死链(指已归档档→新树现行档 或 _archive 留痕)
- _index 补 2026-06-22 收尾 banner + 6 处指针改新树/_archive
- 死链门 check-deadlinks.sh = 0;收尾清单 docs/plans/2026-06-22-域化重构收尾清单.md
待二次收尾(创始人选保守暂留):总体架构-review/固定架构-execution/产品开发路线图
(architecture 仍当其权威源回链,需先补迁详义)+ 对话素材v1(留痕,牵连保留档链接)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 18:18:31 +00:00
zizi
bb7c2baf7b
docs(arch-atlas): 完整性补图16张——新人据图通读全系统
...
9 opus 子代理新人视角审查→补 16 图(P0+P1+P2),目标=读图即懂整个系统:
- 00: 端到端跨域全链泳道(8泳道15步+钱流并联,旗舰)+ 系统上下文外部依赖边界(C4 L1)
- 01 B端客户旅程 / 02 逻辑→单体物理拓扑+契约跨域接缝+模块状态热力图 / 03 postMessage信封数据模型
- 04 核心对象生命周期状态机+两套身份 / 05 对话式创作闭环+生成任务UI闭环+feed交互
- 06 运营状态机合集+IP授权锁风来源+短信vs邀请码 / 07 端到端trace贯穿
5 新 SVG 经脚本核(良构/零溢出/脚注/转义)+ 11 Mermaid 配平;8 篇纯追加(既有图零改)。
子代理忠于源码/设计档纠偏:B端P-BIZ编号/feed第四互动=举报/BIZ五态按设计档真态/契约命名漂移诚实标。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 18:12:15 +00:00
lili
32fd756f3f
feat(amodel): 落地 3 层架构——L1 全11插件固定 + game.js 拆 wrapper/game-logic + L3 扁平契约
...
实现创始人 3 层模型(评审稿 2c220c13):
- L1 工程骨架(LLM 不写,writeFileTool 拒):host-config 注入全 11 插件(编排4+save+gamefeel/juice/palettePost/audioMusic/collision/physics,registerOrder 合集显式定义,viewport 硬编码 390×844 下传)+ game.js 薄 wrapper(摊平 opts.runtime→交 game-logic)。
- L3 游戏代码(LLM 只写):新 game-logic.js = createGame({plugins,bundle,viewport}) 收扁平件(无 opts.runtime 嵌套坑);必写 1=game-logic,core/render 推荐拆可内联。
- harness:tools.mjs check/真改写守卫迁 game-logic.js + 验 export createGame;writeFileTool 拒全 L1 文件(host-config/game.js/index.html/entry-bundle/entry/main)。
- prompt.mjs + skill + README:全对齐扁平契约 + 11 插件键 + 手感二分(方法名以 api.d.ts 为准,修 burst 幻觉)。
验证(全绿):
- M1 控制门:全11插件一起 boot(ctrl11 smoke PASS)+ 拆分后 boot(ctrl12 smoke PASS)——两个从未跑过的组合都过。
- 端到端 newarch1(M3 写 game-logic):**ok:true / 7 步 / 102s / 82K token / smoke PASS**,且 **M3 只写 1 文件 game-logic.js**。对比修前(5文件含wiring/thrash21-70步/600K+常失败)→ '降低 LLM 的活' 彻底兑现。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 11:08:46 -07:00
zizi
1b3e375a68
docs(arch): 历史回收判定落档——约 60 条捡回项写进 21 份现行设计档
...
按 _recall/创始人判定.md(创始人 2026-06-22 逐条判定),6 域并行 additive 落档,
每处标来源、人读散文、涉契约者给 contract-first 待落地清单:
- 产品:商业定位补竞品现任者/IP 关键人风险/增长冷启动/验收北极星;护城河话术补
腰尾部 IP/真资产 reframe/自有吉祥物红线;Doc A 就地改格(P-PUB-01→P1、
P-OPS-01→P0-lite,ACC 进 P0↔PUB 出 P0 保住 55 锚)+ P-CRT-02 注记每类 workflow
生成/rig 留 premium 远期/补 P-id
- 前端:README §9 前端域承载(admin 审核台四页+观测三入口/C 端收益页溯源条 AIGC
标识/43 口径引用/移动端适配/Debug 插件)
- 后端:数据模型 §7 待落地缺口(026 game_id/029 留存/030 锁风 JSON/031 信用台账/
绘豆)、鉴权与权限 032 封号级联+018 短信防护、契约总览 Pact/Registry 远期
- 生成引擎:029 硬门 A-E 回填验收门+OpenGame对照/031 Phase 路线/033 创作期回灌/
035 反锁死/036 harness 护城河/037 整图串行/001 对话式/002 透传/007 绘豆预算
- 运维:观测体系 §3.7 网关健康巡检、README §5/6/7 job 调度面/flag 纪律/数据可靠性
- 运营:渠道发行广告运行时红线/审核台事中召回/变现端到端资金切换护栏/变现与单位经济
月增速+eCPM 口径统一+成本漏算+成本假设待测
contract-first 待落地项均标"勿当已建"。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 18:08:05 +00:00
lili
2c220c1302
docs(amodel): 3 层架构边界设计(评审版)+ §6.8 双审折叠 + D9=全注入
...
创始人提 3 层模型(L1 工程骨架/L2 标准能力库/L3 游戏代码),目标=降低 LLM 必写量、只写游戏逻辑、根除 host-config wiring 错类(reading 'w')。
设计:3 opus fork 顺序设计 L1→L2→L3 边界(每层 边界=不做什么/标准/在哪里),综合成评审版。
双审(§6.8):Opus 对抗式 fork 全程(3 major)+ codex:codex-rescue(读全 api.d.ts+文档,捞 burst 幻觉;末步 stalled)。已折叠(§0):
- M3 强制三分→必写1(game-logic),core/render 推荐拆/可内联(真达成'省 LLM 活');
- M1 全11 registerOrder 是新组合两参考序冲突→实现期显式定义+L1控制门前置;
- Codex 捞 juice.burst 幻觉(我文档自犯)→手感范式以 api.d.ts 为准、禁臆造;
- minors 入 §9.1。
创始人裁:D9=全注入+实测(A)。
转实现:M1 控制门(全11插件一起 boot 验证)→ game.js 拆 wrapper+game-logic → host-config 注入全11 → harness/prompt/skill 对齐 → standalone+e2e 验证。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 10:51:52 -07:00
zizi
f05f7d8349
docs(recall): 创始人逐条判定 6 域历史回收清单收口(_recall/创始人判定.md)
...
创始人 2026-06-22 逐个文档判完 6 域(产品战略/前端/后端数据契约/生成引擎/
运维基建/运营变现合规)的历史回收清单(第一轮 199 + 第二轮 43)。判定记录:
- 捡回约 60 条(含 P-FED-12 升 P0/P-OPS-01 升 P0-lite/P-PUB-01 降 P1 等验收契约调整)
- 形态定调:六资产=每类 workflow(dify)生成、玩法模板保持 P0、rig 留 premium 远期
- 新设计点:绘豆(类积分体系,取代旧 point_rate=10)
- 不捡:30/40 分层工作集、反同质化 feed 侧、种子创作者 BD、Pact/Schema Registry 等
- 待办:对外融资口径锁单值、staging 数据脱敏归属
落档(把捡回项写进对应设计档)待统一执行。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 17:38:30 +00:00
zizi
79f4d34fa9
docs(ip): 软著说明书 + 专利交底书 模型接入描述对齐现状·去AI味
...
- 软著说明书(§2.2/§3/§6) + 专利交底书(§5.1 图1):模型接入由「唯一 OpenAI 兼容出口 / 绝不直连厂商 SDK」改为「new-api 网关统一端点·协议不锁(OpenAI 兼容 / 厂商原生均经网关接入)」
- 只陈述当前实现现状、无变更过程措辞、去 AI 味
- 软著尚未提交,直接 commit(创始人确认)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 16:01:59 +00:00
zizi
b52afc5ea2
docs(arch-atlas): 按领域拆成 00-07 编号文档(全放顶层)——创始人反馈全量主档太大
...
结构经三次反馈收敛终态:导览式多文件(跨子目录不渲染)→ 合并一篇(太大 1721 行)→
拆 8 篇编号文档都放 docs/architecture 顶层:
- 00-系统总览图说.md = 总图(7 系统级图)+ 目录(链 01-07)+ 通用图例 + 按角色路径
- 01-产品…07-运维图说.md = 每域一篇,各含该域全部图 + 讲解(散文逐字保留)
顶层文档引子目录 assets(运维/assets/xx.svg)单向下引、全图真渲染;SVG/各域README不动。
复验:8 篇共 35 图嵌入零缺失、36 Mermaid 配平、00 链 7 域有效。
配方/记忆/计划/README索引同步终态(铁律:图集文档放顶层引子目录assets,别让子目录文档跨引另一子目录图)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 15:33:46 +00:00
lili
d56ed9962e
feat(amodel-gen): host-config 设为固定 plumbing——根除 M3 插件 wiring 错类(reading 'w' 终解)
...
钻 reading 'w' 钻到真根:M3 游戏逻辑写得了(check+build 过),但反复搞坏 host-config 插件 wiring(viewport 漏键=reading 'w' / registerOrder / game.js 漏 .plugins=reading 'define'),修一个露一个=whack-a-mole。创始人批准结构性修复方向。
改动:
- _template/src/host-config.js:viewport 硬编码 390×844(去掉 import W/H from render.js)——解耦 agent 的 render.js,agent 改 render 不再能让 viewport 失值。
- tools.mjs writeFileTool:物理拦截 src/host-config.js 写入(agent 改不了固定 plumbing)→ 根除 viewport/registerOrder 整个 wiring 错类。
- prompt.mjs:agent 只写 game/core/render/assets(host-config 进固定 plumbing 清单、write 会拒);可用插件键直接列(sceneFsm/sessionScore/hudUi/timerScheduler/save);去掉已被结构性根除的 viewport footgun,保留 game.js 取插件走 opts.runtime.plugins 两层的 #3 footgun。
- littlejs skill:host-config 标【固定 plumbing·不写】+ ❌ →✅ 同步。
验证(standalone whack wfix4):**ok:true / 13 步 / smoke PASS(booted+frames)/ 6min / 180K token** —— wiring 错类全消失,M3 活变小、收敛比此前(21/70 步 thrash)快得多。对齐主流(框架 boilerplate 固定 + 用户写游戏)。aligns D1=A(agent 仍手写全部游戏逻辑 src/,仅 boilerplate 固定)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 08:28:02 -07:00
zizi
bf461e723a
docs(knowledge): README knowledge 表挂 agentscope-2.0.3-facts 索引
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 15:16:24 +00:00
zizi
b6563df434
docs(knowledge): 蒸馏 AgentScope 2.0.3 真实架构速查 + README 索引
...
- 新增 .agents/knowledge/agentscope-2.0.3-facts.md: 3 路源码实证的 2.0.3 真实 API 速查(对象关系/API纠偏/服务化/Agent Team/模型记忆熔断观测/官方没有/tier2接法+reuse) — 免下次重查源码
- README knowledge 表挂索引
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 15:14:13 +00:00
zizi
28e70d7d7b
docs(arch-atlas): 收口单一全量主档——删冗余导览式apex+7域图说
...
创始人裁定'删冗余只留全量主档':
- 删 系统全景图说.md(导览式apex)+ 7 域图说(产品/架构/沙箱/后端/前端/运营/运维),内容已全部 inline 进 系统全图说.md;SVG 与各域 README 保留不动。
- 系统全图说.md 防漂移门改指真实设计档(6域README + 13模块/契约总览/产物执行沙箱/数据模型/鉴权/观测/k8s/生成引擎README)的 commit hash,非已删的中间图说;每图具体映射见图脚注。
- 顶层 README 加'看图入口'指向全量主档;.agents/skills 配方 + plan 同步为'单一全量主档'口径(多文件跨子目录不渲染→合并一篇引子目录assets)。
复核:35 图嵌入零缺失、36 Mermaid 完好、目录锚零断链。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 15:07:50 +00:00
zizi
799ec6790f
docs(arch-atlas): 系统全图说——单一全量主档(全部图说 inline 在一篇·全图真渲染)
...
按创始人反馈:多文件跨子目录引用在其渲染环境不显图,改为一份自包含主档。
1721 行:顶部目录(102锚零断链)+ 7张系统级图 + 七领域全部图说逐字并入;
35 SVG 经顶层相对路径引用(逐个ls实证存在·零缺失)+ 18内联Mermaid + 18张'引'图改内联其README Mermaid(带图源小注);
SVG文件不动仍在各子目录assets/。生成引擎子树只链接不并入(另session在飞)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 14:56:17 +00:00
lili
baedcd8153
fix(amodel-gen): reading 'w' 根因 footgun(host-config wiring)+ m3 timeout 300s
...
钻 reading 'w' 根因(minified 栈实锤):bootGameHost 读 i.viewport.w,而 buildTemplateHostConfig 返回的 viewport=undefined → M3 改 host-config 时破坏返回契约(漏 viewport 键/删 render.js export W/H)。非 minification、非产不出(两局当前 src 生产 min build 后 smoke PASS)。
更广模式:M3 游戏逻辑写得了(check+build 过),但反复搞坏插件 wiring——3 契约点:① host-config return shape(viewport)② registerOrder ③ game.js 取插件漏 .plugins 一层(createGame(opts.runtime) 后从 runtime 解构 → sceneFsm=undefined → reading 'define')。
本次改进:
- footgun ×2(prompt.mjs 红线 + littlejs skill ❌ →✅ ):buildTemplateHostConfig 必返 5 键+viewport{w,h};取插件走两层 opts.runtime.plugins。
- m3.mjs timeout 180→300s:M3 大上下文 turn 触发 thinking 单 turn 实测 ~215s(裸简单调用仅 1-3s);180s 误超时+重试更拖。实测效果:wfix3 从 read-thrash(63读0build)转为真写码(27write/check+build PASS)、viewport bug 未再现。
注:踩了 prompt.mjs 模板字面量反引号坑 2 次(node --check 拦下,未浪费 run)——红线:prompt.mjs 内禁反引号。
未达绿:amodel e2e 仍 0/1——wiring 错类是 whack-a-mole(footgun 一个、M3 露下一个),且 per-attempt 步数预算下难一次收口。下一步战略(待创始人定):结构性把 host-config + 工厂 glue 设为固定 plumbing(agent 只写游戏逻辑),根除 wiring 错类。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 07:54:13 -07:00
zizi
ae7d78ddde
docs(arch): 全仓架构档对齐游戏生成两条线(组外 ~14 档)
...
- tier2 富游戏线 = AgentScope(Python 独立 service) + Phaser;Tier0/1 廉价线 = SAA + LittleJS(产物走 src 源项目)
- gamedef json 正废除中(另会话)→ 终态=可维护 src 源项目;gameDefinition 现为迁移中的中间脚手架/债(非已移除)
- Cocos 区分:退出 tier2 自治轨改 Phaser;Tier3/3D/渠道导出的 Cocos 保留
- 未来可能两条线收敛入 AgentScope(登记)
- 覆盖:顶层图说体系(系统全景/架构/产品/前端图说) + 架构核心(README/产物执行沙箱) + glossary/tech-decisions + AGENTS§3 + mvp(总账/作战清单/可行性方案) + agent-specs(agentic编排-SAA/_index) + 图①svg
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 14:24:20 +00:00
zizi
4abc0f1e5f
docs(gen-engine): 生成引擎模块补图 P0 四张电梯图 + 《生成引擎图说》总入口
...
- 图① 全局两线+tier体系(廉价线vs自治线·零耦合·公共组件交汇)
- 图② 游戏=长生命周期源项目(源目录+六操作+改源不改包闭环+免LLM/要LLM)
- 图③ 廉价线端到端(一句话→开闸→SAA16节点→九门→落库→feed·串编排/验收/prompt/开闸)
- 图④ 数据飞轮全景(生成→发布→播放→遥测→反馈→优化·三轮咬合)
- 新建《生成引擎图说.md》总入口索引全模块(P0四张+tier2九图指针+各档mermaid+P1/P2待补)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 13:42:15 +00:00
lili
054ebb0818
docs(.agents): 蒸馏批B 坑#9(shell-out validate 须尊重子工具 ok)+ §8 production 进展
...
坑#9=批B Fix A 通用红线:gen.mjs done-gate stage→smoke,smoke 失败留陈旧坏 bundle,validate 只查存在会误过→须读 harness ok 标记 + failCount 由 validate 统一计。§8=集成方式C/批B 收口(3fbb3197)+ 真阻塞 M3 生成质量 reading 'w'(非集成)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 06:24:36 -07:00
lili
3fbb3197f4
feat(amodel-gen): Phase 2 批B — SAA 图 amodel 路集成(集成方式C)+ Fix A(validate 尊重 harness ok)
...
集成方式C:SAA generate 节点 shell-out 已验证 harness `gen.mjs --mode saa`(amodel flag 旁挂)。
- AigcExecutorProperties: saaSourceMode += amodel(Javadoc;默认仍 factory)。
- SaaGenNodes: 新增 runProcessSplit/SplitProcResult(stdout/stderr 分流,末行 JSON 不被 stderr 污染);validateNode amodel 分支 + validateAmodelStaged。
- SaaStudioNodes: generateNode 6 参重载(amodel 短路 generateViaAmodelHarness:argv 透传 brief+key、解析末行 JSON);okElseRepairOrEscalateOrGiveupAmodelAware(validate-ok→play 短路)。
- SaaStudioGraph: assemble/build apiKey/llmBase 透传链 + validate 条件边 amodel-aware + "play"边。
- SaaGraphDispatcher: ensureGraph 传 apiKey/llmBase。
Fix A(本次发现并修的真集成 bug):gen.mjs done-gate 顺序 stage→smoke,smoke 失败 done 被拒但 stage 已落盘陈旧坏 bundle(harness 返 ok:false/stagedDir:null 却留文件)。原 validateAmodelStaged 只查产物存在=误过坏 bundle→路由 play→九门崩+白耗~10min。
修:generate 置 K_AMODEL_GEN_OK(成功 true/失败 false,不再自增 failCount);validate 先尊重该标记(false→救场,不读陈旧产物),failCount 由 validate 统一计一次(与 factory/gamedef「generate 产出、validate 计数」同口径)。
验证(严格):
- mini 权威 mvn test-compile BUILD SUCCESS(main+test)。
- 83/83 SAA 确定性回归单测全绿(门路由18/拓扑30/节点回归14/history重载4/dispatcher9 等)——factory/gamedef 零回归。
- amodel e2e dispatch→generate→validate→路由 实跑通;控制测试 pristine _template scaffold-saa→build→stage→smoke PASS(env/信封/插件正常)。
- Fix A 行为确认:修后坏 bundle 被 validate 正确拒(未到 play);修前 breakout 坏 bundle 到了 play。
未达(解耦·非本集成范围):amodel e2e 仍 0/1——M3 生成质量 boot 崩 `Cannot read properties of undefined (reading 'w')`,跨 breakout+whack 复现;pristine 模板 boot 干净→证 M3 代码问题,非集成/env/harness。属 Phase 3/4 生成质量门(D1=A:factory 默认直到 amodel≥60%)。
零回归:amodel 纯旁挂 flag,saaSourceMode 默认 factory;amodel=false 时全部新分支跳过,新"play"边对 factory/gamedef 不可达。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 06:21:12 -07:00
zizi
d5efe45f71
docs(agentic): 回写 tier2 三份设计档对齐图说(2.0.3真实结构/三层校验/两阶段/二维复用/service化)
...
把图说确立的本次校正回写进设计档、supersede 旧表述(均经 agentscope 2.0.3 源码实证):
- 四层工程架构: 四层→职责视角(environment=Workspace 双轴注入·Agent 非常驻) / 双层→三层校验 / 复用契约→二维+6项改官方+载体类型 / 补两阶段·service化·goal-task·无 workflow DAG
- 实现详设: 运行时形态(两阶段/service化/session三路径) + 三层校验 + M3 接入(AnthropicChatModel+base_url+thinking) + 建设五步锁2.0.3 + 源项目契约复用 finish schema
- 集成架构: 官方 Agent Service + Agent Team(MsgHub已删) + session三路径 + workflow范式(无DAG+未来需求登记) + trace=Event System+OTel+Studio + 预算软刹官方/硬熔断自建
- 待定: 记忆载体 ReMe(独立框架·要自接) vs mem0(2.0.3官方内置 middleware)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 13:08:15 +00:00
zizi
c7e37a739b
docs(skills): 蒸馏架构图集生成配方(§7 知识沉淀)——第一期实证
...
配方含 house style 规格/图说文档结构/三范式纪律(单源·防漂移·状态双层)/按域并行编排/
复验脚本/双评审揪出的六坑/分两期+跨session协调;供第二期(生成引擎子树)、在飞 session、
后续加域复用。.agents/README.md 索引同步。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 12:38:05 +00:00
zizi
f9d6baa5f4
docs(arch-atlas): 总图叙 apex 系统全景图说——第一期收口(导览式·7系统级图+七领域导航)
...
读一份文档完成整个系统了解+据图 review:§2 七张跨域系统级图(六域生命周期/六层分层/
现行SAA线‖远期tier2轨边界/跨域数据飞轮/失败降级补偿全景/端到端鉴权信任边界/角色×端)+
§3 领域导航(每域讲什么故事+最该据图review的命门缝+链接)+§4 按角色下钻路径。
单源只链不重画;6 SVG 经脚本核良构/零溢出/脚注转义;9 源档 commit hash 防漂移门;
现行vs远期严格标(tier2远期待spike虚线/Dify废/网关双校验未来态)。
第一期=总图叙+7域图说(运维/产品/架构/沙箱/后端/前端/运营)全收口。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 12:35:15 +00:00
zizi
7fff6518a4
docs(arch-atlas): 第一期六域图说(产品/架构/沙箱/后端/前端/运营)——克隆运维金样板
...
6 域图说 + 25 张新 SVG,克隆运维金样板配方:house style 沿用、状态双层标注、
单源引用(引图只链 README 不抄)、frontmatter 防漂移门记源档 commit hash。
独立复验:25 SVG 全 XML 良构/零溢出/脚注映射+状态齐/转义 OK;6 md §0-3 结构齐、
hash 与当前 git 一致、单源 mermaid 块数=新 Mer 图数。
高风险图抽验:架构契约族诚实画'声明 vs 现实'5 处漂移缝;运营合规死锁点出律所待裁缝。
覆盖 ~56 图位(25 SVG + Mermaid 内联 + 引用现有)。PNG 留 mini-desktop 后续转。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 12:15:54 +00:00
zizi
3fc54ea201
docs(agentic): 落创始人第2轮反馈——两阶段闭环/session三路径/goal-task/载体类型/workflow范式
...
- 图A 重画: 阶段1只读(EXPLORE)+跨session对话+修改意图设计 / 阶段2写工程内文档+模板初始化工具+写代码 / 工程仓闭环(写→读)
- 图1/2 加 Agent Team; 图2 加 session 初始化三路径(续会话/加载已有工程/加载模板)
- 图3 补 goal/task(AgentState.tasks_context TODO 追踪); 图6 每个自建项标载体类型(Tool/MW/Skill/Prompt/Memory/Schema/独立)
- 图说 §5b 登记未来需求(给用户的 workflow 能力·待讨论) + §5 校正记录 + workflow 范式(无 DAG·自治)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 12:01:04 +00:00
zizi
891a5777c2
docs(arch-atlas): 运维域图说金样板——架构图集首件(8图:4 SVG+3 Mermaid+1单源引用)
...
第一个域样板,验收通过作扇出克隆标杆。house style 沿用金样板;
状态纪律到位(观测=接/k3s=缓,图顶状态约定条+元素级实心 vs 虚线);
单源引用(图1四机只链 README 不抄);frontmatter 防漂移门记三源档 commit hash。
4 张 SVG 经脚本核:XML 良构、零溢出、脚注映射+状态齐。PNG 留 mini-desktop 后续转。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 11:30:43 +00:00
lili
cd2903baab
feat(amodel-gen): Phase 2 批A — harness SAA-mode(__GameBundle 信封 + stage + 循环内 smoke-boot)
...
execution spec v3 Phase 2 批A(harness 侧·集成 C):
- 新增 games/_wg1-gen/_shared/entry-bundle.amodel.template.js:per-game 多文件信封,导出 bootGameHost + 经 --global-name=__GameBundle(治 review B2;game 根 entry 用 2-up、src/* 用 3-up)。
- tools.mjs:scaffoldSaa(_template + SAA 信封)/ buildSaa(__GameBundle)/ stage(原子 tmp→rename 到 _wg1-gen/<gameId>/,治 review B1)。
- play.mjs:smokeBoot(SAA 信封 __genBooted 同进程 boot+帧检,治 review HIGH-1)。
- gen.mjs:--mode saa --game-id;done 门加 stage + smoke-boot;stdout 末行 JSON 契约;max-steps 默认 45 + 12min 墙钟上限 bound thrash。
- prompt.mjs + littlejs-game-dev.md:幻觉 API footgun(❌ defineScenes→✅ define、❌ opts.ctx→✅ boot.ctx、修 bug 别引入 Math.random、方法名以 api.d.ts 为准)。
验证:控制组(_template SAA 信封)+ saae2e4 e2e 全绿(agentic→__GameBundle→stage→smoke→stdout JSON);HIGH-1 smoke-boot 两次实测捕获"编译过但起不来"。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 04:12:06 -07:00
zizi
3c008fb847
docs(plan): 架构图集 v2 确认稿——全域目录+图清单+每图讲什么(纳 Codex+Opus 双评审整改)
...
六域生命周期结构上增量铺图集:总图叙(导览式)+ 六域各一份图说 + 生成引擎子树(提案待与在飞 session 对齐)。
混合形式(复杂 SVG + 简单 Mermaid)、house style 沿用金样板、逐图标状态、单源引用防漂移。
~140 图位(~110 新作 + ~30 单源引用)。分两期:先六域、后生成引擎子树。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 11:05:56 +00:00
zizi
e41389ef09
docs(agentic): 落创始人4问校正——两阶段/真实结构/三层校验/reuse二维
...
- 新增图A 生成两阶段(工作室 Agent Team 星形多agent设计 → 单写实现)
- 图3 按 AgentScope 真实对象结构重画(Agent 无状态引擎持有 Workspace 双轴注入 / Agent 非常驻每run现组装)
- 验收改三层(L1编译运行必须/L2设计符合尽量/L3效果只评分·初期只L1)
- 图6 reuse 二维重做(来源×共享范围·官方能力列全·自建核对该删的改官方·公共=自建∩共享)
- 图说 md §4 三层表 + §5 四问校正记录 + §6 术语映射;均基于 agentscope 2.0.3 源码实证
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 09:40:41 +00:00
zizi
e6d87dc4f5
docs(agentic): 补全 tier2 运行时架构图集(图1/2/4/6 svg + 图5/7/8 mermaid) + 官方术语校准
...
- 新增 svg: 01-系统全景 / 02-调用时序 / 04-ReAct循环流程 / 06-reuse边界全景
- 图说 md 补全 8 图 + 图5/7/8 mermaid + 术语映射
- 校准官方术语: Agent Service(REST+SSE) / Workspace(Local/Docker/E2B) / Event System(agentscope 2.0.3 源码实证)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 07:32:36 +00:00
lili
3b425c4294
feat(amodel-gen): Phase 1 契约 — source-project.schema.json 升 oneOf(1.0 gamedef / 2.0 A-model)
...
execution spec v3 Phase 1(contract-first,HJ-AGI-003):
- 顶层判别式 schemaVersion:1.0=gamedef legacy 声明式(冻结只读,退役后不再产)/ 2.0=A-model 多文件代码工件 {files,entry,globalName:__GameBundle,plugins}。
- profile / assetSpec 提到 $defs 两分支共用;1.0 分支约束等价旧顶层(无 1.0 读者破坏)。
- ajv 8/8 验证:1.0/2.0 valid + 6 反例拒(缺 required / 未知版本 / 错 globalName / additionalProperties 双向 / gameDefinition 泄漏)。
- agent-loop 活契约(verdict/game-design/skeletons)未动。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 00:26:24 -07:00
zizi
0ff4d8cc48
docs(agentic): 模型接入口径纠正(统一new-api·协议不锁) + tier2运行时架构图说金样板(图3 svg)
...
- 内网凭据档补 new-api 协议端点(/v1/messages + /v1/chat/completions)+ 接入铁律(协议/SDK 不锁)
- rules/security 加模型接入统一出口红线;skill cheap-model 纠正旧「唯一 OpenAI 兼容出口」口径
- 新增 agentic运行时架构图说.md + assets/03-运行时内部架构.svg(金样板,基于 agentscope 2.0.3 源码实证)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 07:04:54 +00:00
zizi
7a68530f67
chore(skills): 装入 agentscope-skill 知识包(项目本地 .claude/skills)
...
AgentScope(Python)库开发知识包,对应 long-term premium agentic 轨
(参 saa-agentic-infra-decision);short-term 主线仍走 SAA(Java)。
含 SKILL.md + references(部署/多agent编排) + scripts(查模块签名/PyPI版本)。
仅装项目本地作用域;settings.local.json 与 .claude/worktrees 不入库。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 04:01:35 +00:00
lili
37f5eddbdd
docs(architecture): tier2 四层工程架构(评审版)+ README 导航
...
独立 AgentScope 模块的 environment/harness/context/prompt 四层地基(建设五步第一二步);复用契约四类(外部复用 cost.py/_client.py · 种子拷贝 studio.py · 自有依赖 agentscope · 禁止依赖 SAA);双层验收=确定性硬门(机制地板)+ M3 视觉软检(只观测、绝不拒发);硬代码 vs 可配置=三类门 + 三类配置;能力包 manifest 单一 owner;预算闸 fail-closed;spike-grade 地基逐项映射《详设》六样前置物。已过两轮 Codex+Opus §6.8 双评审,档内发现全闭;残留跨档 T1-T6 见 §11。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 18:51:36 -07:00
lili
6e388d9bbb
feat(amodel-gen): agentic A-model 生成 harness(ReAct+M3)+ skill + 四层设计
...
spike 验证通过:M3 经 new-api(openai+tools)agentic 自闭环产出可玩 A-model 游戏。
- harness game-runtime/tools/amodel-gen/(tools/play/m3/prompt/gen.mjs,零三方依赖):
scaffold(clone _template)→ ReAct(read/write/list/check/build/done;done 门=check+build 绿;
compaction + loop-detection)→ 循环外 play(headless Chrome boot+截图+交互 = 能跑能玩)。
- 3/3 玩法干净自闭环实证:打地鼠 / 陨石躲避 / 反应点击(13-22 步,175-378K token,play PASS)。
- skill .agents/skills/agentic-amodel-generation.md(链路/配方/8 坑/M3 实证/主流定性)+ README/AGENTS 索引同步。
- 设计 docs/agent-specs/2026-06-21-agentic-amodel-generation-design.md(§0 整链路 current→new + 四层 + §0.8 主流对照;draft 待 §6.8 双评审)。
取代旧 gamedef/factory 单次产线(A-model 生产形态);production 删 gamedef 待双评审(D1=A 无退路)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 18:50:38 -07:00
zizi
7b40175853
docs(recall): 历史回收第二轮(查漏补缺+review)6 域清单 + 总索引更新
...
拿这几天 9 份新设计档复核第一轮 199 条 + 补漏:
- 新挖 43:跨域双漏(admin 审核台四页+观测三入口)/ 3 条确定性后端缺口
(trade_income 缺 game_id·game_stat 缺留存·封号级联零实现)/ 生成硬门 A-E
pivot 未回填 canon / 冷启动供给(种子游戏+创作者 BD)/ 广告挂了要跳过保留存 /
new-api 网关健康巡检
- 改判 28:含 1 个真判错(后端 008 推荐公式第一轮误判遗落,实早在架构 README §7)
- 已被新档覆盖 36:证回收→设计闭环有效(审核台整章接运营 9 条 / 观测+k8s 接运维
9 条 / 数据飞轮接生成 4 条)
- 总索引 README 补第二轮章节;6 域清单带空判定列待创始人逐条判
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 01:15:25 +00:00
zizi
15b707fd2a
docs(arch): 回填创始人 4 拍板(k8s收窄缓做 / P-FED-12升P0 / 同款不分成 / 审核台信用降权放第一期)
...
创始人 2026-06-22 拍板,逐条落档:
- k8s:收窄(单节点 k3s + 数据库不进集群 + 推迟多节点/高可用/prod)+ 缓做(排 W-G1 之后)
→ k8s迁移 §7/§9/§6 收口、运维 README §4 修正
- P-FED-12 同款创作升 P0:Doc A 需求清单 P1→P0(P0 总数 55→56 待全局同步)、
数据飞轮开放问题#6 + 正文收口、前端 README §7.3 口径校准
- 同款创作首期不分成、纯展示溯源:数据飞轮开放问题#1 + 正文收口
- 审核台 feed 自动降权 + 创作者信用模型放第一期(覆盖原"建议降 P1"):审核台
§4 第一期/§3.5/§5.3 收口为放第一期、单独做(均待 contract-first 补新 -api/新表)
验证:待拍板残留 grep 全 0;Doc A 已 P0;审核台"放第一期"7 处。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 01:12:11 +00:00
zizi
3e71715af9
docs(arch): tier2 补充设计 4 份正式稿落地(数据飞轮/审核台/观测体系/k8s迁移)
...
4 份设计草稿经 Codex(核事实)+Opus(对抗式)双评审 → 据评审逐份精修:
- 修系统性事实硬伤:把"待建/未落库/已禁用"误写成现状的逐条改为"现状+本设计
新增+contract-first 清单"——数据飞轮 game_trade_income.game_id/lineage/ASSET
枚举待建;审核台 FeedApi 降权-api/封禁链路/credit_score 待建;观测 5 指标零
命中待埋点、@BizTrace 禁用;k8s Dockerfile 已存在/基础镜像 JDK21
- 修设计矛盾:血缘边 pending 状态机(坏同款不进网络)、去重加 child_creator_id、
remix 默认轻量跳转+漏斗埋点、审核台 feed 降权如实改、观测落点统一 mini-desktop
k3s(不放 mini-infra 569Mi)、k8s DB 接法定死 hostNetwork + QoS 纠错
- 洗 AI 味共 43 句:元叙述/套话/黑话清零(grep 负词全 0)
- 三骨架(生成引擎§10/合规闸门§9/运维§4)升级为指向正式稿;运营 README 接索引
待创始人拍板项见各稿开放问题(P-FED-12 升 P0 走 RTM / 数据回流授权 / 审核台
信用模型与 feed 自动降权 / k8s 范围与时机)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 20:16:36 +00:00
zizi
752b570eb8
docs(recall): 回填创始人三条边界判定(②③⑤ 全做;⑤ 含本阶段上 k8s + blast radius 提示)
...
- ② 数据飞轮:三条全做(溯源链+同款创作 / 资产市场 / 收益回流训练),展开跨模块面+落地依赖
- ③ 审核台:全做(双层审核+锁风三档+违规处置+admin 前端)
- ⑤ 观测体系:全做+本阶段上 k8s;诚实标注 k8s=部署架构大变更,建议与观测埋点解耦单独立项
- 回收 README 判定纪要补"三条边界已定"更新
范围已钉、待出正式设计稿;均就地扩活档。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 18:46:20 +00:00
zizi
f4ee23109e
docs(recall): 创始人逐条判定 5 条横跨多域优先项落地(2 对齐进档 + 3 立待补设计骨架)
...
- ① 对话式创作:定调完整产品形态=对话创作+差量修改+改素材,一句话+选玩法模板=
启动点位之一 → 前端 README §7.3 产品形态定调(对话式创作不再算 descope、前端 UI
列待补;未擅改 P1/P0 验收契约)
- ④ 平台吞并风险:应对=深化引擎使用+创作能力 → 商业定位 §3「平台方下场风险与应对」
- ②数据飞轮 / ③审核台 / ⑤观测体系:创始人判"需补设计" → 生成引擎README §10 /
合规闸门 §9 / 运维README §4 立待补设计骨架+范围建议,待创始人定 MVP 边界后出正式稿
- 回收 README 补判定纪要表(5 条结论+落点;其余约 194 条待逐条过)
均就地扩现行域活档、未新建一次性文件;全为人读散文。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 18:38:06 +00:00
zizi
6467820181
docs(recall): 历史设计点回收 6 领域清单 + 总索引(199 条待创始人逐条判定)
...
六领域各派一个 opus agent,穷尽式挖历史/留痕文档(agent-specs/_archive、
brainstorms、plans、memorys、_archive 旧长档)里讨论过、但现行
docs/architecture 没沉淀的设计点/想法/顾虑/约束,按 遗落/过期弃用/不确定
三状态分类,判定列留空供创始人逐条裁定。
- 产品战略 32(遗落17)· 前端 54(不确定43=前端域档边界口径)· 后端数据契约 25
- 生成引擎 28(遗落10)· 运维基建 30 · 运营变现合规 30
- 合计 199 条(遗落60/过期25/不确定114)
- 总索引 README 拎出 5 条横跨多域的优先项(对话式创作UX口径分叉/数据飞轮
生成侧落点/审核台空白/平台吞并风险章缺失/可观测性栈未部署)+ 判定口径
目的:避免现行架构在反复重写迁家中遗漏历史上认真讨论过、需考虑的约束。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 18:15:52 +00:00
zizi
38357c3dc0
docs: 架构文档补全 5 份 P0 新档(鉴权与权限 / 产物执行沙箱 / 契约总览 / 数据模型总图 / 变现端到端,均无 AI 味散文 + mermaid,逐份审过)+ 接进 架构 / 后端 / 运营 三域索引
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 17:45:23 +00:00
zizi
5cadf5042c
docs: ③ 五决策落地(1B trace 改'待立新类' · 2A 源项目契约另立独立 schema/防撞在产线 · 3A 前端 tier2 承载归属桩 · 4B 护城河对外暂不改+内部备注 · 5B 渠道竞标加 tier2 祛魅交叉引用)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 17:13:29 +00:00
zizi
7ecd616eb8
docs: tier2 口径对齐批量修(① 旧 Cocos 引擎口径→Phaser/Pixi 两轴 · ② 第二轨/控制面在各 SoT 登记;15 档跨知识层/架构/前后端/产品/运营)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 16:58:59 +00:00
lili
c44681b580
feat(runtime): A-model 地基——4 编排插件 + 2 skill + _template/catch-fruit + SAA 改写评审版
...
- 新增 4 编排层插件(session-score/hud-ui/scene-fsm/timer-scheduler),barrel 注册 12 件,各 impl/api.d.ts/manifest/PLUGIN.md/test,全 node 测绿;audio-music manifest 描述修红门
- skill littlejs-game-dev(code 层:12 插件 API/结构/写-vs-调/资产-mmx/工厂契约)+ sim-business-game-design(design 层:经营模拟范式 + 反"无趣"配方)
- _template(游戏克隆起点,10/10)+ catch-fruit(sonnet 扮生成 agent 只凭 skill 产出,25/25,真浏览器可玩 + canvas 自适应修复)
- docs/agent-specs SAA→A-model 改写评审版(Opus+Codex 双评审收口;D1=A 全压 A-model/D6=A 押 SAA,D6 已 mini-desktop 活验证 1/1)
- staging-ops 加「ssh 绕代理直连内网 IP」配方
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 09:58:52 -07:00
zizi
9ee58e19a0
docs(tier2实现详设): 补现行装载基线(engineBundle/GamePackage 从库取)+ spike 跑序(M3 先证路+人验→flash/v4pro 比成本)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 16:42:16 +00:00
zizi
af3d89c970
docs(生成引擎): ③ tier2实现详设(4 mermaid)+ 收尾(重指 supersession→②、README 登记 3 档、删 agent-specs 旧源稿)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 16:18:09 +00:00
zizi
19adbf6078
docs(生成引擎): ① agentic集成架构(控制/管理面)+ ② 补 mermaid(生成循环·引擎决策树·正交两轴)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 16:10:42 +00:00
zizi
1ded0281bf
docs: 无AI味写作标准入 AGENTS §6.12 + tier2 自治富游戏引擎设计(生成引擎子树·风格金样板)
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 12:28:38 +00:00
zizi
83ca96c802
docs(agentic): 4 份设计稿收敛为 2 份(架构档=tier2+控制面散文重写 / 详细设计档=spike;删决策记录+控制面v2+旧架构-review)
...
把围绕 tier2 富游戏自治轨 + agentic 控制/管理面的 4 份 WIP 设计稿收敛成 2 份,
全部以人读散文重讲、去机读电报体:
- 新建主架构档《agentic 生成架构:tier2 富游戏自治轨 + 控制/管理面治理层》,
合并重讲原 tier2 架构-review + 决策记录 + 控制面/管理面 v2 三份为一条连贯叙事
(为什么要 tier2 → O2 约束自治 → 引擎选型 → 渠道 → 控制面四组件 → 关键决策 → 建设排序 → 证到哪了)。
- 0号 spike 详细设计档只轻改对老架构稿的交叉引用,runbook 正文保持原样。
- 删除已折叠的 3 份源档(遵守一题一活档)。
- 顺带把 README/tech-decisions 两处 supersession 指针重定向到新架构档(修我自己删档造成的死链)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 11:45:05 +00:00
zizi
c7b5e8382f
docs(agentic): 控制面/管理面设计 v2(并入双评审修正+认领线A+砍热加载语义+提前只读看得见)
...
并入 Codex+Opus 双评审修正(全部已对代码核实,带 file 锚点):
- 认领线A:配置外置(prompt 同源/models.yaml)= 生成主线架构演进路线 线A 阶段2-3,
本档不另立分期、只引用,控制面在其上做净增量(审计日志/管理面UI/统一trace contract/
注册表推广skill·tool·mcp/热加载选型)。
- 砍热加载语义:Prompt Registry 是构建期 maven 快照非热加载(PromptResourceLoader.java),
"不发版改"砍到"下次任务生效";优先复用 infra_config + ConfigApi 已验证窄通路
(AigcControlPlaneProperties.PAUSED_CONFIG_KEY);先关 registry STUB(generic-coder)再推广。
- 纠模型现状:已有 AigcExecutorProperties.llmModel + SaaGraphDispatcher.saaForceModel 两入口,
非"全是 Java 常量";models.yaml 说清两入口迁移/保留。
- 统一trace改真contract:同表+公共核心子集(traceId/step/cost/verdict/timestamp)+各轨JSON扩展段,
落 contracts/trace/agentic-run-trace.schema.json;split-brain 真口径=诚实镜像不造字段。
- 拓扑降一档:SaaStudioGraph 是唯一布线源(编译期StateGraph),phase-1 只外置节点参数、
结构配置化推迟;守不变量#5框架可换=管理面只渲染运行时自报、不另持拓扑模型。
- eval门/D12记账诚实化:eval四门部分蓝图(adversary-review未建lint)、D12记账是骨架且仅覆盖SAA、
tier2 eval门是spike产物现不存在=配置安全门对tier2是接口层非内容层。
- 补配置审计数据模型+权限+GitOps/DB直写选边;tool registry收窄到tier2必需+补
discovery/healthcheck/permission/timeout/schema-test/kill-switch;MCP后续+fail-closed降级;脚本逃生禁用/白名单。
- 可视化合成(创始人认可):①保留config-is-truth内核②phase-1诚实改名"配置管理+运行可观测控制面"
并提前不依赖前置的只读"看得见"切片③限版图编辑排进phase-2不推远期。
- 小修:成本对账标依赖F3;删"覆盖90%痛点"无依据数字,改可验收指标。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 10:58:57 +00:00
zizi
cd5e4d8df0
docs(agentic): agentic 控制面/管理面 完整落地设计(创始人核心愿景=配置驱动+可视+可追溯+可审计)
...
把仓内散落零件(D12控制平面/9d trace/Prompt Registry/SAA checkpoint观测)合成连贯架构 + 补三缺口(可视化编排 / agent-skill-tool-mcp 统一管理 / 跨两线统一观测审计)。四组件:配置注册表(配置即代码·热加载不发版·声明式+脚本逃生·eval/灰度门)+ 观测审计仓(运行轨迹 + 配置审计两条事实线)+ D12 运行治理门 + 管理UI(读注册表+观测仓的视图/编辑器,非 Dify 式建图器)。守'别过度工程'(裁决§154):配置是数据非新框架·UI 是视图非建图器·一致性靠测试门非重型注册表·可观测靠 schema 完整非堆中间件。分三期:配置地基(=5步路线 step1-2、tier2 前置)→ 管理UI最小版 → 可视化建图远期。跨切平台层、服务 SAA Tier0/1 + tier2,不改生成逻辑。待 Codex+Opus 双评审定稿。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 09:53:48 +00:00
zizi
d73c537fec
docs(tier2): 0号 spike 详细设计 companion 档(补完整性检查最堵 P0,让 spike 可跑)
...
opus tier2 内容完整性检查指 §12 spike 是'判据哲学'非'可跑 runbook',工程师跑不起来。本档补五块:靶子游戏 mini-肥鹅 系统规格(资源/合成/订单三系统+耦合点+胜负)/ 模型矩阵(deepseek-v4-flash·pro + MiniMax-M3,n≥30 承袭基线纪律)/ 过门精确阈值(★建议值:过门率≥50-70%·成本≤¥3/款·max_iters + 退路树数字触发线)/ 两段实施 runbook(纯模型变量→开放自产driver,含Goodhart三层隔离)/ 采集指标字段表(run级+矩阵级)。生死门从哲学变工程可跑。剩余完整性缺口(engine-project 封闭 schema additionalProperties:false 需判别式决策 / dispatcher·callback 复用 delta 漏引 job-in 已有 tier 字段 / tier2 产物进 web feed 接点)待 codex 检查到齐并入主稿 §4/§11。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 08:50:13 +00:00
lili
0ae557d388
docs(.agents): 并入 dev/2.0.0 后补回本地独有蒸馏(saa-graph §3.5 两类静态游戏 + security CSP unsafe-eval 红线)
...
FF 合并 dev/2.0.0(19 提交)后,把 merge 前工作树里两处本地独有内容补回:
- saa-graph §3.5「两类静态游戏(gen-quality 哑火 vs wiring 哑火/CSP)」块——dev 未含,运行时无关的裁责快招,保留。
- security §1.1 CSP unsafe-eval 红线——与 dev 第4行(蒸馏来源域化)取并集;措辞泛化为「受控代码执行面」(不绑死 gamedef,兼容 agent 写码路)。
inject.ts/staging-ops 采 dev 版(功能等价、零损失)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 00:55:02 -07:00
zizi
66eff15f26
docs(architecture): tier2 引擎 SoT supersession + 纠正 headless MCP 事实错(创始人 go)
...
据 Cocos 全无头核实(取证级:Cocos Creator 命令行构建仍需 GUI 环境、无独立 CLI/SDK;其 MCP 是编辑器扩展、需编辑器在跑、非 headless),纠正策展层 SoT 的事实错并立正交两轴:自治生成轨(全无头·富2D=Phaser/Pixi·超休闲=LittleJS)/ 3D·渠道导出轴(Cocos·编辑器+人在环)。Phaser 的 Tier1 冷启动落选属渠道/交付维度、与 tier2 headless 自治维度正交。改 架构/README §2.3(横幅+Cocos/Phaser 单元格+分层段)+ tech-decisions §选型依据。旧 agent-specs/引擎与运行时.md 已由 _index 重定向、Tier1-only 无 Cocos 口径、非本次范围。详见 tier2 架构设计 v2 §3。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 07:33:21 +00:00
lili
5403bdd651
docs(planB): Phase-2 收口报告 + 保真谱系蒸馏(§10)——机械门达/复杂机制保真受当前 gen 配置限
...
Plan B Phase-2 game-quality 门对 gen-done 真跑收口:
- 5-bug 账本(Phase-2 逆出):assets 打包断链(490dc629)/iframe CSP 静止(347dd023)/dist 漏 --mode staging(ff8e52c3)/gen 不忠实(9176abe9+7aeb8f54) 自修;throughput 排队
- Phase-1 判定:core-done 机械门(U2-U9)达;gen-done 简单玩法保真、复杂机制(breakout/snake)受当前 M3+gamedef-path 限
- 自我修正:非绝对天花板(flash/local 曾产可玩打砖块 + §9「单件失败禁归模型造不出」红线),深修=换模型/skeleton-first=Plan A
- 蒸馏 cheap-model-game-generation §10:gamedef 保真谱系 + Phase-2 门≫gen 自评 accept + 裁责三招
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 00:32:50 -07:00
zizi
353c51cc57
docs(tier2): v2 补「建设排序」一节(整理创始人 5 步路线进设计稿)
...
以创始人五步为骨架,补进:0号 spike 立为 step3 之前的早期 go/no-go 门(便宜验最深赌注、不等平台搭完)+ 失败退路树;step3「搭引擎」隐藏硬工作项显式化(验收地板/Goodhart 安全 driver/成本强制四熔断三层预算/真 Phaser 工程源项目契约/可观测早建/人审做实非亲玩一票);资产IP 归 spike 后复利层;Cocos 置 step5=另一条轴(编辑器人在环·3D复杂渠道)、Phaser 证成后再铺、不与 Phaser 并级。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 06:51:41 +00:00
lili
7aeb8f5475
fix(saa): GAMEDEF_SYSTEM 加贪吃蛇(snake)异构 few-shot——补 round-1 缺的网格步进例(bug#5 round-2)
...
round-1 加 breakout 后射击已保真复原,但贪吃蛇仍坍缩成躲避=缺 snake 例。本仓无 snake 金样,
按 gameDefinition schema 自写一个最小可跑参照4:
- 蛇身=挂【状态实体 gamestate】的有序格子数组 G.body(头在前),对齐保真铁律"蛇身实体数组(挂状态实体)"——
避开 self 跨 behavior 不共享的死法;dir/food/step 同挂 G,引用赋值持久。
- 机制忠实:turn 读方向键(禁反向)→ tick 定时步进(0.16s)新头入、无食去尾;吃食 body 变长+rt.addScore+
食物换位(bounded do-while,非 while(true));撞墙或撞自身 rt.lose();每步按 body 重绘 seg 实体免逐段维护索引。
- 进展落 rt.addScore/rt.destroy(运行时真暴露),不藏 snakeLength 自定义标量。
保真铁律同步:三参照→四参照、加"参照4是贪吃蛇"反坍缩约束、异构形态加"网格定时步进"。
控长:GAMEDEF_SYSTEM 15058→17461B(+2.4KB),总~17.5KB 远在模型上下文内——llm_error=LLM 调用耗尽/截断
(FailureReasonEnum.LLM_ERROR),非 prompt 过长拒绝,故不动既有载荷型告警(避免回归 round-1 已证的射击保真)。
证据:snake JSON 过 build-from-source.mjs --validate(exit 0)+ 全量 build 成 factory(exit 0);
aigc-server mvn -o clean install -DskipTests 编译过(MVN_EXIT=0,jar+SaaPrompts.class 新鲜产出)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 14:40:15 +08:00
zizi
2ec00f13fc
docs(tier2): v2 补「渠道发布能力」一节(回应创始人渠道发布之问)
...
实证裁决:Phaser/Pixi 渠道发布=可建一等能力、非墙——微信官方钦定自研 adapter、仓内 W-CH-α 已为同构 LittleJS 推到 P0 实证可行;几项看似 Cocos 优势其实平权(变现 SDK 所有引擎手动 / 快手全走微信格式转换 / 纯代码全 Linux 打包反优于 Cocos 需 Win-Mac);唯一让步=国内生态成熟度 Cocos 领先。与引擎无关的真墙=渠道禁动态生成代码→tier2 自治富游戏上渠道须降级为精选款固化提审(web feed 热发长尾 / 渠道精选爆款)。渠道不构成保留 Cocos 的理由,待补=W-CH-α P1 真机门用 Phaser 真包跑(卡创始人三件套=日历闸门非技术阻断)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 06:39:28 +00:00
zizi
2abfa9f112
docs(tier2): tier2 富游戏生成轨 O2 架构设计 v2 + 决策记录
...
设计稿(O2 约束自治·人风散文)经 Codex+Opus 双评审 + 两项实证后定 v2:O2 降为待 0号 spike 验的假设(非已定地基)、配靶心(56% 表现层)+ 失败退路树;80/10 实测落 44/56(约束有效域=系统/手感 44%、自治承重=表现层 56%);引擎按正交两轴收口(自治生成=Phaser/Pixi 无头 / 渠道导出=Cocos),触发引擎 SoT supersession + 纠正 headless MCP 事实错;修 Goodhart 漏洞、加跨表语义门、spike 两段+四向归因、中台降级、AgentScope L1/L2 纠正等 must-fix。
决策记录(子代理):11 条决策 + 证据链 + 待 spike 验开放项。未含 SoT canonical 同步(待创始人 go)+ 轻评审定稿。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-21 06:10:06 +00:00
lili
9176abe923
fix(saa): GAMEDEF_SYSTEM 加保真铁律 + breakout 异构 few-shot——修生成坍缩(bug#5)
...
根因:GAMEDEF_SYSTEM 仅内联 2 个 few-shot(躲避 + tap-targets 打地鼠)、
无 brief-fidelity 约束,模型对任何题面"挑最近的套"——动作类抄躲避、
点击类抄打地鼠,打砖块/贪吃蛇/射击全坍缩。
两处最小修(对齐根因 1+2):
1) 在三个参照前置【★保真铁律★】:参照仅示范结构与 rt 面用法、不是玩法清单;
必须按题面产对应实体/行为/规则(给打砖块/贪吃蛇/射击/跑酷范例);
严禁因参照是躲避/打地鼠/打砖块就把题面玩法坍缩成它们。
2) 内联【参照3·breakout】(挡板+球+砖墙+反弹消砖、清砖判胜、球落底判负),
源自过门金样 contracts/agent-loop/skeletons/breakout.json,结构精简对齐 rt 面,
与原 2 例并列、打破"只有躲避+打地鼠"偏置(三参照覆盖异构三形态)。
验证:① 三参照 JSON 均合法、顶层键齐(entities/components/behaviors/scenes/rules);
② 参照3 经 game-runtime createRuntime 真驱动跑通——砖墙24块/撞砖计分/消砖
remaining降/球落底 lose-latch/指针控板,全程零抛错;③ gd-archetypes.test 4/4 不回归;
④ aigc-server 离线编译通过(文本块转义合法)。
不重新生成游戏(重生验证由部署后另做)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 13:56:45 +08:00
lili
ff8e52c30a
docs(staging-ops): 钉死 bug#4 根因蒸馏——缺 --mode staging 致 baseURL 空串、/play 静默假"加载失败"
...
bug#4(dev/2.0.0 studio /play 游戏加载失败回归)逐 bug 深挖结论:非源码 bug,
而是 staging dist 构建漏 `--mode staging` 的部署缺陷(源码 .env.staging/request.ts/
inject.ts CSP 修在 dev/2.0.0 已正确)。CDP 钉死后果链并补进 staging-ops 红线:
缺 --mode staging → VITE_API_BASE 不加载 → axios baseURL= → /app-api/* 打到
前端 :4173(vite preview 不代理 /app-api) → SPA fallback 回 index.html(HTTP 200)
→ getRuntimePackage 拿 HTML 串 → request 拦截器对非 {code} 包络透传不报错
→ respVO.manifestUrl undefined → resolvePackage 静默走 demo clicker(无 warn)
→ demo startRuntime 抛 template-system-under-reconstruction → game_error
→ /play 显示「游戏加载失败」(与任务旁证 resolvePackage/undefined.length 同根因)。
修复=按红线 `npm run build -- --mode staging` 重建 dist + 重起 vite preview :4173;
CDP 实证(9358/9359/9360/9361 抽验):package+manifest 请求改打 :48080、引擎真装载
(game_loaded engine:real via bootGameHost)、逐帧 hash 变化(真玩)、截图见真游戏
(green player + red enemies + Score + GAME OVER),非 demo 非错误屏。bug#2(CSP
unsafe-eval 解 gamedef 静止)同 dist 一并验证通过。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 13:16:17 +08:00
lili
347dd023a1
fix(studio): iframe CSP script-src 加 'unsafe-eval'——解 gamedef 游戏静止(bug#2,补回丢失推送)
...
studio iframe srcdoc CSP 缺 'unsafe-eval' → gd-runtime new Function 编 behaviors/rules 全抛 EvalError
被静默吞进 errors[] → tickBehaviors 空 → 游戏只渲首帧静态、世界永不演进。系统性(非 breakout 特定),修一处全解。
A/B 实证(bug#2):加 'unsafe-eval' 后 errCnt 7→0、score 0→演进;Node gd-runtime 三款本就演进=运行时逻辑对、纯 iframe-CSP wiring 坑。
安全承接:逻辑串经 scanLogic 静态拦 + connect-src 'none' 无出站 + iframe sandbox,三重边界不扩大攻击面。
注:此修先前 bug#2 调查在 mini-desktop 工作树改+build 验过,但提交/推送被 77f67fdb 大合并竞态吞、未落地;此处规范化补回 origin/dev/2.0.0。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 21:59:21 -07:00
lili
77f67fdb13
Merge origin/dev/2.0.0(SAA 生成域 20 提交)—— 设计文档域化重构 8 提交并入
2026-06-20 21:16:28 -07:00
lili
7bd9cd05e6
docs(governance): Phase7 收口——治理门反转 + 源档归档 + 入口对账 + 死链门
...
设计文档域化重构总收口:
- §10 治理门反转(engineering-conventions §10.5/10.6/10.7):canonical 根从 agent-specs 改为 docs/architecture 6 域树;品牌门白名单加 architecture/_archive。
- 归档 11 settled 源档(7 根 architecture + 4 非生成 agent-specs canonical)→ 各自 _archive(git mv 保 history + tombstone redirect)。生成域设计链过渡期保留(架构演进中)。
- rewire 17 个活层文件(.agents/knowledge|rules|skills + docs/mvp + AGENTS.md + 新树)指向新树路径;活层零残留旧 canonical 路径。
- AGENTS.md §4 必读表/§3.2 目录树/§3.3-3.4 指针 → 新树;_index.md 瘦身为 trace/spike + 生成域演进链 + 修 line22↔40 自相矛盾。
- 新增死链门 .agents/tools/check-deadlinks.sh(§10.7 死链项的可执行脚本)。
- 全门齐跑:死链 0 / 新树无旧品牌 / 无超 2000 行 / 活层无残留。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 20:48:38 -07:00
lili
ec7fda2cee
docs(architecture): 标记生成引擎子树为「架构演进中」
...
review 暴露生成域正处于 gameDefinition→src/ 终态迁移 + 产线化(plan 2026-06-18-001 U1–U4)。给 11 份子树档插「🚧 架构演进中」横幅 + L1 总索引/架构 README 导航处加注,提示现行结论可能随 plan 推进变化、以最新裁定为准。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 20:36:13 -07:00
lili
c6b9569033
docs(architecture): 修复审查发现的过时/错误内容(57 项 · 18 档)
...
25 档 opus 审查(对照代码/契约/git)→ 9C+23M+26m 真过时/错误 → 18 档 opus 修复(各自先按 commit/file:line 复核再改,1 项审查误判经复核拒绝)。主要簇:① gameDefinition 终态对齐——固定架构/SAA编排把'真结构化已成立'降级为'通往 src/ 的中间脚手架 + behavior.code 内嵌串=已知债',跨档对齐 README §3.2/设计裁决(06-20 创始人定调);② WG1 门面缺口按 06-14 scale-20 实测修订(预判几乎全推翻);③ 开闸接线改完成时(generic 桥接 7534bdf9 + 5 品类模板回填 046c061d 已落地);④ Flyway 数字 V17/V18→V25;⑤ 会员订阅(V21 ca53a0db)/community(U3 3f35acb4)/资产渲染(U1 73d33916)状态更新;⑥ prompt治理(classpath 加载)/引擎(Phaser gz)/前端(token 名·prefers-color-scheme)/运维(mini-infra=PostgreSQL·push=阿里云Gitea)细节订正。全 26 档过门(≤2000/有图/品牌绘境AI)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 20:21:03 -07:00
lili
490dc6293d
fix(saa): 包级 assets 接通源 sourceProject.assets[]——闭合产消断链(兑现 engine-E2/E3 消费侧 TODO)
...
gen-done 出包历史上把包级 assets 硬置空(setAssets(emptyList)),丢掉源
gameDefinition 已落库的六类源资产(game_source_project.source_json 顶层
assets[6]),造成产(asset 节点写源)→消(组包)断链。
改 SaaGraphDispatcher.buildCallbackReqVO(in-JVM SAA 路,即 generic/engine
任务真实落包路):新增 extractSourceAssets(s,traceId) 从图终态 K_SOURCE_PROJECT
抽顶层 assets[] 忠实映射进 reqVO.assets;DifyCallbackTxService.buildGamePackage
读 reqVO.getAssets() 即自然带进 GamePackage.assets。
- 形态:源 assetSpec={id,category,ref,provider}(source-project.schema.json
#/$defs/assetSpec),运行时 gd-runtime 经 gdef.assets 同形消费;geom:<cat> ref
系几何占位资产引用,原样透传,不伪造包契约 strict AssetSpec 的
type/url/hash/bytes/mime(无真图/真 sha256,伪造即脏数据)。
- best-effort 非阻断(严格 additive):源缺失/空白/非 JSON/无 assets 键/非数组/
异常一律回退空集,绝不外抛、绝不打断 SAA 生成;存量无源回调字节零变化。
- 复用既有 parseTrace + TRACE_MAPPER(只读,无共享可变状态),不引新依赖。
不动 AigcGenerateExecutor:440:该处为进程内 clicker/merge 旧路(generic/engine
经 dispatchGeneric 早返,不达此行;worker 回调由独立 reqVO 驱动),作用域无
sourceProject,改它即凭空伪造,故按现状保留(对齐 run_batch.py assets:[])。
验证:mvn -o clean install -pl game-module-aigc-server -am 编译 BUILD SUCCESS;
DifyCallbackServiceImplTest+AigcGenerateExecutorTest 41 tests 0 fail(含
in-process 路 getAssets().isEmpty() 断言仍过,确认未回归)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-21 10:50:40 +08:00
lili
c2ec8e07f8
docs(architecture): 写 L1 总文档索引(6 域 + 生成引擎子树导航)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 19:45:23 -07:00
lili
fc0c164678
docs(architecture): fan-out 重写架构/前端/运营/后端/运维 5 域(20 档 · 全 opus)
...
Workflow 每目标档一个 opus agent,以产品域 README 为风格样板:架构 L2 主档 + 13模块 + 生成引擎旗舰子树(11 档:README/固定游戏架构/SAA编排/引擎与运行时/验收门-W-G1/prompt治理/设计合理性裁决/OpenGame对照/WG1基准/SAA能力API-dossier/开闸接线)+ 前端 + 运营(README/变现与单位经济/渠道发行/合规闸门)+ 后端瘦主档 + 运维瘦主档。全部:人读散文 + 多图(Mermaid)+ 少黑话(专名首现解释)+ 单档 ≤2000(最大 452)+ 品牌绘境AI + 硬事实保留(门ID/数字/契约/裁决)。源档归档、§10 治理反转、~17 连带引用、L1 总索引、_index/AGENTS 对账、死链门统一留 Phase7。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 19:43:41 -07:00
lili
366a44b4b5
docs(architecture): 重写产品域为 4 级散文设计文档(5 档)
...
黄金模板(owner 已验风格)+ SPLIT + forensic 落地:产品/README(L2 域主档)+ 需求清单/需求模块映射(含 2026-06-17 forensic 现状快照)/护城河话术/商业定位(L3)。人读散文 + 多图(Mermaid)+ 少黑话(专名首现解释)+ 单档 ≤2000 + 品牌统一为绘境AI。源档与连带引用改动统一留 Phase7 总收口(避免多域构建期半态);域间前向链接待其余域建好后在 Phase7 验。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 19:20:26 -07:00
lili
7f71932023
docs(architecture): 设计文档域化重构 执行计划(门驱动 + 分域 fan-out recipe)
...
配套 review v2 的执行版:文件结构(目标态)+ Phase0 地基(骨架/§10 治理门反转/doc-organizer/死链门)+ Phase1-6 分域重写统一 recipe(harvest→author→archive→rewire→gate→commit)+ Phase7 总收口。门驱动替代 TDD;1a 产品域纯 FOLD 子集作黄金模板含 owner 验收点。批准前零改动,仅计划档已落。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 13:29:48 -07:00
lili
03fe73c7e7
docs(architecture): 设计文档域化重构 评审版 v2(双评审过 + 大厂风格规范)
...
将 docs/architecture + docs/agent-specs 的设计文档全量重写为 4 级域树(总索引→域主档→模块子档→详档)、6 域(产品/架构/后端/前端/运营/运维)、落 docs/architecture 单根的设计评审版。过 Codex+Opus 双评审,18 发现已处置(§8):范围 blast radius 补全、C2 头号约束更正(生成域在飞红线已解除)、回灌门可执行 schema、06-17 取代连锁接管;补大厂风格规范(人读散文/多图/少黑话/单档≤2000行)。批准前零改动,仅本评审档已落。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 13:24:48 -07:00
lili
9d463f0873
feat(saa): Phase 4 E_live 校准——像素活性 OR 状态活性(治无运动点击类假阴)
...
play.cdp.cjs E_live(守卫E):加 stateProgressed(score/remaining 玩前→玩后真变=游戏在响应输入) + 玩前/玩后态捕获(s0/s1);E_live pass = 像素 distinct≥2 OR 状态活性。
- 治无运动点击类(打地鼠等):画面只在命中瞬间变、像素采样易错过→E_live 假阴;但 score/remaining 会真变。
- 只加 OR、只放宽不收紧:真冻屏(score/remaining 不变、含仅计时 elapsed 变的)→stateProgressed=false→E_live 仍判否,绝不放过真冻屏。
- 验证:node --check 过;stateProgressed 5 例核验(命中→true / 冻屏→false / null→false / 仅时间变→false);对 gd-breakout 跑确定性 harness(无 M3)——liveByState 字段出、E_live pass、harness 不崩。
- 范围(创始人定):VLM 门(gateMode=vlm)降 backlog(VLM 单帧比 E_live 弱、有'好玩'判定天花板);#7 打地鼠经查实为 H_progress(已 Phase 1 移出硬门)非 E_live。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 13:00:30 -07:00
lili
ad22be9b3a
feat(saa): Phase 2 Template-First gamedef 骨架机制(flag 旁挂默认关;A/B 负面=不迁移到便宜 thinking-off)
...
机制(OpenGame +10.1 杠杆试落):
- SaaSkeletons 加载器:archetype→3 金标准过门纯净骨架(gd-breakout/tictactoe/simon,verdict.pass=true+rt纯净+过 Phase3 坑门),按 (tick/input) profile 映射;经济类(merge/idle/tycoon)无近似骨架不登记=走无骨架,绝不喂低质骨架。
- 注入:SaaPrompts buildGameDefMessages(openai 首生成)/historyFirstUser(anthropic 首轮) 追加骨架段(结构参照、非照抄,题面不符以题面为准);救场轮不注。
- pom 拷 contracts/agent-loop/skeletons/*.json 进 classpath。flag -Dsaa.gen.skeletonFirst=1 开,默认关=生成字节零变、零回归。
A/B 实测(thinking-off + skeleton conc=12 vs A 基线):
- 7/12(58.3%) ≤ A 8/12(67%),失败仍 E_live 哑火(#4,5,9,11,12) → 骨架没把基线拉向 91.7%。
- 结论:+10.1 骨架杠杆【不迁移到便宜模型+thinking-off】——哑火是推理缺口(thinking 补)、非结构样例缺口(骨架补不了)。thinking-ON(anthropic 91.7%)仍是唯一真杠杆。
- 处置(创始人定 A):保留机制 flag 关、可逆——换更强模型/配合 thinking 时或有用;默认不启用。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 12:53:02 -07:00
lili
5bc0afb4bb
fix(saa): 复审整改 C2 客观门必达集 + M3 碰撞尺寸不拷顶层 + Phase 3 玩法坑离线门
...
CodeRabbit/Codex 双复审整改(针对 4e5a7bbf):
- C2(critical, SaaGenNodes.objectiveGatesPass):改「A-E 五门全在场且 pass,缺任一即失败」。旧「出现才查」会被 harness 中途崩(runDriver 在 D/E 前抛、未 try/catch)钻空子——verdict 只剩 A_boot/C_frame 即 sawObjective=true 放行=崩掉的游戏判过。缺门=未跑完=失败才安全。
- M3(major, gd-runtime RESERVED += w/h/r):碰撞尺寸 w/h/r 不拷实体顶层——它们是 rt.overlap 读顶层的命中框(缺省16),拷上去静默改存量游戏命中框且违反 prompt 契约「顶层 e.w 永 undefined」。
- Phase 3(OpenGame +6.9 离线 linter):build-from-source 加两族【零误伤】玩法哑火坑门——①.tags 是 Set 误用数组法/下标/length ②漏 rt. 前缀裸引擎调(补 LOGIC_BANS 不拦 getEngine/getInput/restart 的洞,含此坑源装配过却运行期夭折)。命中→repair,真玩前修省一轮 CDP。self 跨 behavior 泄漏因误伤过门款(gd-tictactoe/simon 带 bug 却过门,self 确 per-behavior)降级待非阻塞 warning 通道。新增 gameplay-pitfalls.test.mjs:正例拦坑 + gd-breakout/tictactoe/simon 零误伤,32/32 全绿(含既有回归)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 12:28:41 -07:00
lili
fba7f3e030
Merge branch 'dev/2.0.0' of ssh://101.200.34.71:2222/zizi-al/games-development-ai into feat/mac-gamedef-qc-concurrent
2026-06-20 11:50:59 -07:00
lili
f4c6789312
docs(saa): 蒸馏 M3 thinking 治理/协议/流式 + rc 门修(91.7% 跃迁) → .agents 技能 + 决策档
...
§7 知识沉淀(仓库权威版,配套代码提交 4e5a7bbf):
- .agents/skills/saa-graph-orchestration.md:新增 §3.5「M3 thinking 治理 + 协议/流式」——M3 thinking 二元(无深度/budget、提示词压不住);openai adaptive 内联污染→只能关;anthropic 原生分离要质量走这条但必配【流式 StreamingCallChatModel + NO_PROXY webClientBuilder】否则阻塞整取大面积 SocketTimeout;#4407 对 1.1.2 过时;rc 门耦合 bug(playNode pass 别前置 rc==0)。e2e 段补 2026-06-20 跃迁(67%→91.7%、证伪模型天花板)。
- docs/plans/2026-06-20-…md:状态 banner→主线达成 + 追加 §7 结果与修正(rc 真根因 / thinking+协议杠杆 / 实测对照 / n=12 达标口径放宽 / 未尽项)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 11:38:59 -07:00
lili
4e5a7bbfb9
feat(saa): M3 生成质量收敛——客观门解耦 + 流式 anthropic 思考 → e2e 11/12(91.7%)
...
rc 门解耦修复(SaaGenNodes.playNode):play.cdp.cjs 退出码=九门聚合(verdict.pass?0:1),driver 门(G/H/I)挂→rc=1 反向否决客观 pass,致 Phase 1 客观门解耦形同虚设、空跑救场烧 token;改 rc∈{0,1}+objectiveGatesPass,all9 旧口径保留可回退。
思考治理(SaaStudioGraph):关 openai 路 M3 adaptive thinking(内联污染 JSON+撞 max_tokens 截断);改走 Anthropic Messages 协议(原生 thinking 块分离)+ StreamingCallChatModel 流式收取(治阻塞整取 SocketTimeout;#4407 对 spring-ai 1.1.2+生成无工具调用不触发,n=1 实测确认)+ webClient NO_PROXY + max_tokens 256k。
配套:gd-runtime 去脚枪(Plan A·S2 自定义标量拷实体,治冻屏) + play.cdp seek-food 驱动 + Phase 1b prompt 解耦 + e2e 旋钮(protocol/maxTokens)。
实测 conc=12 gamedef:thinking-off 8/12(67%,E_live 哑火×4) → thinking-on 11/12(91.7%,哑火修 3/4,残留 #7 打地鼠);代价 ~10x 慢 + 1.6x token。按创始人拍板以 n=12/91.7% 宣告达标(放宽原 plan003 n>=30 门)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 11:26:26 -07:00
zizi
991264b99b
docs(复盘): 架构错误根因复盘 post-mortem(批二第二件)
...
「为什么结构化源项目做成了 JSON 生成游戏」的过程复盘。两条根因轴:
- 决策层(元根因): 评审只在范式内审细节、从不质疑「该不该是 JSON」这个前提;
错前提被一路精致化+自产证据(双证/九门全绿)加固。codex+opus 双验证器独立同指此处。
- 知识层: 设计写对、实现没兑现——「沉默的重解释」(文档自称落地却中途换核心定义、无对账门)
+ AI无状态四放大器 + 整体一致性无主 + 规则没编译成机器门。
更深: AI 系统性偏向「可测量的」而非「好的」。
教训已蒸馏: AGENTS.md §6 条款10/11 + engineering-conventions §10.7 四道门 + 生成主线 ★终态定调。
本会话创始人四次「前提质疑」(agent管理/裸图官方性/SAA价值/九门=工具)实战印证该机制价值。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 17:31:07 +00:00
zizi
dbb0a76856
docs(治理+生成): 文档治理强制门体系 + 整体一致性负责人 + AGENTS.md 全中文化 + 品牌收敛 + 生成产物终态定调
...
- AGENTS.md: 品牌「造梦AI→绘境AI」+ 剔除 §9 gstack 安装命令(入口卫生) + 全文简体中文化
+ §6 条款10/11(强制门清单 / 整体一致性负责人=创始人+6c6g文档线 / AGENTS.md 自检)
+ §3.4 关键模块架构设计引用(指向 product-and-architecture.md, 不在入口重写)
- engineering-conventions §10.7: 4 道强制门可执行规格(品牌不变量 / canonical唯一 / doc↔code兑现 / 入口卫生)
+ 白名单(docs/ip 法务 + _archive 留痕豁免) + AGENTS.md 自检清单
- 生成主线架构演进路线.md: ★产物终态定调(创始人 2026-06-20 拍)——终态=src/ 多文件工程,
gameDefinition 仅中间脚手架, new Function 跑 JSON 内嵌串=债; 配 doc↔code 兑现门;
就地 reconcile v2/固定架构「都 ACTIVE 却冲突」
- 现行层品牌收敛: .agents/ + docs/architecture/ + docs/mvp/ 共 20 处「造梦AI→绘境AI」
由来: 2026-06-20 架构错误 + 文档治理复盘(codex/opus + 三 agent 对抗验证收敛);
根因 = 规则没编译成机器门 + 整体一致性无主。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 16:55:24 +00:00
zizi
f64a4ed1d7
docs(arch): 生成设计合理性·对抗审查裁决——部分合理,Tier0非通用范式
...
4视角对抗深析(逐条file:line核实):地基(确定性受控面+九门自动验收)是真护城河该坚持;但3个fundamental——名实不符(behavior.code承载全部逻辑却没进契约,additionalProperties偷渡)/表达力硬编码焊在4类色块玩具/好玩好看无下限托底(assets在build链零消费者)。是Tier0可靠产线非通用范式,最大风险=对标demo的Marvel/KOF。四改:正名混合范式+愿景分层(创始人级)/逻辑往声明式拽回/打通assets链/好玩从九门剥离。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 11:34:45 +00:00
zizi
317899ea69
docs(arch): 合成《生成主线架构演进路线》单一SoT——吸收06-19、并入06-20缺口、OpenGame档转外部标杆参考
...
把两条独立分析线(内部架构演进06-19 + OpenGame对照06-20)合并成一份散文体演进路线SoT:线A加固现有+线B补OpenGame能力层,两处交汇点(品类独立校验/player软门)去重,统一迁移序列对齐plan-001/002/003。06-19吸收后归档_archive;06-20标定位为外部标杆prior-art(缺口已并入路线)、供查OpenGame内部机理;_index改指向路线为生成演进SoT。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 09:42:18 +00:00
zizi
c450552051
docs(analysis): 改准 OpenGame 文档里 VLM Bench↔九门 的说法
...
创始人指出:九门不是 VLM Bench 的等价物。改准为——九门更强的只是机制层(Build Health,能不能跑);VLM 的 Visual Usability/Intent Alignment 那两轴九门判不了,对应我们偏弱的 player 软门(M3 视觉软门),是待补强缺口非已赢项;OpenGame 的 VLM Bench 代码其实未开源(只论文)。改表格行/已有等价物段/收口结论/_index 指针 4 处。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 09:23:19 +00:00
zizi
f1fae3f5e3
docs(analysis): OpenGame 对照分析与复刻缺口(散文·5 agent 读真源码综合)
...
clone github.com/leigest519/OpenGame(CUHK MMLab)真源码,5 agent 分片深读→综合人读散文。结论:OpenGame=Qwen-Code二次fork+4原子工具+六阶段SOP(system-reminder接力);我们SAA图比其命令式循环更确定、核心不落后;真缺3处=约束厚度(template_api+GDD契约)/经验复利层(Template+Debug Skill)/资产线(mmx);27B专训刻意不走、VLM Bench九门已更强。_index加★指针。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-20 09:12:09 +00:00
lili
0cd1496399
feat(saa): U5 openai 格式 M3 路 — thinking:disabled(extraBody)+ openai NO_PROXY
...
Plan A U5「切 OpenAI 格式」(创始人 2026-06-19):
- model(): MiniMax 系经 OpenAiChatOptions.extraBody 注入 thinking:{type:disabled} 关推理(治 chat.completions 内联 <think> 污染;探活实证 reasoning:effort:none 不被网关认、唯 thinking:disabled 有效);仅 model 名含 minimax 注入,deepseek 字节零变
- openAiApiNoProxy(): openai 路同 anthropic 旁路系统代理(macOS clash 把 Tailscale IP 走代理→502);dispatcher openai 分支改用之
实测(openai+M3+thinking off,K=10/diverse-10):0 超时/0 <think>残留/0 502 = 路干净;成功率 1/10(10%)。
三臂对照(同 diverse-10/K=10):deepseek(anthropic) 30% > M3(anthropic+thinking,超时假象) 10% = M3(openai+thinking off,干净) 10% → M3 在 gamedef 生成上真逊 deepseek,非协议/超时假象。失败主因 llm_error(无有效 bundle)+ 到门者 F_wiring/G_input/E_live/H_progress(driver/引擎接线)——两模型同款,杠杆在 pipeline/接线非换模型。
不碰 gd-runtime/build-from-source(Plan B 域)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 11:47:46 -07:00
zizi
93c63f16ec
docs(arch): 生成平台架构演进-review(多架构师综合)——零rewrite/大面积keep,策略外置+九门去自评+单轨化
...
5 架构师据真实代码诊断+逐块keep/optimize/refactor/rewrite+迁移序列,对抗评审剔失实背书,总架构师综合。承重论据已复核属实(registry.yaml/V18·V20/land·markBuilt/llm_error)。挂入 plan-001/002 迁移,不另起编号。_index 加★指针。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 18:20:51 +00:00
lili
1cd199cb3c
feat(saa): U5 M3-only override(bake-off)+ 10 品类多样验证集
...
Plan A U5「只用 M3」(创始人 2026-06-19;deepseek 留作最终模型对照):
- SaaStudioGraph.Models.allSame(model): 全 11 角色统一模型工厂(bake-off 用)
- SaaGraphDispatcher: saaForceModel 非空→Models.allSame(全角色统一、无跨家回退)+ 单模型路日志;空→stage1 默认(deepseek 主力,字节零变)
- AigcExecutorProperties.saaForceModel(默认空=字节零变)
- SaaFullGraphE2eTest: -Dsaa.e2e.model flag(全角色统一模型)+ [config] 打印
- saa-e2e-briefs-diverse10.txt: 10 个不同玩法品类(覆盖 U4 全 8 driver 家族 a-h),优于按行序前 10(仅 4 品类聚集)
验证:编译绿(test-compile exit 0)。默认 saaForceModel 空→stage1(deepseek)字节零变,仅 dispatcher=saa 生效。
实测对照(K=10/diverse-10/anthropic):deepseek 主力基线 3/10(30%,主因生成 llm_error,到门者败于 F_wiring/G_input/E_live/H_progress);M3-only 基线量测中。
不碰 gd-runtime/build-from-source(Plan B 域)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 10:22:45 -07:00
lili
5fde4e2609
Merge remote-tracking branch 'origin/dev/2.0.0' into feat/mac-gamedef-qc-concurrent
2026-06-19 09:35:43 -07:00
lili
b3f2fe8e85
feat(saa-e2e): U5 量测前置 — e2e 接线 anthropic 协议 + 可配端口基址(默认字节零变)
...
U5 收敛环前置(量测面 additive,默认全字节零变):
- -Dsaa.e2e.protocol(默认 openai)→ props.setSaaModelProtocol:补 U1 量测面孪生(P1-6)。旧版无此接线 → 会量 openai 默认路而非 anthropic = 违 R1「量==发、在用协议=anthropic」。
- -Dsaa.e2e.playPortBase/cdpPortBase(默认 4320/9222)→ props.setSaa{Play,Cdp}PortBase:与本机 superpowers-chrome(持 9222)等进程共存防撞(量测可 cdpPortBase=9322;serve-and-play 净场只杀本槽端口、不误杀他者)。
- [config] 打印增 protocol/playPortBase/cdpPortBase。
验证:pilot 实跑 [config] 行确认三 flag 生效(sourceMode=gamedef, protocol=anthropic, playPortBase=4320, cdpPortBase=9322);编译绿。默认 openai/4320/9222 = 现行字节零变。
注:同次 pilot 揭网关 deepseek 全系(flash/pro/chat/v3)在 svip 组无渠道(全 503 model_not_found)阻塞生成,唯 MiniMax M3/M2.7 可用——属网关侧、待创始人裁;本提交仅 harness 接线,与模型可用性正交。
不碰 gd-runtime/build-from-source(Plan B 域)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 09:33:57 -07:00
lili
12abfbac4a
feat(saa): U3 gamedef 量测路 + 有界并发池 harness(默认 K=1 字节零变)
...
003-U1 U3「量对路 + 有界并发(量测用)」:
- AigcExecutorProperties: saaConcurrency(默认 1)/saaPlayPortBase(4320)/saaCdpPortBase(9222) — 默认全为生产字节零变值
- SaaGraphDispatcher: newSingleThreadExecutor→newFixedThreadPool(K) + Semaphore(1)→Semaphore(K) + K 个错开端口槽池(第 i 槽 playPort=base+2i/cdpPort=base+i);runGraphAndCallback 起手 take 槽 + acquire 许可、整 job 持槽、finally 必归还防泄漏;端口覆盖放 runGraphAndCallback(保 buildInputs 签名不变,反射测兼容);构造期 null-properties 兜底(K=1+默认端口,修 TraceTest NPE);allocPortSlots/normalizeConcurrency 抽为可单测纯函数 + 共享面审计结论入注释
- SaaFullGraphE2eTest: 加 -Dsaa.e2e.sourceMode(默认 factory,量 gamedef 须显式设=修发现②量错路) + -Dsaa.e2e.concurrency(默认 1)
- 新增 saa-e2e-briefs-gamedef.txt(34 条多品类≥30) + saa-e2e-briefs-holdout.txt(12 条留出集,与调优集及内置 ALL_BRIEFS 零重叠)
量对路(发现②修复):旧 e2e 只 setDispatcher("saa") 未 setSaaSourceMode → props 默认 factory(iife),量的是旧路;现 setSaaSourceMode(sourceMode),量 gamedef 真基线须 -Dsaa.e2e.sourceMode=gamedef。
K=1 字节零变:newFixedThreadPool(1)≡单线程串行 + Semaphore(1) + 仅槽 0=[4320,9222],与改造前逐字一致。共享面审计(只读 serve-and-play.sh,脚本未改):K>1 下端口为唯一真冲突点,净场 lsof|kill 只杀本槽端口、static-serve 只读共享根、evidence 按 gameId 隔离 → 跨 job 安全。
并发口径(plan 2026-06-19 创始人指令对齐):K 是量测用「真玩并发」上限,受 Mac 实时九门帧预算硬限(C_frame/E_live,~3-4),非 M3 API 限;生成端(网络限)的宽并发(gen≫play 时)留 U5 量 gen:play 占比后按需解耦,不在本单元。
验证:编译绿;GateLogic+TraceTest+NodesRegression+PickAnswer 指定集独立复跑 exit 0、零失败标记;agent -am 全 SAA 包 101/0/0/3skip。真跑 K 路校准(verdict 对等+结构隔离)延 U5 执行期。
默认 K=1/sourceMode=factory 现行字节零变;不碰 gd-runtime/build-from-source(Plan B 域)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 08:48:53 -07:00
lili
0daaac0306
fix(smoke): U6 smoke-test.sh 可移植性——裸 $var 紧贴全角字符加花括号(R3)
...
bare `$var` 紧贴全角()(等 → strict-locale bash(macOS 5.3)把多字节首字节并进变量名 → set -u unbound;
smoke 在 lili-mac 一贯断在 template/list 行。4 处加 ${}(tcount/VID/QSCORE/SID),语义不变、跨环境可跑。
U6 验证(staging 五业务链路,本机 curl 可达):11/12 真绿——创作 draft / 发布(feed/zones/project) /
试玩取包(vid=93112) / 广告钱包(ad/trade) / 数据回路(qualityScore=60)。唯一 FAIL=template/list count=0
= W-CLEAN 清旧四模板 + generic 桥接的设计态(总账 §1 记非回归);R3=链路就绪门(不代理 R1)成立。
follow-up: template/list assertion 按 generic 桥接更新(非本单元业务语义裁定)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 15:43:33 +00:00
lili
08aa0c13d0
feat(saa-prompt): U4 DESIGN_SYSTEM 8/8 driver 决策树 + gatespec 约定
...
003-U1 杠杆③(上下文)+②(门约定):
- DESIGN_SYSTEM 规则③补齐至 8/8 driver(对齐 play.cdp.cjs:206-214):补 tap-pairs/key-cycle/drag-aiming/aim-fire(各含何时选/worked-example/反例/命门),旧 none 重标 (i)
- 命门:障碍/目标跟踪类须显式产命名实体(nextGap/nextPlatform/ship.angle)+ 消除类 tap-pairs 得分落 score;drag-aiming 抛射 launch 常数 gd 路难导出→诚实标「优先 iife 源」
- GAMEDEF_SYSTEM 同步 driver 命名/进展约定;门约定:消除类 tap-pairs+score 过 H、I_control 按 control-scheme 分型(不改门本体)
验证:编译 BUILD SUCCESS;回归 49/0(SaaStudioNodesRegressionTest 14〔原8+新6 gatespec 保真:8 driver verbatim+逐 driver 字段+ballPath 归一隔离〕+ topology 30 + pickAnswer 5)。
只动 SaaPrompts 常量 + 测试;不碰 gd-runtime/build-from-source/.agents。
跨 Plan 遗留(转交 6c6g/Plan B):drag-aiming gamedef 路需 gd-runtime entityView 增 launch{gravity,powerScale} 投影通道才能解析瞄准;aim-fire 双路 targetsPath 命名分叉(iife asteroids / gamedef targets)已分别教对;真效(driver 选对率)留 U5 量。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 08:26:41 -07:00
lili
def1f4244a
docs(plan): Plan A 记 T-FUTURE-1 thinking 历史出站丢失(创始人指示:记录+未来解决)
...
stock spring-ai-anthropic 1.1.2 出站 buildMessages 丢 thinking 块→interleaved 保留不可达;U2 已简化 text 历史。
未来真解候选:① 自拼 AnthropicMessage 绕过 buildMessages ② 升 spring-ai 库版本 ③ 评估 interleaved 对生成质量真实增益。
触发:U5 收敛若证 thinking interleaved 是达 ≥80% 的关键杠杆则立项。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 08:16:07 -07:00
lili
766749d3c1
feat(saa): U2 连续对话救场(text 历史)+ P1-1 交替修 — 简化自 thinking 保留
...
003-U1 U-B(创始人 2026-06-19 定:简化为 text 历史):
- 历史保留:anthropic 路把上一版【答案文本块】跨轮入历史(K_MSG_HISTORY_GAMEDEF/FACTORY 隔离;ReplaceStrategy+节点内 read-append-write),连续对话救场=模型看上一版答案+失败 verdict 增量修(SaaPrompts.historyRepairUser 去"重出完整模块")
- P1-2(对抗验证反编译证):stock spring-ai-anthropic 1.1.2 出站 buildMessages 丢 thinking 块→内存留 thinking 一下发即拍平成 text→"interleaved 保留"不可达;故 appendHistory 滤 thinking 块(isThinkingMsg=metadata 含 signature)只留答案,简化 boundHistory(最近 K=3 轮 text)。真 interleaved 留 plan T-FUTURE-1
- P1-1(对抗验证证会 HTTP 400 硬崩):失败轮 append 悬空 user→连续 user→Anthropic 拒。双保险修:失败轮整轮不入历史 + assembleConversation 末条 user 去尾
- openai 路 historyEnabled=false 字节零变(useHistory=historyEnabled&&!regeneratePath;builder/SYSTEM 一字未动)
验证:serde/fidelity/失败路 6/0(含 FlakyChatModel 失败路回归门 assertStrictAlternation)、回归 45/0、全 saa 包 92/0/6、烟测 1/0;真网关多轮交替 wire 验证证 P1-1 修有效(system+user+assistant+user 无 400)。
不碰 gd-runtime/build-from-source/.agents(Plan B/6c6g 域)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 08:16:07 -07:00
lili
0a82a49f47
docs(agents): distill U2-U6 staging 验证 + dev/2.0.0 boot-repair 三类教训
...
ce-work U2-U6(staging 真验证)期间 §3 隔离门连拦 3 类 dev/2.0.0 boot P0,distill 防复发:
- engineering-conventions §1.4:admin/app 双包同名 controller 必显式 bean 名(裸 @RestController 默认 bean 名相撞=ConflictingBeanDefinition 拒启;含自检 grep)
- engineering-conventions §8:Flyway 迁移单一事实源(只放 huijing-server 聚合,禁 module 自带副本=同版本重复拒启;含自检 find)+ §9 Checklist 指向聚合器
- ui-walkthrough-cdp §1:lili-mac 系统代理→Chrome 假 502(curl 直连绕过、判据=ssh localhost)+ superpowers-chrome 陈旧会话坑;正解永远 mini-desktop localhost CDP
(actuator/health 假探活已由重部署 agent 入 staging-ops §5。)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 06:43:31 -07:00
lili
1590f39666
docs(plan): Plan A 实测纠偏 + 机器分工放宽 + 网关治本 + Plan B U1 基底对齐
...
- U1 协议/Approach/Files 实测定死(host 根 baseUrl 非 /anthropic、x-api-key 非 Bearer、Proxy.NO_PROXY、多 Gen 取答案靠 signature 键);必修三险①/R-1 标已解
- 机器分工(创始人放宽 2026-06-19):Mac 主力批量验证/收敛量测(能重载不休眠),mini-desktop 只出 final evidence
- 网关对 M3 原生 thinking 曾 ~50% 非确定性 → 创始人网关侧治本 → 稳定原生
- P0-2(单一 budget 撞小角色)→ per-role 自适应;P0-2 资产盲注脚软化(Plan B U1 db14845d asset-orphan 闭合)
- KTD8 运行时钉 = Plan B U1(db14845d)/dev 81c1b2cf
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 06:18:55 -07:00
lili
19f666cd5d
feat(saa): U1 用对 M3 — Anthropic 协议 client(flag 旁挂)+ 多 Gen 取答案 + per-role thinking budget
...
003-U1「用对 agentic M3」:
- AigcExecutorProperties: saaModelProtocol(默认 openai)/saaAnthropicBase(host 根)/saaThinkingBudget
- SaaStudioGraph: RoleModelFactory + anthropicModel(host 根 baseUrl·x-api-key·Proxy.NO_PROXY·per-role budget=min(全局,maxTokens-1024)≥1024 才开 thinking) + openAiFactory(逐字等价旧路) + factory-based build 重载
- SaaGraphDispatcher: ensureGraph 按 saaModelProtocol flag 选 openai/anthropic 工厂(openai 默认路调用不变)
- SaaStudioNodes: pickAnswerText 遍历 getResults 取「无 signature 末块」为答案(单 Gen=旧路字节等价),替 callAndRecord/judgeVision 的 getResult().getText()
实测定死(spike + 创始人 2026-06-19 网关治本):x-api-key→M3 原生 thinking 分离 block(getResults size=2,thinking 带 signature);Bearer / 带 /anthropic 前缀 = 坑。
验证全绿:编译;烟测 size2 取对答案;P0-2 专项(全 11 角色 assemble 不崩,SaaAnthropicAssembleTest 2/0/0);回归 43/0/0(openai 字节零变);依赖树 spring-ai-anthropic 1.1.2 无漂移/无 autoconfigure。
flag 默认 openai 现行字节零变;不碰 gd-runtime/build-from-source(Plan B 域)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 06:18:55 -07:00
lili
ff46b90ee7
fix(flyway): 删 5 个 module 迁移重复副本——消同版本重复致 dev/2.0.0 启动失败(P0 #3)
...
Flyway 在 classpath 撞同版本即拒启(Found more than one migration with version):V6/7/8/9/18 既在
huijing-server 聚合(V1-V25,已应用到 live = 单一事实源)又各在 module-server 重复(06-18 各 lane 加功能误放)。
删 module 副本、留 huijing-server 聚合:
- V6/V8/V9/V18 两边 md5 完全一致 = 纯去重
- V7(trade) 仅注释差异(列定义同;game_trade_grant 表在 V21 不在 V7)→ 留 huijing-server 已应用版
(改已应用迁移会 checksum 漂移;module 副本的注释改动弃)
全仓扫描:删后无重复版本、无 module-only 迁移(30=25 聚合+5 副本)。库停 V17 未污染。
注:依赖自身 db/migration 的 module 测试若存在需后续改 test-scoped schema(本修以解 boot 为先,redeploy -DskipTests 不受影响)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 05:55:09 -07:00
lili
de3bf4cb62
fix(compliance): 消 CompliancePolicyController bean 名冲突(P0 孪生,补齐 84c6bd02 漏修)
...
84c6bd02 仅修 ComplianceAppealController 一对;隔离 :48090 门又拦下孪生:CompliancePolicyController
(admin/app 同名裸 @RestController) → 默认 bean 名再撞 → 仍 ConflictingBeanDefinitionException 启动失败。
全仓扫 108 个裸 controller,这是唯一剩余同类冲突。各加显式 bean 名:
admin→compliancePolicyAdminController / app→compliancePolicyAppController。
修后全仓再无重名裸 controller(扫描实证)+ 无 @Service/@Component 同类冲突 → dev/2.0.0 后端应可启动。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 04:59:19 -07:00
lili
84c6bd0233
fix(compliance): 消两个 ComplianceAppealController bean 名冲突——dev/2.0.0 后端无法启动(P0)
...
admin 与 app 两包下同名类 ComplianceAppealController 均用裸 @RestController → Spring 默认 bean 名
都是 complianceAppealController → ConflictingBeanDefinitionException → 整个 context 启动失败。
staging 重部署隔离 :48090 安全门拦下此回归(live 未切、零回归)。各加显式 bean 名消歧:
admin→complianceAppealAdminController / app→complianceAppealAppController。
路径 /compliance/appeal 相同非冲突(框架按包名 controller.admin.*→/admin-api、controller.app.*→/app-api 加前缀区分)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 04:50:24 -07:00
lili
b6cadd8394
docs(plan): plan003 Plan A gen-done 执行计划(用对 M3→≥80%→两步 flip)
...
Plan A = gen-done 生死门 = 003-U1(用对 agentic M3) + 003-U2(两步 flip)。
已过双评审(Opus 对抗式+可行性,代码核证)整改 5 P0 + 7 P1:
- Anthropic 多 Generation 响应形(block0=thinking,须遍历 getResults)
- checkpoint 序列化潜伏坑(e2e harness checkpoint-off 隐藏,staging 才炸)
- 独立性纠偏(量测执行 Plan B gd-runtime/build-from-source → KTD8 运行时钉)
- ≥80% 机制门口径(对资产质量盲)+ 并发共享面审计 + measure-first U-C 闸控
对齐 Plan B U1(db14845d,asset-orphan 已闭合)为收敛运行时基底。
Codex(codex-rescue) 未出可用评审 → §6.8 Opus 单评回退。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 03:04:23 -07:00
lili
079778fc03
feat(saa-prompt): DESIGN_SYSTEM 补 flap-to-gap/seek-x driver——闭合 driver 词汇缺口上半(cause#2)
...
规则③ 由 (a)paddle/(b)tap-targets/(c)none 扩为含 (c)flap-to-gap(Flappy:bird.y/bird.vy/nextGap.y)
+(d)seek-x(Doodle:bird.x/nextPlatform.x);键到 gd-runtime 现有按实体 id 投影(无需改引擎),要求代码
agent 把控制体+下一障碍建成命名实体(bird/nextGap/nextPlatform)每帧更新。
实证(deepseek flappy/doodle/runner):driver 选型已修——模型现正确产 flap-to-gap/seek-x(此前 wrong/none)。
cause#2 下半未闭:便宜模型不稳产 nextGap/nextPlatform 障碍跟踪实体(doodle 经 repair 产出、flappy/runner 仍缺)
→driver 半接→仍挂;属生成能力(障碍实体生成)+ repair 反馈须点名缺失实体,留 6c6g/003-U1(余 4 driver
tap-pairs/key-cycle/drag-aiming/aim-fire 同法,契约见 play.cdp.cjs)。SaaPrompts 经 mvn BUILD SUCCESS。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 03:04:23 -07:00
lili
d5d3d09b0f
fix(gen-qc): cutover 早读三修——并发化 + assert 进展过滤 + M3 thinking 关闭/宽松解析
...
1) 并发化(gamedef_quickcheck): ThreadPoolExecutor 跨局并行,每局独立 port/cdpPort(4400+i/9300+i)
+ flush 日志;局内 repair 链恒串行→聚合过门率与串行等价。
2) assert 进展过滤(SaaPrompts.extractGatespec 产线 + quickcheck 镜像): 有进展断言时只留进展断言
(increased/decreased/changed/比较),丢终局态断言(phase/result==gameover/win、误编码 score=="gameover")
——bot 限时常到不了终局但 score 已涨=真有进展(tictactoe 0→9/saolei 0→12 假阴修正);无进展断言则全留
(规避类 result==win 为唯一信号)。终局完成度另由 expectLatch 把关。
3) M3 协议修(_client._extra_body + extract_json_obj): MiniMax-M3 OpenAI 端点默认 thinking=adaptive、
<think> 内联进 content→复杂局飙 token→max_tokens 截断丢 JSON(假"parse 失败")。官方关法 thinking=
{type:disabled}(按 model gate MiniMax);严格 json.loads 失败回退 json_repair(镜像后端 looseParse)+
<think> 剥离兜底。
实证: M3 parse 6/13→2/13、过门 2→3/13,与 deepseek(4/13)同档=M3 不弱(旧 2/13 系截断伪象)。
SaaPrompts 经 mvn 反应堆 BUILD SUCCESS;Python 经 py_compile+单测+真跑。快走查口径;权威 cutover≥60% 在 mini-desktop。
产线 follow-up(6c6g): Java M3 fallback 路同款 thinking 截断潜伏 bug,须补 thinking:disabled。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 03:04:23 -07:00
zizi
81c1b2cfa9
merge(planB U1): 引擎资产渲染 + asset 孤儿闭合(死代码修) → dev/2.0.0
...
Plan B(core-done) U1:六类资产 ref→assets→drawImage 渲染链路 + GAMEDEF_KEYS 孤儿闭合(assets 在 sourceProject 顶层正确抽取并入运行时 GameDefinition,消死代码)+ drawEntity shape:sprite(受控面只取宿主预载 boot.assets/运行时不碰 DOM/缺图源降级类目色占位)。已过 ce-code-review(P0 assets 层级/P1 契约同步/校验洞)+ 6c6g SHIP review。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 09:59:40 +00:00
lili
db14845d12
fix(review): U1 资产渲染——ce-code-review 整改(P0 assets 层级 + P1 契约同步 + 校验洞 + P2 群)
...
6-reviewer ce-code-review 揪出并整改:
- P0(api-contract,读 schema 实证): assets 在 source-project.schema sourceProject 顶层(非 gameDefinition,
后者 additionalProperties:false)→ 原加进 GAMEDEF_KEYS 丢合规顶层 assets。改:validateSourceProject 从顶层
sp.assets 抽取(容差回退 gd.assets)并入 cleaned.assets;GAMEDEF_KEYS 移除 assets;测试改顶层。
- P1(api-contract+project-standards 双证): runtime-api-2d.d.ts 同步—GameDefinition.assets / RenderComponent
shape:'sprite'+asset?/ref? / AssetSpec / createRuntime boot.assets(contract-first)。
- P1(adversarial conf100 复现): 非字符串 asset.ref(对象)绕过校验→零 repair 信号死循环 → ref 须非空字符串。
- P2(adversarial+maintainability): id/ref key 空间歧义 → drawSprite 经 asset.ref 查 boot.assets(宿主按 ref 键)。
- P2(maintainability): 数组化循环复用 GAMEDEF_KEYS 去重 / placeholderColor 补 music 色 / 弃 c.sprite 别名 / 32px 具名 DEFAULT_SPRITE_SIZE。
- P2(project-standards+api-contract): 宿主预载半-wired → game-host.d.ts + boot-game-host.js 加 HOST TODO 指针。
测试: 重写 assets(顶层/非串ref/非数组/端到端) + sprite 7 路(ref键/无图/image=null/抛错/悬空/music/asset:0)。node --test src/host 31/31 绿。
残留(已 TODO 指针 + plan U1 剩余 + task 记录): 宿主 loadAssets→boot.assets 真 wiring(浏览器耦合、node 难测)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 01:32:07 -07:00
lili
73d3391696
feat(engine): U1 引擎资产渲染地基 + asset 孤儿闭合(死代码修)
...
plan 2026-06-19-001 Plan B · U1。
- build-from-source: GAMEDEF_KEYS 纳入 assets(原缺→line 101 strip 掉=六类资产产物永不被消费的死代码,
评审 P0);assets 六类(sprite/character/effect/scene/ui/music)/ref 校验转 repair 信号。
- gd-runtime: drawEntity 加 shape:'sprite' 分支 → 经 boot.assets(additive,宿主 init 预载图源)drawImage 居中;
无图源降级类目色占位 rect(前向兼容,宿主预载落地后自动转真图,不崩不空屏)。
- game-host.d.ts: additive 扩 boot.assets(assetId→{image})落实 init「装资产」意图,零破坏既有 boot。
- 测试: build-from-source「assets 存活白名单+六类/ref 校验」、gd-runtime「sprite drawImage/无图占位双向」。
node --test src/host 31/31 绿(无回归)。
剩余 U1 wiring(单列·触宿主实现侧): 宿主 init 预载管线 asset ref→image map→boot.assets;
六类资产 demo 截图 + 孤儿闭合截图需 mini-desktop CDP。R11 代理判据待真图源接通后验。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 00:57:26 -07:00
lili
0518d24592
docs(plan): plan003 Plan B — Phase-1 core-done 验收闭环执行(双线拆分)
...
ce-plan 据 2026-06-19 验收闭环需求档产出 Plan B(core-done):引擎资产渲染(原003-U5)+
验收 harness(核心纵切e2e/广度抽检/8页走查/smoke)+ 双里程碑收口。
依赖排序:Phase1 六单元全独立(执行期可并行 fan-out)、Phase2 gated on gen-done(Plan A ≥80%产出)、Phase3 最终收口。
gd-runtime 整面归本档(解 U5↔U1 共面冲突,Plan A 走 DESIGN_SYSTEM)。gen-done(U1/U2)=Plan A 另 session。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 00:45:00 -07:00
lili
e5c0497d26
docs(brainstorm): plan003/Phase-1 验收闭环需求档(过 Codex+Opus 双评审)
...
ce-brainstorm「completed plan 003」产出:定义 plan 003 = Phase-1「done」验收判据闭环——
gen-done(A) ∧ core-done(B∧C∧D) 双里程碑独立收口 / 证据深度=核心纵切真机+广度抽检 /
生成 done 绑死已 flip saa / 设计完整性 rubric 已定标(5项×0-2·资产对位一票否决·均分≥1.4·N=8) /
U5 升 R4/R9 前置 / 性能可用性轴延后 Phase-2(风险接受) / 日历闸门项排除。
过 AGENTS.md §6.8 Codex+Opus 双评审,整改 5 P0+6 P1+多 P2 文内,3 跨档 TODO 落 003-U2/U5。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 00:04:27 -07:00
zizi
f7f1262b05
docs(plan): 生成质量 v3 战略转向——用对 agentic 的 M3 提主路(Anthropic协议+thinking/历史保留+工具循环)
...
- 根因分析档 v3 重写:整合二轮双评审 P0(n=5 非 13 / M3 论点降工作假设 / 点击消除 H 归上下文非门测错 / a3 救场回传未做 / best-of-N 整图串行) + M3 双协议实测探针 + 官方 Interleaved Thinking 文档
- 最深根因=用法错:M3 是 agentic SOTA 却被当一次性 JSON 填空机用 + thinking 剥离 + 历史不留;QC thinking:disabled 是错补丁(该分离+保留)
- 003-U1 杠杆重排:① 用对 M3(U-A Anthropic /v1/messages + U-B 完整 response/thinking 入历史 + U-C agentic 工具循环=接法B 提主路)② 测量/门修(不改 H 门本体)③ 上下文 8/8 driver ④ best-of-N 次要;加第 0 步真基线门(n≥30 + 证伪实验)
- 退路分支/R2/已拍板 #2:ReAct 从 P2 contingency 提为 M3 主路;升强档/Claude premium=退路
- M3 身份确认:真 MiniMax agentic 双协议模型(非 Claude 改名),探针 /v1/messages 返原生 ['thinking','text'] 块
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 01:33:38 +00:00
lili
affb507bc3
docs(.agents): 沉淀 003-U1 e2e 验收门工具化 + 「SAA 路无¥(token≠¥,折¥=F3)」坑
...
扩 saa-graph-orchestration「真·全图 e2e 测成功率」章一条:SaaFullGraphE2eTest 003-U1 工具化
(n≥10/外部 brief 文件、minSuccessRate 可配硬门默认不设、token 成本会计软警告、模型无关单测),
并记关键坑「SAA 路无 ¥ 数据(SaaGraphDispatcher cost 整段省略,折¥=F3)→ 别接¥门、别造假¥」。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 16:30:43 -07:00
lili
730b399dd6
test(saa): 003-U1 验收门工具化——SaaFullGraphE2eTest n≥10 + minSuccessRate 硬门 + token 成本会计
...
把 SaaFullGraphE2eTest 从「内置 5 条 / 只断≥1 跑通」改造成可作 flip 前置硬门的客观量测工具
(plan 2026-06-18-003 / 003-U1;该路代码 001-U1~U4 已在 dev/2.0.0 落地,本单元只工具化验收门):
- brief:内置扩 5→12 条多品类(偏 realtime/physics/tap-targets/clickable)+ -Dsaa.e2e.briefFile
外部文件(行式,去空白/跳空行/跳 # 注释,解析空则回退内置);-Dsaa.e2e.n 取前 K(未设=全量)。
- 成功率门:-Dsaa.e2e.minSuccessRate 可配硬断言;默认不设=仅存在性(保 003-U1「先实测真基线再收敛」、
不破普通构建),显式 0.8 即 flip(003-U2)前置硬门。
- 成本会计:从回调 trace best-effort 抽 prompt+completion token + 升 stage2 计数作成本证据;
-Dsaa.e2e.maxTokensPerGame 仅软警告不硬阻断(遵创始人「质量优先、允许临时破价、记账对账」)。
¥折算 blocked on F3(SaaGraphDispatcher cost 整段省略,§6.3)→ 不造假¥。
- 纯逻辑抽 8 静态方法 + 新增模型无关单测 SaaFullGraphE2eGateLogicTest(覆盖 happy+边界)。
验证:mvn test-compile 全 reactor BUILD SUCCESS;SaaFullGraphE2eGateLogicTest 12/12 过;
e2e 无 -Dsaa.e2e=1 仍 Skipped(门控完好)。质量收敛到≥80% 须 mini-desktop 权威量测(blocked,非本单元)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 16:30:43 -07:00
zizi
9b280d668e
docs(ledger): 002 判收口标记 + U11→003-U5 回填(创始人 2026-06-18)
...
总账顶栏本轮日志补:plan002 status=completed、真验证并入 003-U4、引擎 U11→003-U5、carry-forward 入 backlog(3bf6deb7)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 23:15:02 +00:00
zizi
3bf6deb70a
docs(plan): 002 判收口完成 + U11 引擎收尾移入 003-U5(创始人 2026-06-18)
...
- 002: status=completed;U1-U10+P-OPN-08 已交付(后端 447 测试绿+各单元 codex 评审;前端 build 绿+mock),真验证并入 003-U4;加收口横幅
- U11 引擎资产渲染(六类资产 ref→draw + asset 孤儿 GAMEDEF_KEYS + 4 短板)移出 002 → 003-U5:与 003-U1 共改 gd-runtime/build-from-source,归生成运行时串行序列(双评审 P0-2)
- 003-U5 含评审修订:验收门改可断言(九门测不到资产→build 单测+截图比对+端到端孤儿闭合)、闭合 U6 素材 ref 消费链(P2-2)
- 003: 刷新过期"零行已建"状态表→001 已合 dev/2.0.0(39c16630)+时点纠正横幅;003-U4 前置补 003-U5
- carry-forward: P-ACC-03 feed 卡 ageRating / P-CRT-12 进度展示 → backlog
- 评审 provenance: U11 内容本次 Opus 评审 P0-2 已专门分析并建议本 relocation
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 22:59:04 +00:00
lili
ceafedfed3
docs(.agents,mvp): plan002 收口续——进度总账回填(U8/U9/U10前端 + P-OPN-08公开API) + @PermitAll公开读纪律蒸馏(P-OPN-08实证)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 14:33:42 -07:00
lili
8238bf2d7a
merge(P-OPN-08): 创作者公开聚合API(project+telemetry @PermitAll·仅status==4·无PII·评审SHIP 0P0/0P1+P2软降级整改) → dev/2.0.0
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:56:46 -07:00
lili
5f2d0021fd
fix(telemetry): P-OPN-08 评审P2整改——公开统计下游异常软降级零汇总(契约永不报错·对齐list非脆失败)+测试
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:56:42 -07:00
lili
1ebedf2939
merge(002-U9): studio前端 素材中心/玩法模板中心/创作者公开主页(public) + P-ACC-03徽标(build绿;feed卡ageRating gap已记) → dev/2.0.0
2026-06-18 13:45:09 -07:00
lili
c7a58b8c45
feat(project,telemetry): P-OPN-08 创作者公开聚合API@PermitAll(仅status==4·聚合统计无PII)
...
新增创作者公开主页两只读端点(契约+实现+单测,全 additive):
1) GET /app-api/project/public/creator/{creatorId} @PermitAll
→ PageResult<PublicCreatorProjectRespVO>{id,title,summary,coverUrl,ageRating,
playCount,likeCount,publishTime,creatorId,creatorName};仅 status==4 已发布作品。
2) GET /app-api/telemetry/public/creator/{creatorId}/summary @PermitAll
→ {creatorId,publishedCount,totalPlayCount,totalLikeCount};对该创作者 status==4 作品聚合。
跨创作者公开读(#1 正确性风险)处理:本仓 DataPermission 仅注册 system DeptDataPermissionRule
(仅作用 AdminUserDO/DeptDO 表),game_project 无任何 DataPermission 规则 → MP 拦截器不追加过滤;
project 的"创作者只见自己数据"一向由 Service/Mapper 手动 eq(creatorUserId) 强制而非拦截器。
故公开读只需按"目标 creatorId(路径参数,非登录人)"+status==4 等值即天然跨创作者,无需 @DataPermission(enable=false)。
口径:publishTime 取 update_time 近似(项目表无 publish_time 列,同 count-published 口径);
公开统计经 project-api getCreatorPublishedSummary 取(发布态权威+play/like 计数列均在 project);
creatorName 经既有 AdminUserApi.getUser().nickname 尽力解析(查不到为 null,无 PII)。
单测(Mockito,test goal GREEN):
- ProjectMapperTest(新):SQL 形态守卫——公开查询恒 status==PUBLISHED(4)+按 creator_user_id 过滤,不放行下架(5)/封禁(6);
- ProjectServiceImplTest(+5):跨创作者读(走 selectPublishedPageByCreator 非 selectMyPage)/creatorName 兜底/空/聚合/零;
- GameStatServiceImplTest(+2):跨创作者经 project-api 聚合(不走"我的作品"归属链)/null DTO 兜零。
mvn -pl game-module-project/...-server,game-module-telemetry/...-server -am test → project 32/32 + telemetry 46/46 绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:43:08 -07:00
lili
2eb507da4a
feat(studio): U9 素材中心/玩法模板中心/创作者公开主页 + P-ACC-03适龄徽标
...
3 new pages(view→store→api→request CommonResult 范式,全 mock 兜底):
- 素材中心 /studio/material:六类浏览(GET /app-api/studio/asset/browse)+ 上传
(POST /infra/file/upload→POST /app-api/studio/asset)+ 选用入草稿
(POST /app-api/studio/asset/select)
- 玩法模板中心 /studio/template:GET /app-api/studio/template/list(5 品类
business-sim/narrative/puzzle/trpg/heritage)+ 一键去创作
- 创作者公开主页 /creator/:creatorId(PUBLIC 非 requiresAuth,P-OPN-08):
GET /app-api/project/public/creator/{id}(仅 status==4)+
GET /app-api/telemetry/public/creator/{id}/summary
P-ACC-03 适龄徽标 AgeRatingBadge(4 级 all/8+/12+/16+)渲染于:项目详情/我的项目
列表/创作者主页(VO ageRating)+ 试玩页(compliance/rating/get 回读)。
gap:feed 卡 VO 无 ageRating 字段(不杜撰,待 feed.yaml additive);profile/account
页无单局分级数据源——均显式留空。
HJ-FE-DS-001 token/组件复用 + i18n zh/en + 移动优先;strict TS 无 any;
新增 mock studio.ts(注册 index.ts,/infra 前缀放行)。
gate:npm run build(vue-tsc -b && vite build)GREEN;preview+curl 6 端点
+ 3 路由 200 实证。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:40:14 -07:00
lili
da5ec28c49
merge(002-U10): admin运营台接线(限曝光/导出/经营看板/赋余额订阅·funds-safe bizNo幂等+二次确认;build绿) → dev/2.0.0
2026-06-18 13:15:12 -07:00
lili
6771229921
merge(002-U8): 创作可用性前端(P-CRT-10引导/11示例库/13就地失败可重试+mock失败注入;build绿) → dev/2.0.0
2026-06-18 13:15:12 -07:00
lili
7219b613f9
feat(admin): U10 限曝光/导出/经营看板/赋余额订阅 运营台接线
...
新增 3 个 wanxiang 运营页 + 营收报表导出按钮,全部接 dev/2.0.0 真实 admin-api,mock 兜底齐备:
- 限曝光控制(exposureLimit): POST /feed/exposure-limit + 复用 featured/page 列表 + featured/export-excel 导出;perm feed:featured:update / feed:featured:export
- 经营看板(operationDashboard): GET /telemetry/dashboard 跨模块聚合(DAU/GMV/生成量/发布量) + 区间选择 + 指标卡 + dashboard/export-excel;perm telemetry:dashboard:query(区别于按游戏维度的 dashboard 页)
- 赋余额/订阅(grant): POST /trade/account/grant + /trade/subscription/grant 2-Tab;资金操作=二次确认 + bizNo 幂等键(自动生成可改) + 元↔分换算;perm trade:account:grant / trade:subscription:grant
- 提现页平台营收 Tab 追加 GET /trade/report/revenue/export-excel 导出;perm trade:report:export
接线对齐后端 ReqVO 实证(GrantBalanceReqVO/GrantSubscriptionReqVO/ExposureLimitReqVO):
bizNo @NotEmpty max64、amount 分>0、plan 1月/2季/3年、durationDays>0、exposureLimit Float>=0(>=9999 硬剔除)。
路由注册 remaining.ts wanxiang.children(5→8),菜单继承 route meta;导出走 request.download(blob)+download.excel。
gate: vite build --mode prod GREEN(3 新页+新端点均编入 bundle 实证)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:11:57 -07:00
lili
50a089170d
feat(studio): U8 创作可用性 P-CRT-10引导/11示例/13就地失败可重试 + mock失败路径
...
- P-CRT-10 创作引导: 创作页新手引导卡(三步, 可收起) + Prompt 输入近场写法提示;
示例库按钮始终可用(未选模板回落通用示例 genericExample); 升级中空态补「一句话造游戏」引导+示例预告
- P-CRT-11 示例库: Create.vue 消费真实 TemplateRespVO.examplePrompt, 强化「示例库」语义;
mock TEMPLATES 对齐真实后端 U7 五品类(business-sim/narrative/puzzle/trpg/heritage)逐字段同源
- P-CRT-13 就地失败可重试: Task.vue 监听 failed/timed_out 终态就地 showToast(一次, taskId 幂等去重),
区分 status=4 超时与 status=3 失败文案; 终态失败为 CommonResult code:0 不触发拦截器网络错误 Toast(单 Toast 不重复);
mock 失败注入: Prompt 含 test_fail→终态 failed(llm_error), test_timeout→终态 timed_out(timeout), 重试不继承失败(失败→重试→成功)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:10:29 -07:00
lili
9b96433bc2
merge(plan002): Tier-1 广度后端 U1-U7 收口(本会话 U3/U5/U6/U7 + 评审整改 + U6 media裁定对齐 + 外部IO不入事务红线蒸馏;447 测试绿) → dev/2.0.0
2026-06-18 12:51:23 -07:00
zizi
41a9d1f52a
docs: U5(ReAct)移出 001 → P2 agent-native 轨(创始人定)—— 001=U1-U4 / 003 退路作 contingency / 归 agentic canonical
...
创始人 2026-06-18:延期任务(U5 ReAct)不再算 001。① 001 plan 删 U5 单元(=U1-U4,已合)+执行状态/需求追溯标移出;② U5 归 docs/agent-specs/agentic编排-SAA.md(P2/Phase-1.5 agent-native 轨,已含接法B);③ 003 退路:ReAct 从'主杠杆'降为 contingency(P2 轨),达标主杠杆改 = 升档+prompt/gatespec修(remaining语义/asset/c4),升档+修不达80%才升级ReAct。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 19:44:36 +00:00
lili
3e04456097
refactor(studio): U6 上传归属对齐创始人裁定——撤 studio /asset/upload(字节走共享 infra),studio 改 ref 登记;浏览/选用/assetContext + 评审整改不变
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 12:12:04 -07:00
lili
4ca5263eb0
docs(.agents,mvp): plan002 Tier-1 收口——外部IO不入事务红线泛化(U3/U6实证) + 进度总账回填(U3社区/U5admin/U6素材/U7模板)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 11:51:50 -07:00
lili
72eebdd5bc
merge(tier1): U7 R-TPL 品类玩法模板注册(5品类·constants-only·克隆generic代码生成契约)
2026-06-18 11:46:51 -07: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
lili
bdf452d704
merge(tier1): U3 R-SOC 社区社交(评论/关注/排行ZSET/弹幕WS + 评审整改)
2026-06-18 11:31:32 -07:00
lili
03d59b1672
merge(tier1): U5 R-ADMIN admin运营(限曝光/导出/经营看板 + 跨模块只读-api)
2026-06-18 11:31:32 -07:00
lili
5c415cdb21
merge(tier1): U6 R-MAT 素材后端(实体六类/浏览/选用/上传 compose infra FileApi + codex整改)
2026-06-18 11:31:32 -07:00
lili
edc3436f7e
fix(community): U3 评审整改——P0 ZSET 移出事务(afterCommit) + P1 弹幕长度门/弹幕广播出事务/举报接缝去重 + P2 注释与公开读
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 11:30:07 -07:00
lili
a6f8f58d23
fix(studio): U6 codex 整改——P0 FileApi 移出事务 + P1 magic-byte类型校验/选用悲观锁/草稿态守卫
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 11:17:16 -07:00
lili
ac7ffe4a92
feat(telemetry): U5 经营看板聚合+导出 + 营收报表导出
...
经营看板(跨模块只读聚合,缺数据兜底不 500):
- 新端点 GET /admin-api/telemetry/dashboard(telemetry:dashboard:query)→ DashboardRespVO,聚合四指标:
DAU(本模块 game_telemetry_event 去重活跃身份:登录 user_id + 匿名 anon_id,取 statDateEnd 当日,
新增 TelemetryEventMapper.countActiveIdentities)+ GMV(trade-api)+ 生成量(aigc-api)+ 发布量(project-api)。
- DashboardServiceImpl 容错:每个数据源独立 try-catch + CommonResult 解包兜底——任一源不可用→该指标兜底 0
+ degraded/degradedSources 标记,整体不 500(看板可用性优先);正常空数据(data=null)不算降级。
- 导出 GET /admin-api/telemetry/dashboard/export-excel(EXPORT 审计)单行导出看板快照。
- telemetry-server 加 trade-api/aigc-api 依赖 + starter-excel。
营收报表导出:TradeAdminController 加 GET /admin-api/trade/report/revenue/export-excel
(trade:report:export + EXPORT 审计),抽 buildRevenueReport() 与 /report/revenue 共用口径避免漂移。
测试:DashboardServiceImplTest 6(全可用聚合/单源抛异常兜底/CommonResult非0兜底/data=null不降级/
全跨模块故障DAU仍可取/跨模块只读 never 写方法)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 11:06:57 -07:00
lili
f85ae6c434
feat(feed): U5 限曝光降权 + 精选池导出
...
限曝光(boost 的反向运营操作):
- Flyway V25.0.0 加 game_feed_rank.exposure_limit DECIMAL(10,4) NOT NULL DEFAULT 0(additive,
镜像 contracts/db-schemas);FeedRankDO 加 exposureLimit 字段。
- 排序口径升级为 sort_score = quality + boost - exposure_limit,统一收敛在 deriveSortScore()——
setFeatured/setExposureLimit/发布基线重发布/算分回灌四写入点共用,保证 boost/exposure_limit 两个
运营维度在任意写入路径都被保留(限曝光穿越 telemetry 算分回灌存活,已单测验证)。
- 两层效果:① 普通降权(0<x<9999)持久化进 sort_score 使游戏下沉(cursor 分页仍正确);
② 硬限曝光哨兵(>=9999)在 buildStream 出流处剔除(复用既有二次过滤续取机制,不动 status、可随时改回)。
- 新端点 POST /admin-api/feed/exposure-limit(复用 feed:featured:update 权限 + @ApiAccessLog UPDATE 审计),
门禁=仅已发布且已有排序行(不新建孤儿降权行);错误码段 1-103-005-***。
导出:GET /admin-api/feed/featured/export-excel(feed:featured:export + EXPORT 审计)经 ExcelUtils
导出精选/限曝光排序覆盖层运营字段;空数据写表头。feed-server 加 starter-excel 依赖。
测试:FeedServiceImplTest 25→35(限曝光门禁/降权扣减/硬限曝光出流剔除/普通降权不剔/回灌保留限曝光/导出列表空与非空)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 11:06:35 -07:00
lili
240a18fc33
feat(trade-api/aigc-api/project-api): U5 看板只读count方法(additive)
...
为 U5 经营看板补三个跨模块只读数据源 seam(均 additive,删除后各模块既有单测仍绿):
- trade-api:新增 TradeApi Feign 接口 + TradeRevenueReportDTO + trade-server TradeApiImpl
(@RestController @Primary 委托既有 IncomeService.sumGross/sumNet + WithdrawService.sumPaidAmount,
口径同 /admin-api/trade/report/revenue)→ 看板 GMV。
- aigc-api:AigcApi 加 countSucceededTasks(start,end)(impl 委托新增 AigcTaskMapper.countSucceededBetween:
status=succeeded 且 finish_time 落区间,零 DDL)→ 看板生成量。仅 additive:不动 SAA/executor/生成代码。
- project-api:ProjectApi 加 countPublished(start,end)(→ ProjectService.countPublished → 新增
ProjectMapper.countPublishedBetween:status=PUBLISHED 且 update_time 落区间,零 DDL)→ 看板发布量。
时间维度为 update_time 近似(项目表无独立 publish_time 列,已注释说明)。
跨模块只读,无任何写;自然日端点在各 impl 展开为全天 LocalDateTime 区间。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 11:05:56 -07:00
lili
3f35acb4d3
feat(community): U3 R-SOC 评论/关注/排行ZSET/弹幕WS
...
社区社交后端四子能力(game-module-community),克隆通知底座/feed互动幂等范式:
- 评论 Comments:CRUD + 举报转 compliance。删除按 userId 归属强校验(防越权删他人评论),
举报落本端举报态幂等 + 事务提交后 afterCommit 接缝(compliance 无受理 -api,留桩 OPEN ITEM)。
- 关注 Follow:active 软开关幂等切换(不删行,范本=feed FeedInteractLog),不能关注自己,
并发双插由 DB 唯一键 DuplicateKeyException CAS 收敛;粉丝数/关注数 countActive。
- 排行 Ranking:Redis ZSET + ZSET↔DB 一致性窗口。DB=真相、ZSET=缓存索引:
写穿透双写(DB 原子累加 + ZSET incrementScore)、ZSET 缺失/启动从 DB 回填重建、最终一致;
维度白名单 RankDimensionEnum(game_hot/creator_hot)。
- 弹幕 Danmaku:WebSocket 单机最小实(LocalWebSocketMessageSender),自维护房间 gameId→sessionId
注册表做房间维度广播(框架仅按用户维度推送),断连懒清理;多实例需切 sender-type=redis(MQ future-state 未部署)。
契约/库表:
- Flyway V23.0.0(U3 独占 V23.x):game_community_comment/follow/rank/danmaku 四表 +
幂等唯一键(follow uk(user_id,target_user_id,deleted,tenant_id)、rank uk(dimension,target_id,...)),
同步 huijing-server/db/migration + contracts/db-schemas。
- community.yaml additive 加 8 个 app 端点 + 5 个 schema(既有冻结)。
- 错误码段 1-107-004 评论 / 005 关注 / 006 排行 / 007 弹幕。
验证:mvn -pl game-module-community/game-module-community-server -am test -o 全绿
(57 tests:新增 U3 35 + 既有 22;CommentService 9 / FollowService 8 / RankService 8 / Danmaku 10)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 11:01:24 -07:00
lili
09ced58930
feat(studio): U6 R-MAT 素材实体/浏览/选用/上传(compose infra FileApi)
...
R-MAT 创作者私有素材库(六类 sprite/character/effect/scene/ui/music,冻结同枚举):
- StudioMaterialDO + game_material 表(V24.0.0,归属 creator_user_id,idx_owner_cat)
- 3 端点 /app-api/studio/asset/{upload,browse,select}(studio 领域端点,需登录用户)
- upload:六类校验 + 大小≤10MB + 每类目 MIME 白名单 → composes huijing-module-infra
FileApi.createFile 存字节 → provider 包装 ref → 落库 → 返回冻结 StudioAssetContextItem
- browse:owner-isolated 分页(强制 eq creator_user_id),可选 category 过滤
- select-into-draft:把本人素材 ref 写入草稿会话 assetContext(JsonUtils 序列化,按 ref 去重合并)
- MaterialProvider SPI + 工厂 + mmx-cli mock(graceful degrade,仿 AdProviderFactory)
- 错误码段 1-112-005-***(七个);studio.yaml 加 3 端点 + schemas(additive)
验证:mvn -pl game-module-studio-server,-api -am test 全绿
(StudioMaterialServiceImplTest 17/17,studio 模块 61/61)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 10:54:56 -07:00
zizi
c290fd1be3
docs(plan): 001 评审 follow-up + media 裁定——asset孤儿→002-U11 · remaining语义/assertAfterPlay/9-9/worker→003-U1 · 上传归属=media
...
我的 001-U1~U4 codex+opus 评审(迟到于另一 session 的 FIX-FIRST 合并,但有料)落账:① 002-U6 上传端点=共享 media(创始人裁);② 002-U11 补 gamedef 路 asset 孤儿(GAMEDEF_KEYS strip assets + asset 节点 validate 后 merge=死代码,必修);③ 003-U1 评审更新:gamedef 已绕开命门(c1 对目标路 moot)→ 新焦点 remaining=alive.length 语义错位/assertAfterPlay 词汇门禁(c4)/9-9=金样非模型过门/worker prompt 切默认前补 GAMEDEF_SYSTEM。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 17:09:01 +00:00
zizi
c499d9c181
docs(总账): §7.1 Tier-0 标现状——SAA gameDefinition U1-U4 已集成 dev/2.0.0 + U5 延期 + 下一关 cutover 门
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 16:55:28 +00:00
zizi
4d48c0b497
docs(skills): drive-remote-claude-tmux 补 §7 实战限制——直驱活会话撞两墙(guard拦注入/模态吃键),记行得通三条路
...
本会话直驱 game 实证:auto-mode classifier 在执行层拦活会话 send-keys(口头授权不够·要设置层 Bash 权限规则)+ 'How is Claude' 反馈模态截获所有非选项键(Escape/C-u/BSpace 全失效)。行得通=创始人粘路径(本会话成功)/专用全新会话/直驱需权限规则+先关模态。铁律=完成判据靠 git push 非读屏。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 16:53:55 +00:00
zizi
e378f3c662
contract(source-project): kind 枚举补 clickable(6c6g 评审待办#1·additive)
...
clickable = U1 引入的声明式点击基元;原靠 additionalProperties:true 宽松放行(功能可用),此补正把它登记为一等 kind。additionalProperties 维持不变(收紧是独立设计决策,本次只做 additive)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 16:47:16 +00:00
zizi
39c16630ed
merge(saa): 真结构化生成地基 feat→dev/2.0.0——U1-U4(运行时约定/build-from-source/真产gameDefinition/多模型回退)+6c6g评审整改(P1 K_STATUS清零/P2 fallback注释);flag默认factory灰度opt-in,生产零行为变更
2026-06-18 16:46:19 +00:00
zizi
8ccb5c7c7e
docs: 内网凭据档(NEWAPI_KEY 等)+ AGENTS §6 条款9——内网阶段 keys/decisions 进文档、禁 env var(创始人定)
...
创始人 2026-06-18:内网阶段所有决策+密钥进项目文档,不靠环境变量(内网 key 允许入仓)。新建 docs/内网凭据与端点.md 作密钥/端点单一事实源(NEWAPI_KEY=sk-84GA…/base http://100.64.0.8:3000/四机/Gitea );AGENTS §6 加条款9立为硬约束——需 key 查该档,别再反复找创始人要(已给几十次)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 16:33:22 +00:00
lili
6a9bd4d349
fix(saa): 6c6g 评审整改——P1 K_STATUS 清零 + P2 stage2 fallback 注释
...
P1(真修):renderNode 起手 out.put(K_STATUS,"") 清 stale 状态——checkpoint/saver 跨 run 复用 state 时,
上轮 giveup 写的 K_STATUS="failed" 会残留,下次 modify 进来 modifyRouter 首检 K_STATUS 误判失败、
把 gamedef 确定性点改错误路由到 END。
P2(语义·仅注释):generateNode fallback 处加注,说明 stage2 升档后回退档仍取廉价档(MiniMax-M3)是
「可用性优先于本次升档边际质量」的有意取舍(强档超时也要出包),非疏漏。
验证:mvn -Dtest=SaaStudioGraphTopologyTest,SaaStudioNodesRegressionTest → Topology 30/30 + Regression 8/8 全绿。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 09:20:49 -07:00
zizi
a5c453f7c4
docs: 根因分析改进落地——003-U1 补改进杠杆(c1命门/a2/a3 等) + 修 saa skill 过时'天花板'口径
...
据 docs/brainstorms/2026-06-18-生成失败根因分析:① 003-U1 补可执行改进杠杆(序=c零成本先→a升档+b ReAct;c1换few-shot含_forensicsView=命门/c2 I_control判据/c3 F_wiring接线/c4 H终局语义/a2 failCount重置/a3回喂源码),先单验c1;② saa skill 把'难门=生成质量天花板'(已被根因分析+Codex证伪)改为'主因=喂不全+救场不足+门判据偏'。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 15:16:06 +00:00
zizi
a0af0f658c
docs(brainstorm): 生成 60% 失败根因分析——喂不全为主(命门=few-shot 缺 _forensicsView)非天花板 + 改进清单
...
创始人 2026-06-18 指派。Opus 取证 + Codex 验证(双视角):① 命门=注入的 few-shot 探针 _goldenpath-probe/factory.js 缺 _forensicsView/latch,而 prompt 硬要求它→模型抄没见过的东西(代码直证 SaaPrompts:63/108 vs probe:77);② I_control 平滑跟手 harness 查、prompt 零提及;③ 真模型硬天花板无样本实证、非主因(scale-20 无'人工介入后仍不过'的款,Codex 同此);④ 救场两弱点:failCount 跨档不重置(强档只剩3次)+ 普通 repair 不回喂源码。改进序=c(零成本 prompt/few-shot 先)→ a 升档+b ReAct 并行;首步=mini-desktop 重跑取真 dump(两机现无 per-game dump,占比是推断)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 14:42:33 +00:00
zizi
7d4a77c36b
docs(plan): 003 落创始人拍板——质量门优先 + 达标主杠杆=升模型档+ReAct(待拍→已定)
...
创始人 2026-06-18:① 质量门 ≥80% 优先于成本 ¥0.15/款(临时破价 Phase-3 压回);② 达标主杠杆 = 升默认模型档 + ReAct(两者都上,ReAct 从'备选退路'提为主路,001-U5);(ii)降判据/(iv)改门为备选。③ 配套:Claude 做生成失败根因分析(另出)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 14:20:42 +00:00
zizi
0b8b968292
docs(plan): P1 按并行/串行拆两档(创始人定)—— 002 并行线 + 003 串行线,过 Codex+Opus 双评审
...
创始人定:P1 = 001(生成机制线,执行中不改)+ 002(并行线:广度后端 U1-U7 + 前端 U8-U10 + 引擎收尾 U11 + 2 孤儿 P-OPN-08/P-ACC-03)+ 003(串行线:质量收口→flip→M0→最终验收 003-U4 + 退路)。按'能否并行'拆,解掉命运耦合(合并版的 P0)。拟 plan 004(引擎)并入 002-U11。
双评审(AGENTS §6 条款8):Codex 揪 1 阻断(P-OPN-08 需后端公开聚合 API、原误当纯前端)+ 4 重要(U11 先差分勿重造〔runtime 已有 drawText/SpatialHash/MTV〕/ P-ACC-03 验收面拓 feed/play/主页 / 003-U4 补 M1-M3 明细 / 跨档引用 + compliance 标注)全修;Opus 收敛复核确认 001+002+003=P1 全集无真孤儿、轴切自洽、无 P0、可收口。留 2 待拍(质量门≥80% vs 成本¥0.15 优先级 / 80% 不可达退路)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 14:09:20 +00:00
lili
cb0a273d43
docs(plan): plan-001 加执行状态收口快照(U1-U4 交付/验证 + gamedef 实证 + U5 延期 + 待 6c6g)
...
应创始人「update plan 001」:在 plan 2026-06-18-001 进展结论后加「执行状态」节(决策正文 U1-U5/KTD/HTD 不动):
- U1-U4 已交付+本机验证+推送(引擎 node --test 60/60;后端 mvn test-compile + Topology 30/30+Regression 8/8;双评审 18 条整改);U1 含正式化 runtime-api-2d.d.ts + clickable 基元。
- gamedef 路实证:路径两品类均过 harness 9/9、repair 真抬率;success rate=引擎生成能力(高方差,正式 cutover authoritative=mini-desktop)。
- U5 正式延期(pom Phase1.5 + 地基稳后门)。
- 待 6c6g:schema clickable 枚举(不动现8契约)/ assertAfterPlay 字段词汇(共享 DESIGN_SYSTEM)/ 评审。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 06:44:26 -07:00
lili
95b2572e65
docs(game-runtime): U1 约定正式化 runtime-api-2d.d.ts(rt 接口 TS 契约 · 第10类契约 additive)
...
plan 2026-06-18-001 U1 正式化产物(plan「1-2 轮后正式化」已满足:4 轮迭代+跨品类 9/9 实证+clickable 基元,约定已稳)。
手写 TS 契约(同 api.d.ts/game-host.d.ts 范式),与 gd-runtime.js 同形:
- gameDefinition 声明式模型:Render/Physics/Clickable/Marker 组件 + EntityDef/BehaviorDef(code)/RuleDef/SceneDef。
- rt 面(behavior 侧):实体 getEntity/entities/query/spawn/destroy + Entity 实例形 + input(轮询)/time(确定性,无 nowMs)/
dt/random/score-win-lose(latch)/clamp-dist-overlap/fx/view。
- ForensicsState:固定取证键 + 逐实体 id 投影命名位(ball.x…)+ tag=target → targets[]。
- createRuntime(boot,gameDefinition)→Runtime(init/update/render/state/destroy/errors)签名。
落 game-runtime/src/host/(同 game-host.d.ts 之理:内部宿主↔behavior 接线面,非跨仓 SSOT);
additive 第 10 类契约,**不动现 8 契约**(故未改 source-project.schema.json;clickable 入其 kind 枚举=additive,
留 6c6g/创始人 决,contract-first 补正)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 06:38:50 -07:00
lili
80aaa116ab
feat(game-runtime): clickable 声明式点击基元(harness 探针证 9/9)+ tap-targets prompt 迭代——治便宜模型 tap-handler 顽疾
...
plan 2026-06-18-001 U3 迭代3-4轮(据快走查根因)。
根因(全budget+stage2 都不解,3轮prompt不解):便宜/强模型均**顽固把 tap 命中门控在分离 state 实体/计时器/turn 上**
→ 盲点驱动点不中 → tap-targets 类系统性 E_live/F_wiring/G_input/H 挂。即「让模型写 tap-handler」这条路便宜模型走不通。
引擎线根治(gd-runtime.js):新增 **clickable 声明式基元** `{kind:'clickable',score?,mark?:{shape,color,r},hitW?,hitH?}`——
运行时内置:本帧点中带此组件且 !occupied 的实体 → 自动翻 occupied+spawn 标记(可见)+计分+fx。**离散点击类声明它即可、免写 handler**。
验证:gd-runtime 单测 16(含 clickable 派发) + 全套 60/60;**手写纯声明式(behaviors:[])clickable tap-targets gamedef 过 harness 9/9**(E_live distinct=8/F_wiring/G_input/H 全过)——证基元+管线正确。
GAMEDEF_SYSTEM:教 clickable(替「写 tap-handler」)+ 参照2 改纯声明式 clickable few-shot(经探针证 9/9)。
runtime-api-2d.md:补 clickable 组件文档。
**关键测量定论(终结本机迭代)**:便宜模型 tap-targets 单管线生成**高方差**(同 brief 一轮 8/9 一轮 5/9)——
N=1~2 小样 lili-mac 早读**信噪比不足**,无法可靠优化「模型产出过门率」(我前几轮在追噪声)。
**管线/运行时/约定已证正确(手写金样两品类均 9/9)+ 引擎补了 clickable 基元**;**模型产出 cutover 率是统计量**,
需大样+全 repair 预算 → **authoritative=mini-desktop SaaFullGraphE2eTest -Dsaa.e2e=1**(多 brief+5+3 repair+stage2)。
快走查工具:加 stage2 救场升档(QC_STAGE*)+ gamedef assert 字段 coerce 到 score(治 design 造 moves/totalRound 等取证读不到字段)。
设计决策待 6c6g:design↔gamedef 的 assertAfterPlay 字段词汇契约(design 应约束到 gamedef 暴露集 score/remaining,
或运行时暴露更多)——触共享 DESIGN_SYSTEM。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 06:13:18 -07:00
lili
c24b7fb4d2
fix(saa): GAMEDEF_SYSTEM 加 tap-targets few-shot(harness 探针证 9/9 正确)+ 快走查 repair 可配
...
plan 2026-06-18-001 U3 迭代2轮:据 cutover 早读「tap-targets 类系统性 5/9(E_live/F_wiring)」根因诊断+整改。
根因决断(harness 受控探针,无 LLM):把**手写 known-correct tap-targets gameDefinition**直接过全 harness
→ **9/9 真过**(E_live distinct=8/8、F_wiring 12 引擎调用)。**故运行时+装配器+tap-targets driver+约定全正确**;
whack/tictactoe 失败 = **便宜模型生成质量**(tap-handling 写错:点击未判中→无 spawn/fx/计分→画面恒定),非基建/集成 bug。
GAMEDEF_SYSTEM 加 tap-targets few-shot(SaaPrompts.java):tile 网格每格 tags:["target"]+idx+occupied,
justTapped→pointer overlap 判中→occupied 翻+spawn 标记(可见)+addScore+fx;win=score>=N。
few-shot 本身经探针证 9/9 正确(教对 idiom);实测使模型确给 target 打标(gd-whack 9/10 tagged)。
残留 tap-handling 精度=R3 便宜模型质量,靠 **repair 回环(真图 5+3 轮,本机只跑 3)+ stage2 升档(强档)** 解。
快走查:MAX_RETRIES 改 QC_MAX_RETRIES 环境可配(真图 maxRepairs=5,本机早读取 3 平衡时延)。
结论:**gamedef 路两大品类(realtime/physics + tap-targets)路径均证正确**;首攻便宜模型质量随品类波动,
cutover 率 = repair 预算 + 模型档 的函数(二者在 mini-desktop 全图满配)。≥60% authoritative=mini-desktop。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 02:42:41 -07:00
zizi
16467157c1
docs(plan): 新建 003 Phase-1 生死门(质量达产线门+flip+M0验收)—— Codex+Opus 双评审整改 3 P0
...
立项=双评审 P1-3(生死门无家)。新建后按 AGENTS.md §6 条款8 过 Codex+Opus 双评审,Opus 揪 3 P0 全整改:P0-1 60→80% 跨路径错配(60%=iife旧路/80%门所在 gameDefinition 路零行已建)→改'先实测真基线再收敛';P0-2 stage2救场已计入基线=空头退路→增'80%不可达退路分支'(升档/降判据/ReAct/改判门);P0-3 质量门 vs ¥0.15 成本门无优先级→列待拍(推荐质量优先)。+2 P1(M0机制归001本档只补验收gate/gating链显式追踪表)+2 P2(80%门测试加minSuccessRate硬断言/M0口径收窄不混M1/flip两步+回退/术语)。剩2项待创始人拍。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 08:28:04 +00:00
lili
099fb8106d
test(wg1): gamedef 快走查加 repair 回环——证 repair 抬升率(runner 7/9→9/9 真过)
...
plan 2026-06-18-001 U3 capstone:快走查加 repair 回环(mirror 真图:验证/真玩失败→verdict 回喂→重生成,≤2 重试),
证 ≥60% cutover 的真机制(repair)在本机可抬首攻失败到过门。
with-repair 早读(design+gamedef 全图镜像,deepseek-v4-flash):
- gd-runner ✅ 9/9 真过(att=3)——首攻 7/9,repair 回喂后重生成补齐 → 满九门。**repair 回环端到端证实有效。**
- gd-breakout 8/9(att=3)——H_progress(砖 remaining 未降):paddle-intercept 接球清砖精度,3 轮便宜模型 repair 未完全攻克
(R3「九门是机制地板」难类;仍真渲染/构建/玩、挡板接指针)。
- 1/2 小样硬类:与 ≥60%(全图+更大样, authoritative=mini-desktop)目标一致——runner 类过、paddle 精度类待更多 repair/更强档。
总:gamedef 路本机已证 ①端到端可玩(pong/runner 满门)②repair 回环真抬率。≥60% cutover 量化门 authoritative=
mini-desktop SaaFullGraphE2eTest -Dsaa.e2e=1(全图+repair+大样)。密钥经 _client 读 .env 不入码;throwaway 已清。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 01:18:33 -07:00
zizi
6c9c1bd2ad
docs(agents): §6 条款8 去掉 Harness 触发——只保留 plan/brainstorm 文档双评审要求(创始人定)
...
创始人 06-18:AGENTS.md 只写'新建 brainstorm/plan 文档须 Codex+Opus 双评审(Codex 挂回落 Opus)'这条要求;'写入 Harness'触发不入 SoT 条款。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 08:03:21 +00:00
lili
da4801828d
fix(saa): GAMEDEF_SYSTEM driver 对齐加固 + 快走查升级全图镜像(design+gamedef)——据 U3 早读根因
...
plan 2026-06-18-001 U3 迭代1轮:据 lili-mac gamedef 快走查根因诊断,加固 GAMEDEF_SYSTEM 与九门 driver 的对齐。
快走查根因(design+gamedef 全图镜像, deepseek-v4-flash 单发无 repair):
- 路径端到端真成立:声明式 gameDefinition→装配→构建→真九门;pong 9/9(无 design 简版)、breakout 8/9。
- 单发首攻失败模式根因:① I_control——挡板命名变体(paddlePlayer≠gatespec 的 paddle)/ 只接键盘不接指针(driver 靠点指针位驱动)
/ 控制体 clamp 范围窄于 driver 边缘 tapX(340);② H_progress——设计稿 assertAfterPlay 引用取证读不到的自定义字段(totalRound)。
GAMEDEF_SYSTEM 加固(SaaPrompts.java,gamedef 路专属,不动现 SYSTEM):
- 命名逐字对齐 gatespec(挡板=paddle、球=ball,别用变体——读到 undefined=挂)。
- 可控体必须响应指针(`if(rt.input.pointer.down) paddle.x=rt.input.pointer.x`——driver 靠点指针位驱动,只接键盘=I_control 挂)。
- 进展落在可取证字段(score/remaining/实体位置;assertAfterPlay 别用读不到的自定义字段)。
验证:再跑 breakout 模型确按指令接指针控制(`if(pointer.down) paddle.x 追 pointer`)+ I_control tapX:50 已过;
残留 tapX:340 未过=首攻 clamp 范围精度,属**repair 回环**(已建:验收失败→verdict 回喂→重生成)territory。
快走查工具升级(gamedef_quickcheck.py):加 design 步(抽 DESIGN_SYSTEM+复刻 extractGatespec)→ 全图镜像
(classify 略/design→gamedef→装配→九门),getter truer 早读;prompt 抽自 SaaPrompts.java drift-free。
定位:单发快走查=首攻质量早读(非 cutover 门)。**≥60% cutover 门=全图含 repair 回环, authoritative=mini-desktop
SaaFullGraphE2eTest -Dsaa.e2e=1**(单发 0/6≠失败:repair 回环抬升率,本机不跑 repap 多轮)。密钥经 _client 读 .env 不入码。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 00:58:01 -07:00
zizi
aefffb889d
docs(agents): §6 加硬约束条款8——plan/brainstorm 文档及写入 Harness 必 Codex+Opus 双评审
...
创始人 2026-06-18 定:新建 brainstorm/plan 文档(含就地扩活计划补 units)或写入 Harness(九门 e2e 评测 harness=生成质量裁决器)→ 收口前必过 Codex+Opus 双评审,Codex 不可用回落 Opus 单评;并行跑+喂设计前提+在档修+跨档列待办。本会话立证(对 plan 002 增量揪 2 P0)。放 SoT 入口档而非 .agents/rules(创始人指定)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 07:54:50 +00:00
zizi
e6cd1a2cd0
docs(plan): 002 双评审整改(P0-2 创作页归属/P1-1 分批验收门/P0-1 命名空间/P2)
...
按创始人新评审门(brainstorm/plan 必 Codex+Opus 双评审)对 b53d2152 增量补评审,Opus 对抗式揪 2 P0,本提交修在档内的:P0-2 U8↔U9 创作页前端归属切清(owner=U8、U9 不重复)/ P1-1 U9 验收门拆子门A(已可接 feed/钱包/账号)·子门B(gated 社区/素材/模板)防8页伪完成 / P0-1 加 002 编号命名空间声明(喂Mac带 002-Ux,与 001 U1-U5 两套)/ P2 校准 P-CRT-13(壳已在非替mock)·摘要七域注·U10三跨联合验·U9八页映射。跨档项(001 加80%flip+M0 unit·前端线残迹sweep·总账回填)列收口待办待创始人点头。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 07:43:33 +00:00
lili
d8df5f27ec
test(wg1): gamedef 路 lili-mac 快走查驱动 + U3 cutover 门早读(pong 9/9 真过)
...
plan 2026-06-18-001 U3 验证:run.py 的 gamedef 版——generate(GAMEDEF_SYSTEM,从 SaaPrompts.java 抽取 drift-free)
→ build-from-source.mjs(校验 schema/引用/静态扫描+装配)→ scaffold/build/play 九门(harness 复用零改)。
早读(deepseek-v4-flash 便宜档,lili-mac 小样):
- gd-pong 9/9 真过门(声明式 gameDefinition→可玩→满九门,范式端到端证实)。
- gd-runner/whack 8/9、gd-flappy 7/9,共性缺口 G_input——本快走查跳了 design 步、多数 brief 的 play_spec
无 controlCheck/driver(gatespec),故 G_input 无控制驱动可施=快走查 harness 工件,非 gamedef 生成缺陷
(游戏真渲染/真构建/输入真接线:runner justTapped→jump 在;pong 满过)。
- authoritative ≥60% cutover 门(全图含 design 产 gatespec) = mini-desktop SaaFullGraphE2eTest -Dsaa.e2e=1。
密钥经 _client 读 .env(gitignored)、绝不入码;throwaway 生成游戏(gd-*)已清,不入仓。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 00:25:13 -07:00
zizi
b53d215257
docs(plan): Tier-1 计划 002 并入前端接线+创作可用性骨架(U8-U10)
...
按创始人拍板(a):不新建 plan 文件,就地把缺口当 units 补进现有 Tier-1 活计划(遵一题一活档·禁一 pivot 一文件)。新增 U8 创作可用性(P-CRT-10/11/13·Tier-0 优先)/ U9 studio 前端接线(8页去mock+素材/玩法模板两新页)/ U10 admin 运营台前端接线;骨架级=只定目标/范围/验收门,file 级实证细节留 Mac 在活代码树补。删过时的「前端接线=前端线」scope-out(新分工 Mac 全包前后端,域切已废)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 07:14:29 +00:00
lili
fd5b245baa
feat(saa): U2 接缝 + U3 真产 gameDefinition + U4 多模型回退(gamedef 路 additive 灰度)
...
plan 2026-06-18-001 U2(后端接缝)/U3/U4 · 后端线 · 真结构化生成上产线(saaSourceMode=gamedef,默认 factory 字节不变)。
U3 真产 gameDefinition:
- SaaPrompts 新增 GAMEDEF_SYSTEM(与现 SYSTEM 物理隔离,公平性铁律)+ buildGameDefMessages;内容=runtime-api-2d.md
约定提炼(schema/rt 面/命名约定/硬约束)+ 内联 scan-clean few-shot;硬约束由 build-from-source 静态扫描兜底。
- SaaStudioNodes.generateNode gamedef 分支:产结构化 gameDefinition(looseParse 脏 JSON 容错)落 K_SOURCE_PROJECT;
factory 路(含 regenerate 消费 base 源)字节不变。
U2 后端接缝(gamedef→可玩,scaffold/build/play/harness/build.mjs 全零改):
- build-from-source.mjs 加 CLI(node build-from-source.mjs <src> <out> / --validate;被 import 不执行)。
- SaaGenNodes.validateNode(gameRuntimeRoot,sourceMode) gamedef 分支:经 build-from-source.mjs 子进程校验+装配
sourceProject→factorySrc(下游 scaffold/build 零改消费);CLI 失败回喂 repair。
- 确定性点改解锁:modifyNode(sourceMode) gamedef 路真改源不 fail-loud;modifyRouter(sourceMode) gamedef
deterministic→validate(装配 patched 源重验)/ factory→fail-loud;assetNode 幂等(已有 assets 跳过,不覆盖点改)。
U4 多模型回退链:generateNode 主模型(含 stage1/stage2)耗尽 180s×3 重试后,回退同 role 跨家档(M_CODE/FIX_FALLBACK
=MiniMax-M3)再试;接现 callWithTimeoutAndRetry/looseParse/救场阶梯不另起限次。GenModels record 收敛入参。
线程:AigcExecutorProperties.saaSourceMode(默认 factory)→ SaaGraphDispatcher → SaaStudioGraph.build 9 参重载 →
assemble → generate/validate/modify/modifyRouter;8/7/5 参 build 旧重载 delegate "factory" 不破现调用。
worker prompt.py 不动(gamedef 为 SAA 路专属、http worker 仍 iife,无 shared prompt 漂移=无 split-brain)。
验收(lili-mac 快走查):mvn test-compile 过(main+test);模型无关单测 SaaStudioGraphTopologyTest 30/30
(含新增 gamedef deterministic→validate 路由证)+ SaaStudioNodesRegressionTest 8/8,零失败;build-from-source CLI
实证(--validate exit0/2、assemble 产正确 import 路径工厂)。**gamedef 全链过门率≥60% cutover 门需 NEWAPI_KEY+
mini-desktop(authoritative,未在本机跑)**。默认 factory 路行为字节不变(灰度 opt-in)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 00:05:18 -07:00
lili
160d9bc3e0
fix(game-runtime): U1/U2 双评审整改(correctness×adversarial)——driver 命名路径 + 边界静态扫描 + rt 加固
...
子代理双评审(ce-correctness + ce-adversarial)对引擎线 9+9 条发现,逐条核证为真后整改:
gd-runtime.js:
- [HIGH] state() 派生九门 harness driver 命名路径:逐实体按 id 投影顶层位(ball.x/paddle.x/bird.vy…
+w/h/r/angle)+ tag='target' → targets[{x,y,idx,occupied,safe}](对齐 gatespec driver 契约)。
此前 driver 读 undefined→无法驱动→机制门必挂(plan U1 step5 要求,原缺)。
- [High] addScore 守 num(NaN/字符串不污染 score 共享契约);[High] 冻结 rt 纯 API 面
(input/fx/time/view+本体,防 behavior 改写共享 API 串味全局,实体仍可变)。
- [Med] 重复实体 id:addEntity 保先到者可寻址+记信号,reap 仅删 byId 指向的死亡实例(不误删存活者)
+ 实体上限 5000(防失控 spawn 静默膨胀)。
- 移除 rt.time.nowMs(墙钟=非确定性逃逸口);elapsed 帧末推进(首帧 now()=0);输入沿恒帧末清
(含 latch 后,杜绝滞留);overlap 显式 0 被尊重(不被 truthy 误当默认)。
build-from-source.mjs:
- [keystone] 校验边界静态扫描 behavior.code/rule.condition:拦死循环(while(true)/for(;;))、沙箱逃逸
(process/require/eval/.constructor/Function/globalThis)、确定性逃逸(Math.random/Date)、DOM/网络、
condition 副作用(;/赋值/win-lose-spawn-destroy)→ 转 validationErrors 回灌 repair。同步 JS 不可进程内
硬中断+new Function 不沙箱,故在边界拦截(模型代码只在浏览器执行,esbuild 仅静态打包);信任模型写进 header。
- [Med] 非数组 components/entities 强制数组化(不抛裸 TypeError);behavior code 须非空字符串;
id 唯一性+null/undefined id 不入引用集(杜绝 'null'/'undefined' 假命中);循环引用 JSON fail-loud
(带 validationErrors);`<`→< 转义(inline-injection 安全,防 </script> 提前闭合宿主内联 script)。
runtime-api-2d.md:补「边界硬拦截」「取证/driver 命名约定」(实体命名 ball/paddle、目标打 target 标)——交 U3 prompt 教模型。
验收:node --test 全 runtime 套件 59/59(原 50 + 9 条修复验证:命名路径/addScore守卫/rt冻结/重复id/
nowMs移除/非数组/非串code/静态扫描/循环引用+</script>转义);archetype few-shot 经核证 scan-clean(不教被拒模式)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 23:39:57 -07:00
lili
c8526f1dd6
docs(game-runtime): U1 运行时约定文本 runtime-api-2d.md(交 U3 prompt 嵌入)
...
plan 2026-06-18-001 U1 交付物「约定文字同步喂进 prompt → 交 U3 落 SaaPrompts 新 SYSTEM」。
新增 game-runtime/src/host/runtime-api-2d.md——写 gameDefinition behavior 逻辑时能用的全部 rt 面
的人/模型可读契约:gameDefinition 结构 / behavior 代码契约(new Function('rt','self','dt',code)+
trigger 语义+四条硬约束)/ rules / rt 面全 API 参考 / 组件 / 4 原型 few-shot / 常见坑(治真实模型
漂移:禁约定外 helper、禁 Math.random、终态置 latch、behavior 不画图、关键事件挂 fx)。
U3 的 GAMEDEF_SYSTEM prompt 直接嵌入本文。状态 v0(已过 4 类原型表达力证),保留补 idiom 余量。
落点同 game-host.d.ts 之理(内部宿主↔behavior 接线面 → game-runtime/src/host/);
是否升格 contracts/ 跨仓契约由 6c6g(contracts owner)定。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 23:11:14 -07:00
zizi
2937886a47
docs(skills): 远程驱动 Mac Claude Code 方案(ssh+tmux)——多设备复用 playbook
...
创始人 2026-06-18 拍板:6c6g 经 ssh+tmux 双向驱动跑在 tmux 里的交互式
Claude Code(send-keys 派活 / capture-pane 读屏),不走 ACP、不走
claude -p headless;采用 option 1=独立 worktree 专用会话,要求多设备复用。
- 新增 .agents/skills/drive-remote-claude-tmux.md:每设备配置块 + onboarding
侦察配方 + 通道原语(已实测)+ 专用会话(防撞树)+ bypass-perms + 安全红线;
完成判据=git push 非读屏;screen hardcopy 坏不用、PATH 假阴性坑均记录。
- README skills 索引补一行。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 06:10:49 +00:00
lili
4292f4e793
test(game-runtime): U1 收敛判据——rt 约定跨 4 品类表达力覆盖(并作 U3 few-shot 库)
...
plan 2026-06-18-001 U1 验收「3-5 类游戏 behaviors 用约定全跑通、零约定外 helper 漂移」。
新增 game-runtime/src/host/gd-archetypes.test.mjs——4 类原型 gameDefinition 经 createRuntime 真驱动:
- ① paddle-intercept(realtime+连续输入键/指针 + overlap 反弹 + lose latch)
- ② event-clicker(event+离散 justTapped + addScore + rule 胜)
- ③ dodge-spawn(realtime + rt.spawn/query/destroy + rt.random + overlap lose)
- ④ runner(realtime + physics 组件重力积分 + justTapped/justPressed 跳 + spawn 障碍 + 碰撞 lose)
headline 断言 = runtime.errors() 为空(零约定外 helper 漂移/零抛错)+ 各原型出合理状态转移
(移动/计分/终态 latch + 输入响应 + physics 重力 + spawn 真生成)。证 rt 面够表达目标品类谱。
定位:此为「约定表达力」证(手写金样,非真实模型输出)——真实模型 idiom 漂移收集随 U3
(GAMEDEF_SYSTEM prompt + NEWAPI_KEY)落;这 4 份金样并作 U3 prompt few-shot 库源。
验收:node --test src/host/gd-archetypes.test.mjs 4/4;全 runtime 套件 50/50 无回归。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 23:08:51 -07:00
lili
b112f888cf
feat(game-runtime): U2 build-from-source 装配器(gameDefinition → 可玩工厂源文本)
...
plan 2026-06-18-001 U2 · 引擎线 · 解锁「源 → 可玩」装配链。
新增 game-runtime/src/host/build-from-source.mjs:
- validateSourceProject(sp) → {ok,errors,gameDefinition}:轻量校验 + top-level strip
(产线容错必做——剥模型塞的 schema 外键);引用完整性(entity.components→components[].id /
scene.entityRefs→entities[].id)+ behavior 缺逻辑 code 揪错。守 game-runtime「本机零依赖」
不引 ajv(inner 键宽松保留运行时用的 vx/vy/tags,待 schema 迭代再收紧)。
- assembleFactoryFromSource(sp,{runtimeImportPath?}) → generated-factory.js 源文本:
对齐已冻装载契约(game-host.d.ts:default export 工厂 → GameInstance{init,update,render,
destroy,_forensicsView}),五法委托 U1 createRuntime;gameDefinition 内联为 JS 字面量、
behavior.code 作数据串随之内联(运行期 new Function 编译)。校验失败 fail-loud(err.validationErrors
供 buildNode 回灌 repair feedback)。
接现有零改下游:产出文本 → scaffoldNode 落 generated-factory.js → scripts/build.mjs(esbuild,
不动)→ bundle.iife.js → 九门 harness(零改);entry-bundle.template.js 不动。
验收(lili-mac 快走查):
- node --test src/host/build-from-source.test.mjs 5/5——校验+strip / 装配产物含装载契约要件 +
node --check 过 / fail-loud / **端到端功能证**(装配文本经 createRuntime 真跑到 win + fx 真接线);
全 runtime 套件 46/46 无回归。
- 真 esbuild 链探针(探针目录已清,不入仓):金样 gameDefinition → assemble → scaffold(正确深度)→
真 build.mjs → bundle.iife.js(215KB,语法过,__GameBundle 全局在);metafile 实证
gd-runtime.js + boot-game-host.js + littlejsengine 全内联。
范围说明:U2 的后端 Java 接线(SaaGenNodes.buildNode/scaffoldNode 从 K_SOURCE_PROJECT 装配、
SaaStudioNodes.modifyNode deterministic 解除 fail-loud)属后端线、需 mvn/mini-desktop 验证,
随 U3 后端线一并落(plan 允两线并行)。本提交 = U2 引擎线核心(本机可验的装配地基)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 23:04:46 -07:00
lili
000f87d98b
feat(game-runtime): U1 运行时约定基座 createRuntime/rt(2D 适配器 behavior 侧 API)
...
plan 2026-06-18-001 U1 · 引擎线 · 真结构化 gameDefinition 产线化地基。
新增 game-runtime/src/host/gd-runtime.js:
- createRuntime(boot, gameDefinition) → 建可变世界(entities 实例)+ 产 rt 对象;
rt 即 U2 装配器编译每 behavior 时 new Function('rt','self','dt',code) 注入的那个 rt。
- rt 面(落 plan KTD2):实体 getEntity/entities/query/spawn/destroy(.x.y.vx.vy.alive
.components.tags+.get/set/destroy);输入轮询 input.isDown/justPressed/justTapped/pointer
(包 ctx.getInput 受控事件);时间随机 time.now(相对 elapsed,非绝对钟)/dt/random/randRange
/randInt(走 boot.ctx 受控种子,禁 Math.random/Date.now);分数胜负 score/addScore/setScore
/win()/lose()(置 latch 终态 gameover,不可逆=H门);工具特效 clamp/dist/overlap(AABB)+
fx.burst/beep(经 ctx.getEngine 真调引擎粒子/合成核=满F门,无引擎优雅 no-op)。
- behaviors 各带逻辑 JS 经 new Function 编译(init 跑一次/其余每帧),抛错隔离+回灌质量信号;
rules condition 编 JS 布尔(win/lose latch、score/advance 上升沿);物理组件 opt-in 积分;
声明式渲染器逐实体按 render 组件画 rect/circle/fill(behaviors 只逻辑不画)+极简 HUD。
受控面铁律:经 boot.ctx(PluginContext)注入,不触裸引擎/DOM;缺 ctx fail-loud。
迭代状态 v0(plan「别冻早」):契约 runtime-api-2d.d.ts 待收 3-5 类真实模型输出补 idiom 再正式化。
验收(lili-mac 快走查):node --test src/host/gd-runtime.test.mjs 10/10 过——
三条必验(rt.random 同种子可复现/win latch 驻留不可逆/fx.burst 真触发 ctx.getEngine)
+ 集成(behavior 编译跑通/rule latch/spawn-destroy-回收/输入轮询/物理积分/渲染出图)+缺 ctx 守卫。
全 runtime 套件 41/41 无回归。测试文件就近 src/host/(贴 npm test 的 src/**/*.test.mjs 约定,
非 plan 所写 test/unit/——遵仓内既有 co-located 约定)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 22:53:38 -07:00
zizi
5bff11dfaf
docs(plan): plan-001 实现单元细化为 Mac 可直接执行版——读码实证 file 清单 + 命令级验收门 + 并入 build段设计
...
U1-U5 逐单元补:精确 file 路径(接哪个现有类/方法)、关键决策步骤、可跑验收命令。
并入 build段双证的优化设计:
- U1 运行时约定 rt 面(getEntity/spawn/input/time-random 受控/score-win-lose latch/fx 真调引擎)落 game-runtime/src/host/gd-runtime.js,接 boot.ctx 受控面
- U2 build-from-source 装配六步(strip unknown-key+ajv/内联/createRuntime/声明式渲染器/取证派生/behavior沙箱),接 SaaGenNodes.scaffold/build,解锁 deterministic modify 路(现 guard fail-loud);复用 build.mjs+九门 harness 零改
- U3 generateNode 真产 gameDefinition 落 K_SOURCE_PROJECT,SaaPrompts 新 GAMEDEF_SYSTEM 与现 SYSTEM 物理隔离;难门优化(F门/latch/I_control/约定外helper/unknown-key strip)进 prompt+gatespec;cutover 量化门=过门率≥60%(iife 现基线)
- U4 多模型回退链接现 callWithTimeoutAndRetry+looseParse+救场阶梯;deepseek-v4-flash 打底
- U5 ReAct=ReactAgent.asNode,九门 verdict 强制终止,挂 ToolCallLimitHook
接线锚读码核证(SaaStudioGraph.assemble §6.2 / source-project.schema.json / AigcExecutorProperties);
file 两线分组(canonical §8):U1/U2 引擎线·U3-U5 后端线;验收门给精确 mvn -Dsaa.e2e=1 命令(mini-desktop)。
只改实现单元节,KTD/HTD/背景/进展结论不动。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 05:04:00 +00:00
zizi
771619c7da
docs: 新角色分工(Mac开发/6c6g大脑)+ 收编他session loose-end + _index修漂移
...
- 多session分工总账 §2/§5/§7 重定:域切→角色切(Mac全开发按计划执行 /
6c6g设计·计划·评审·文档·优化);Mac工作清单(plan001 SAA产线化Tier0 +
plan002 Tier-1剩4域 + 前端8页)+ 6c6g大脑角色 + 协调约束(git中介·够不到Mac)
- 收编他session未提交:orchestrator *_walk脚本×6 + v1对话生成修改素材/
v2生命周期项目管理 review + prefix-cache preflight(保全)
- _index修漂移:v2=ACTIVE范式基座(改源不改包)、v1=留痕(前提被supersede);
生成域canonical现归本session(6c6g)维护
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 04:56:15 +00:00
zizi
1101d01661
docs(saa): reconcile 生成域 canonical 到双证地基现状 + 并入诚实回退
...
三档 canonical reconcile 到 2026-06-18 真相,并入另一 session 诚实回退:
- agentic编排-SAA.md(canonical SoT):§0 当前状态改"16 节点 studio 已建并合入
dev/2.0.0"(裸图=接法A 七成躯干)+ 分清现产线 iife/GameConfig 路(e2e 60%)
vs gameDefinition studio 已双证产线化中替换它;§2 图加目标态 gameDefinition
studio 说明+产线化指针;§7 加双证地基 done(spike 92-100%/build 段 deepseek 3/4
过九门)+ 16 节点 e2e 首证 done,"他 session 在飞"改"本 session 独家在飞产线化"
+接法B ReAct 演进(九门兜底=自治在门内裁决在门外);143 行≤150 canonical 限。
- 固定架构-review:顶部加双证地基状态横幅;§4 加 16 节点已建现状注(指 §10.1
权威)+接法A/B 演进+产线化 plan 指针;§1.5 agent 列表"深析中"改"深析→§10.1
+全图已建"。并入回退(header 重指 v2 独立档/§4 表初版叙事)。
- 固定架构-execution:顶部加双证地基状态横幅(双证/16 节点/现 vs 目标产线/接法
A-B/红线解除)。并入回退(§0-5+§12 header 退回"待解",源项目存储归属 studio
vs project 保持真 open=未拍;缓存+classify spike 已绿解除)。
铁律未破(九门定 done/禁 LLM 自评/接法B 亦九门兜底)。仅编辑 3 档,不碰代码。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 04:33:42 +00:00
zizi
8db1414281
docs: 真结构化地基双证 + Tier-1 三域收口回填(plan 001/002 + 总账)
...
- plan 001 重写为「SAA 真结构化生成主线—地基产线化+ReAct演进」:spike+build段双证
地基成立(便宜模型 gameDefinition→build-from-source→真过九门 deepseek满分3/4款),
创始人拍真结构化+SAA独家本session开发;产线化5单元(运行时约定2D适配器/
build-from-source产线化/generate真产/模型可靠性/ReAct演进接法B);接法A七成已建是躯干
- plan 002 进展:Tier-1 feed/econ/account 合入 0db1d0da(codex揪3 P0全修,82测试绿),
剩 social/admin/material/template
- 总账 M2:真结构化地基双证里程碑回填
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 04:20:53 +00:00
zizi
0db1d0da6d
fix(trade): AccountServiceImplTest grant 测试补 insert 回填 id(test-only)
...
原 impl agent 未跑测试漏:mock insert 只 thenReturn(1) 未回填自增主键,
grant() 返回 grant.getId()=null → assertNotNull 失败。改 thenAnswer 模拟 MyBatis 回填。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 04:02:46 +00:00
zizi
ec23ff61bc
feat(compliance): U4 R-ACC 政策正文页+申诉回路
...
codex 评审 MERGE-WITH-FIXES→修 P0(申诉重复提交守卫:STORED生成列pending_flag+uk_user_ban_pending局部唯一+@Transactional+DuplicateKey友好返回)+P1(@Transactional/@Size/@Min)。V22。plan 2026-06-18-002 U4。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 03:56:58 +00:00
zizi
ca53a0db0c
feat(trade): U2 R-ECON admin赋余额+会员订阅(独立流水表+幂等)
...
codex 评审 NO-MERGE→修 P0(订阅幂等漏洞:独立幂等账本表 game_trade_subscription_grant+uk_biz_no,延期前先写、同事务)+P1(VO @Size/totalIncome注释对齐/权限种子SQL)。V21。plan 2026-06-18-002 U2。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 03:56:58 +00:00
zizi
9f2b9f9feb
feat(feed): U1 R-FEED feed 游标分页真化((sort_score,id)复合游标+二次过滤续取)
...
codex 评审 MERGE-WITH-FIXES→修 P0(MAX_FETCH_ROUNDS 高过滤率提前到底丢数据:dbExhausted 区分库尾vs轮次中断,hasMore=overflow||!dbExhausted)。plan 2026-06-18-002 U1。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 03:56:57 +00:00
zizi
750fdce993
docs(plan): gameDefinition 迁移重构为 spike 先行 + Tier-1 广度拆独立计划
...
双对抗评审(codex+opus)揪出初版根本前提问题(gameDefinition 包JS非替代/
赌注未验证/空验收门/基座与广度命运耦合),创始人裁定「前置 spike 先行」。重构:
- 2026-06-18-001 重写:gameDefinition 迁移=前置 spike(路A 模型产结构化 vs
路B 模型产JS+后端抽取,端到端过门率 vs 现60%基线)+ 工程条件于 spike 通过 +
引擎线 E1/E2;修正前提框架(源组织JS非替代);engineBundle 全保留冻结
- 2026-06-18-002 新建:Tier-1 七域广度拆出(独立 JIT,不受迁移卡)+ 补强验收级测试矩阵
- 评审7项风险(命门spike/引擎承重/dual-path双cutover/空门/worker split-brain/
存储归属/历史游戏)全纳
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 02:17:09 +00:00
zizi
d51a6b5943
docs(plan): 后端 Tier0 生成主线收口——U1-U7 机制全收口 + status=completed
...
创始人拍板「A 收口后端·defer 切换」。计划加收口结论:
- U1-U6 后端代码全合入(每单 codex 评审揪真 P0 后修绿)+ 契约冻结 8/8
- U7 SAA 真全图 e2e 首证(bf99662c):机制零 prod bug,成功率 60%<80% → 默认产线按门未切,现 worker 主链零回归
- defer 切换触发+配方:dispatcher flag 已存在,门交 W-G1 生成质量域(到 80% 一行 flip)
- status active→completed
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 01:04:19 +00:00
zizi
1bca84c91e
docs(saa): SAA 真全图 e2e 首证回填——总账 M2 + saa 技能(成功率 60%/U7 cutover 未切)
...
- 总账 M2 行:SAA 真全图 e2e 首证(SaaFullGraphE2eTest bf99662c)零 prod bug,
成功率 3/5=60%<80% → U7 worker 转 SAA 默认产线按门未切,现 worker 主链零回归
- saa-graph-orchestration 技能新增「真全图 e2e 测成功率」节:零 DB 测法(stub callback+
内存 checkpoint)/异步派发测试坑(共享 latch+traceId 归位,单款 3.5-16min)/首证 60% 基线
(难门 I_control/F_wiring/H_progress=生成质量天花板,SAA 机制≠生成质量)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 00:42:33 +00:00
zizi
bf99662c3f
test(aigc): SaaFullGraphE2eTest — SAA 真全图 e2e 首证门控测试(U7)
...
U7 集成顶石的门控集成测试(-Dsaa.e2e=1 + NEWAPI_KEY)。构造真 5 参
SaaGraphDispatcher(stub callback 捕获 reqVO+latch,DataSource=null 内存
checkpoint,零 DB),顺序跑 N 条一句话 create job,真 LLM(new-api 五角色)+
真九门 harness(node/esbuild/Chrome,4320/9222 串行)+真 16 节点全图
(render→classify→design→generate→validate→scaffold→asset→build→play→player→nreview→emit/giveup)+真出口回调,测成功率。
首证(2026-06-18,mini-desktop):SAA 真全图 e2e 机制完整跑通、零 prod bug;
成功率 3/5=60%(贪吃蛇/接金币/躲障碍 succeeded,engineBundle≈211KB 含 __GameBundle;
打砖块败 I_control、点击消除败 F_wiring+H_progress,救场阶梯耗尽 giveup 真落盘)。
单款墙钟 3.5-16min(九门真玩循环+最多8救场轮固有,同 Python W-G1)。
→ 成功率 60% < 80% 转正门:cutover 未切(现 worker 主链保持默认,零回归)。
gap=难门生成质量(prompt 接地/gatespec/救场调优),W-G1 生成域调优单元。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 00:40:14 +00:00
zizi
679afa1c65
feat(aigc): U5 giveup 真落盘 + U6 modify regenerate 取base源真消费(B4/B7)
...
6c6g 后端 Tier0 计划 U5+U6(docs/plans/2026-06-17-001-...)。
- U5 giveupNode 真落盘:gameRuntimeRoot 句柄 + attempts/verdict/escalationEvents 整包写盘 giveup-dump.json + K_GIVEUP_DUMP_PATH 回填真路径;
best-effort 落盘失败仍正确 failed 终态;多级升档 stage3+ follow-up
- U6 modify 不被卡部分:
· base 源 dispatcher 据 baseVersionId(V19 持久化)反查 SourceProjectApi.fetchByVersionId→K_SOURCE_PROJECT(零新增列/不搬大 blob)
· regenerate-module 缺 target fail-loud(防静默全量重生成)+ 真消费 base 源(buildRegenerateMessages 注 base 源 JSON+目标 behavior 聚焦,system 不变;create/repair 普通路零变)
· deterministic guard-pending-E2 一字未动;严格 per-behavior splice-back 依赖结构化源=follow-up(诚实标注)
- -api:SourceProjectApi.fetchByVersionId + DTO
- 测试:aigc 46+studio 44=90 绿(+17 新);codex 评审 NO-MERGE→2 P0(缺target/伪收窄)全修后绿
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 23:02:10 +00:00
zizi
069ae73e97
feat(aigc/worker): U3 trace 扩展键 + U4 缓存命中落账(B5/B9)
...
6c6g 后端 Tier0 计划 U3+U4(docs/plans/2026-06-17-001-...)。execution §5.8 trace+cost 落值。
- U3 extractTraceQuietly(Java)+ _extract_trace(worker)additive 抽 modelTier/escalationEvents/giveupDumpPath;
仅真升档态(stage2/escalationEvents 非空)落 modelTier + 形态校验(非空 str/非空 list)→ 字节兼容(无扩展键键集与扩前一致)、Java/Python 两路同口径
- U4 cost.py 缓存命中折¥:两套字段取 max(DeepSeek prompt_cache_hit_tokens / MiniMax prompt_tokens_details.cached_tokens)
+ cache_ratio 折真实 quota;worker usage 捕获(_safe_int 兜脏不抛);pricing 不可达 tokens-only+costFallback 标记;不阻断仅观测
- 诚实边界:SAA Java 路无 cache 字段源→省略不伪造(follow-up);AgentScope 丢 DeepSeek 顶层字段(待真跑对账);worker 生产路完整落账
验证:mini-desktop Java 12+(SaaGraphDispatcherTraceTest)+ Python 73(test_cost 56/wg1_groupb 17)全绿;
codex 评审 NO-MERGE→2 P0(字节兼容/usage 阻断)+2 P1(pricing 口径/两路一致)全修后绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 22:26:27 +00:00
zizi
d57032a6d3
feat(studio): U2 源项目落库事务(B8)+ V19/V20 数据完整性
...
6c6g 后端 Tier0 计划 U2(docs/plans/2026-06-17-001-...)。execution §5.2 源项目工件落库 + status 机器态串联。
- GameSourceProjectDO/Mapper/SourceProjectService(studio,§12-①)+ SourceProjectApi seam(land/markBuilt/markOrphanById)
- 落库挂回调外层 DifyCallbackServiceImpl(非内层 tx)——守 §5.2「源落库与建包非同一大事务」
(land 建包前独立 commit/markBuilt 成功后/markOrphan 失败补偿)
- status 0 草稿→1 已构建(回填 version_id)/2 孤儿(不建包不动 currentVersion);
DifyCallbackReqVO additive sourceProject;dispatcher 从图终态抽 K_SOURCE_PROJECT
- 数据完整性(codex 评审 2 P0+2 P1 全收口):
· P0 终态任务重复回调跳过 land(防版本血缘污染)· P0 去重按 game_id+source_hash + markBuilt 校 gameId(防跨游戏复用)
· P1 markBuilt 与 notify 解耦(notify 失败不停 status=0)· P1 markOrphanById 精确标 + V20 唯一键 uk_game_source_hash(并发兜底)
· post-commit best-effort 包兜底 try(防挂点失败反触写链补偿误置 failed)
- 诚实边界:现图只产最小骨架源(gameDefinition 待生成 agent 真填,跨单元),终态有什么落什么不伪造
验证:mini-desktop 编译绿 + 33 单测全绿(DifyCallback 19/SourceProject 14,含跨游戏/gameId校验/终态重复/notify解耦/markOrphanById);
V19+V20 SQL 结构绿(Flyway-apply 留部署验);codex NO-MERGE→2 P0+2 P1 全修后绿。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 21:46:38 +00:00
zizi
d64dcc9080
feat(studio): U1 studio 生命周期编排 create/modify/extend(B6) + V19 modify 持久化
...
6c6g 后端 Tier0 计划 U1(docs/plans/2026-06-17-001-...)。生成主线 modify/extend 生产可达。
- /studio/{create,modify,extend} + 5 VO(对齐 studio.yaml)+ StudioServiceImpl 三方法
(create=draft+generate 复用;modify/extend 经扩展 aigc seam 委托;mode×target 锁定映射校验;白名单+归属门)
- aigc seam:AigcGenerateReqDTO/VO/AigcTaskDO additive 扩 modify 四件套;AigcGenerateExecutor.putModifyFieldsIntoJob
接进 §6.1 job(键名对齐 buildInputs);project seam getVersionOwnerUserId/getVersionGameId(归属边界)
- V19.0.0__aigc_task_add_modify.sql:game_aigc_task 加 modify_mode/base_version_id/modify_patch +
AigcTaskDO @TableField 持久化映射 → modify 四件套跨异步 tick 真抵达 buildInputs(化解执行器从 DB 重建无内存续传)
- 错误码 1-112-003-*;additive(存量 modify_mode='' 即现行 create 分流,零破坏)
验证:mini-desktop 编译绿 + 54 单测全绿(Studio 27/Executor 22/Project 5);V19 SQL 结构绿(Flyway-apply 留部署验);
codex 评审 MERGE-WITH-FIXES(0 P0;P2 注释已修)。follow-up(codex P1,计划已 deferred):
idempotency 去重(契约缺省=不去重,present-dedup 待幂等基建)、taskChain.baseVersionId 轮询回显(即时已回显,轮询待小补)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 20:39:05 +00:00