103 Commits

Author SHA1 Message Date
lili
8d851ea716 feat(cheap-gen): W-AXIS-V2 波2——取证契约退役+提示全加载链清洗,四门∧测试员为唯一验收链
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
opus 执行位交付、主会话四步验收过(三套测试亲跑/红线 diff 亲读/冒烟截图亲眼):

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

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

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

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 09:21:04 -07:00
lili
5bcaf6ac1e feat(cheap-gen): W-AXIS-V2 波1——测试 agent 生产化+三路统一验收编排器+字段迁移
Some checks failed
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
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
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
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 加重
Some checks failed
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
ed3d8a9a5d feat(polaris): 《山海巡异录》表现层二轮——奖励屏爆字闸+首页国风化+手牌卡面补描述+职业名统一
Some checks failed
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
596ea13666 feat(cheap-gen): 死圈修复 fix①-A 增量 edit 工具 + fix②-prompt 克隆纪律/check-early
Some checks failed
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
d91d857c17 feat(polaris): 《夜市一条街》厨房音效 CC0 真采样——6 事件换公有领域采样(创始人拍夜市采样)
Some checks failed
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
c931ea4181 feat(polaris): 《山海巡异录》表现层精致化——UI 去方框(青绿卷轴)+国风器物音效
Some checks failed
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
532161a7ce feat(art): 《夜市一条街》M4 资产整装——暖夜霓虹 92 图元换装+BGM3/SFX24
Some checks failed
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 服务恢复后生成,音频转全量
Some checks failed
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
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
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
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 六带全绿
Some checks failed
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
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
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
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
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 回合解算核+竖屏战斗场景
Some checks failed
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
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
c372837762 feat(deps): 升级 AgentScope 2.0.2→2.0.3(代码+文档,创始人 2026-07-06 拍板)
Some checks failed
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
c6d6d39a2a feat(cfg): W-CFG-KB K3 知识包治理接线——knowledge 配置块+激活发布 Nacos+worker 订阅热物化(复用阶段二三·默认关)
Some checks failed
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」区(生成路从不读、真值硬编码)
Some checks failed
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·默认关)
Some checks failed
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)
Some checks failed
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
8200aa08d0 feat(tier2): W-ASSET-SRC 源工程存储 manifest-first 落库 + 治理对账门 + 取回重建 harness + 孤儿清扫 job (SRC T1-T4)
Some checks failed
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
d9def7d901 feat(cfg): 步骤4 收尾两针——两 Service 入口接热源工厂(旗默认关=字节不变)+ genconfig __main__ 自检块期望值随单源现值修正(50.0/60,阈值批 bfeaea2d 漏改自检块)
Some checks failed
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
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
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
7c3792669e fix(tier2): 拆双源默认值影蔽——run_engine/batch_run 的 max_iters 旧 default=40 显式透传短路 genconfig,改 None 哨兵回归单源
Some checks failed
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
9a64b3a39c merge(工单c): 软停后 finish 逼近递进升压(N=3 提醒/2N 强制,finish 尝试复位;on_acting 注入贴脸催收,治 80011 软停仍烧到硬地板)· fable 终审过(middleware 亲审:阈值/finish 语义/stuck 签名零动,counter=0 逐字节等价)
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 00:53:03 -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
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
bfeaea2d42 feat(tier2): 创始人令提生成预算阈值——writer 40→60 轮 / step_cap 60→100 / model_calls 80→120 / 墙钟 1800→2700s
Some checks failed
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 定点修)
Some checks failed
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
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
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
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)
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 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
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
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
zizi
96de98b345 feat(prompts): 打磨不降档包——创始人定调「质量bar单一:档位切scope不切polish」落地(cheap v1.6.0:删spike能跑即可残留+hitstop出禁项改结算标配+设计块强制落盘+finish前收尾自查+新增⑩难度曲线;tier2 player v1.1.0:fun=5须记忆点/fun≥4才pass,scoreOnly焊死零行为影响;⑨经营决策模式清单落sim-business §1;双审收口:fable+真codex同判top10=筛选+精修尾部/金标最大杠杆,ⓓ落定、新待拍ⓔ手感轨;test_roles 12/12+双parity逐字节+registry 17条+docs-gate全绿)
Some checks failed
docs-gate / docs-gate (push) Has been cancelled
2026-07-04 03:19:37 +08:00
zizi
0e66fc953e feat(prompts): 策划知识包v2——cheap主prompt v1.5.0(⑨否决项判定句式+计数口径统一,test_roles 12/12逐字节绿)+剧情/经营rubric fixture补全接线(skill表改指针消双写)+tier2四专家v1.1.0加策划判据(内置↔md parity×4,registry 17条对齐)+prompt.mjs冻结为A/B史料;真LLM金标复验挂窗;3待拍(⑨升底座第12条/prompt.mjs退役/品类适配) 2026-07-04 02:25:55 +08:00
lili
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