240 Commits

Author SHA1 Message Date
zizi
99b6c82dec feat(runner-v2): P1 王蓝莓上引擎=游戏宿主装载契约 spike 实(mini-desktop real 引擎 5 门全过)
Runner v2 全弧第一相(HJ-RUNNER-ARC-001 / P1):用王蓝莓把"上层游戏宿主装载契约"
从零 spike 到"引擎真掌帧 + 游戏美术与引擎粒子同屏可玩",解锁 P2 泛化 / P3 生成。

契约与共享件
- 新增装载契约 game-runtime/src/core/game-host.d.ts(第9类 additive·暂名):
  GameHostBootContext / GameInstance / GameHostFactory;游戏=纯模块工厂,零引擎 import,
  能力经下层 ctx.getEngine()(受控面 6 项零改),绘制面 render(g) 的 g=引擎 mainContext
- makeEngineCaps 闭包提升为可 import 模块 host-dev/engine-caps.js(createEngineCaps):
  host-dev/ref/未来生成游戏共用;engineMode 短路 / __engineCalls 探针 / null-engine 语义逐行不变

王蓝莓 real 通道(games/wanglanmei-ref)
- 增 ?engine=real:主循环从浏览器 RAF 改挂 engineInit 五回调(掌帧唯一源=引擎);
  游戏美术绘制面从 #game 改引擎 mainContext(同屏合并);bundle 延后到 setupReal 内以
  mainContext 建(getContext2d 闭包快照修);保 ?engine=stub 逐像素确定性回滚
- game-shop.js 抽为独立 GameHostFactory(零引擎 import,P3 生成 agent 可复制范本)
- entry.js 动态 import('littlejsengine')=node-import-safe ∧ esbuild iife 入包两全
- 驱动 e2e-input.cdp.cjs real 改造:禁 stepFrames 手摇(防双掌帧),真触摸+轮询;
  门②同屏像素判据(暖色 warmHits ∧ 引擎粒子 brightHits 同张 #game-engine)

真机验收(mini-desktop real 引擎,5 门)
引擎掌帧 dFrame=31∈[20,45] / 同屏 warmHits=682∧brightHits=13028 同张 #game-engine /
particles.spawnEmitter+synthSfx call-ID 运行时真调引擎 / CDP 517 真触摸跑通整局
(第1天接待18·营收¥79.9·连击9) / console 零错;本机 88 单测全绿(含修复 4 红+补回归)
证据:games/wanglanmei-ref/evidence/p1-real/(e2e-evidence.json pass=true + 5 截图肉眼复核)

诚实 caveat:门② brightHits 在结算屏混入亮 UI,同屏合并由 warmHits(美术落引擎画布)+
call-ID(粒子真调引擎)+ 引擎架构(粒子渲同一 mainContext)三证成立,非阻断。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 18:32:50 +00:00
zizi
db9b7b623e docs(t1b-beta): Phase A 引擎真接线收口入账+harness §6 蒸馏
总账加 T1b-β Phase A 行(A0 掌帧+A1-A4 包装+A6 真引擎门 6/6,对账 11c8eaf→3e5cab4)+表头日期;
game-e2e-cdp-harness.md §6 增补门②(runtime call-ID)四坑:rec→__engineCalls 探针形制/引擎渲出色=spec 非旧 sim 青蓝口径(像素门换 maxCh)/音频合成需 unlockAudio/scratch 部署禁裸 ./rsync 吞 monorepo。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 13:46:24 +00:00
zizi
3e5cab455c test(t1b-beta): A6 引擎真接线门 6/6 全过——A1-A4 接线 mini-desktop real 引擎收口
A6=A1-A4 引擎接线的真引擎运行时验证门(本机禁 chrome,mini-desktop headless chrome 实测)。

真接线门②(本波新增):host-dev makeEngineCaps 给每个引擎能力叶方法埋 rec()→window.__engineCalls
(仅取证,绝不入渠道产物);__hostdev.engineProbe() 经各插件真实公开 API(particles-juice.spawnEmitter /
audio-music.playSfx / gamefeel.easing.quadIn)触发 → 断言 __engineCalls 含 call-ID = 证「运行时真接线」
(动态证据,区别于门①的 esbuild metafile 静态 import)。

实测 6/6 硬门全过(evidence/a6/a6.json):
- A6-1 掌帧回归:dFrame=31∈[20,45](A1-A4 后引擎仍真掌帧);
- A6-2 粒子真接线:__engineCalls 含 particles.spawnEmitter;
- A6-3 缓动真接线:含 math.easing.quadIn(gamefeel 运行时真走引擎 Ease 门面,非内置 fallback——easing 改判运行时铁证);
- A6-4 音频真接线:含 audio.synth.synthSfx(playSfx→引擎 zzfxG);
- A6-5 引擎粒子真渲:burst 后 maxCh=240/brightHits=3/whiteTextHits=0(引擎 ParticleEmitter 渲白粒子落 2D mainContext);
- A6-6 受控面 smoke:initOk+verify.ok+0 uncaught+6 锚点。

调试坑(蒸馏入 RESULT.md / harness):①引擎粒子渲出色=spec.colorStart(burst 给白),非旧 sim 青蓝→像素门判据改
「任意亮像素 maxCh/brightHits」+ maxCh 反证 GL 关无碍粒子落 2D;②音频合成需 AudioContext 非空→探针先 unlockAudio;
③real 通道不验逐像素(引擎追帧 N 不定),逐像素由 stub 通道兜(沿 A0)。

harness:test/harness/a6-engine-wiring.cjs(driver,双通道 evidence+smoke) + a6-runbook.sh(mini-desktop 编排,
复用 run-integration.sh 的 systemd-run serve+chrome 形制 + 就绪两段探活)。host.js 仅加 host-dev 取证探针,运行时零行为改。

至此 T1b-β Phase A(A0 掌帧 + A1-A4 接线 + A5 出厂门 + A6 真引擎门)全线收口。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 13:42:01 +00:00
zizi
e591e9b705 feat(t1b-beta): A1-A4 引擎能力接线落地——受控面工厂/粒子/音频/手感经 getEngine 薄包装(easing 改判)
承 A0 引擎掌帧地基,按创始人「引擎↔插件边界模型」(引擎有→薄包装·引擎无→自研补层·
同一职不留两条并行路)接线 A1-A4。host.js 注入真 engineFactory,getEngine() 在 host-dev 真活。

A1 受控面+引擎工厂地基+easing 门面:
- host.js makeEngineCaps 一处构造 EngineCapabilities{particles,audio.synth,math};
- 新 host-dev/engine-math.js 包装引擎 lerp/smoothStep + Ease 曲线(11 条等价曲线门面);
- api.d.ts additive 扩 EngineEasing + EngineMath.easing?(不破已冻 lerp/smoothStep)+ 块级降级措辞校准为 null no-op;
- 受控面 random/time 保确定性(引擎粒子用全局 rand 不可种子对齐→random 留插件自管,真缺件)。

A2 particles 薄包装+删 sim:
- EngineEmitterSpec additive 扩 10 可选字段(count/coneAngle/speed/gravityScale/sizeStart-End/colorStart-End/additive);
- spawnEmitter 改走 getEngine().particles 映射引擎 ParticleEmitter,删自研逐粒子积分 sim;null-engine→no-op 句柄;
- juice 全段(hitStop/屏震/闪白)补层保留;测试转向映射纯单测+真渲出现(逐像素确定性随 sim 退役,§1.4 记账)。

A3 audio 包装+删 vendored+补 ×0.3:
- 删 vendor/zzfx.js+zzfxm.js;audio.synth 包装引擎 zzfxG/zzfxM;
- 播放层补 ×0.3 主音量(引擎样本不烤 0.3,gain 层施)+ SAMPLE_RATE=44100 本地常量;
- impl.js 走 getEngine().audio.synth,null-engine→合成 no-op(不回退 vendored)。

A4 gamefeel easing 改判=门面包装(对抗门源码证伪纠偏):
- easing 改走 getEngine().math.easing 门面(quadIn→Ease.POWER(2) 等),内置降名 builtinEasing 作 null-engine fallback(纯数学族特例);
- backInOut/elasticInOut 引擎 IN_OUT 拼接差 6.6%/17%(另一条曲线)→门面刻意不暴,这二者恒走内置=真缺件补层;
- collision/physics-lite/palette-post 加边界裁定注释(真缺件补层,源码精校:引擎仅 isOverlapping/isIntersecting 返 boolean,无 Manifold/任意几何/RayHit)。

对抗门两逮(均前置于实现·零返工):
- A4 easing 误判 fatal:前轮按小写 quadIn grep 假阴性误判「引擎无 easing」;引擎实有 Ease(esm.js:15118)→创始人拍本波包装;
- collision 注释 under-claim:已精校为源码准措辞。新红线 §1.5:引擎能力普查禁按预期名 grep,须读 export 块/.d.ts。

本机门全绿(亲验):
- node --test 168/168 绿;all-plugins+host-bundle 双 esbuild rc=0(35594B/209516B);
- 真接线门①引擎真入产物 littlejsengine 163641B;门③负扫=0 插件直 import+vendor 已删+0 自研 sim+0 假注释;Q4 引擎 import 仅 entry.js+host.js。

A6(mini-desktop real 像素门 + 真接线门② runtime probe call-ID)待主会话驱动。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 11:48:28 +00:00
zizi
471e542473 docs(skills): game-e2e-cdp-harness §5 引擎掌帧门增补——A0 门0 实证六坑蒸馏(serve根对齐/禁npm init/require cwd锚/掌帧断言用帧增量区间/dev构建污染源 watermark+clearColor/追帧N破异步逐像素→stub兜)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 06:50:42 +00:00
zizi
7efe8a4d82 test(t1b-beta): A0 门0 8/8 全过(mini-desktop 实测)=引擎掌帧接管完成线达成
mini-desktop(minione-ubuntu-desktop)scratch 检出 11c8eaf,host-dev/entry.js 经
esbuild 锁参打 host-bundle.js(littlejsengine@1.18.19 真入包),systemd-run
static-serve(:4321,根=host-dev/)+chrome --headless=new(:9222,autoplay 放行),
driver=test/harness/gate0-engine-takeover.cjs+stub 通道独立核对。

门0 G0-1~G0-8 共 8 门全过(gate0_rc=0/g08_rc=0):
- G0-1 引擎真起(非桩):bootedReal/gameInit/hasEngine 皆 true
- G0-2 引擎内部 RAF 真掌帧:frame 42→72/500ms=Δ30∈[20,45](排单步假推进/失控空转)
- G0-3 time≈frame/60 一致性自检 Δ0.0167s(仅自检非掌帧证据)
- G0-4 timeReal 纯墙钟 Δ0.5001s≈500ms(P75 钟可用)
- G0-5 双时钟物理隔离(引擎 LJS.time vs probe mockNowMs 不同源)
- G0-6 受控面零改回归:initOk/verifyOk/uncaught=[](AudioContext 告警非 error)
- G0-7 渲染落 2D mainContext(#game-engine):780×1688·coloredHits=7(粒子真渲)·whiteTextHits=0(水印已除)
- G0-8 回滚桩活(stub):initOk/verifyOk/uncaught=[]/noEngine=true

对抗复审纠偏经实测兑现:setDebugWatermark(false)→whiteTextHits=0;
setCanvasClearColor(BLACK)→不透明黑底;real 像素门 overshoot→stub 通道独占逐像素。

A0=地基立住:LittleJS 引擎真成为 host-dev 运行时,受控面契约零改(引擎可换边界守住),
回滚桩活。A1-A6 在此地基接线。证据=game-runtime/evidence/gate0/。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 06:49:03 +00:00
zizi
11c8eafb42 feat(t1b-beta): A0 引擎掌帧接管落地——host-dev RAF桩→littlejsengine engineInit 五回调;本机门全绿,门0浏览器段待mini-desktop
host.js+entry.js:engineMode 分流。real=引擎掌帧(engineInit 五回调 engGameInit/
Update/UpdatePost/Render/RenderPost 接帧驱动+渲染)+getContext2d backing 切引擎
mainContext(setGLEnable(false) 纯2D渲进 mainContext);stub=α RAF桩原样保留(可回滚点)。

本机已验(主会话亲跑):
- 155单测绿(基线持平,受控面/插件零改故计数不变)
- 受控面零改实证:src/core/api.d.ts+plugin.js 未触(七项 backing 全在 host 层切换)
- Q4边界:引擎 import 仅 host.js+entry.js(metafile importers 反查证),未泄进受控面/插件
- 真接线门①:esbuild metafile 实证 littlejsengine 真入产物(163691 bytesInOutput),
  box2d 惰性(0 wasm input),产物 205KB min

8-agent workflow(源码取证→设计→对抗复审→实现):3/3 concerns 0 fatal。
17 mustFix(P0×1/P1×9/P2×7)全采纳:P0=real像素门 overshoot(引擎追帧 N tick/RAF 墙钟抖动
污染采样帧)→改 stub 通道独占逐像素回归,real 只证掌帧;P1 源码级纠偏=debug水印每帧画
averageFPS入mainContext(setDebugWatermark(false))/clearColor默认alpha=0不铺底
(setCanvasClearColor(BLACK))/P75须读timeReal非mockNowMs(real模式退化逻辑帧钟)。

门0 G0-1~G0-7(引擎真掌帧/真渲2D mainContext/双时钟/无uncaught/水印已除)须 mini-desktop
chrome 实测(6c6g 禁 chrome)——未实测不宣布 A0 完成。

新:docs/agent-specs/2026-06-13-A0-引擎掌帧接管-edit-plan.md(编辑计划+门0 runbook)
   +game-runtime/test/harness/gate0-engine-takeover.cjs(门0 CDP 驱动,独立闭合不复用未改造的 integration-run)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 06:33:27 +00:00
zizi
75243fe8db fix(core): host-dev context 补 getEngine()=null 桩——P2 契约自洽(契约加 getEngine 须参考实现跟上)
createHostDevContext 镜像 getAudioContext 范式补 engineFactory 选项+getEngineShared(无工厂返null+告警一次+lazy单例+工厂抛错降级)+ctx.getEngine();155测全绿(契约加方法+桩跟上不破现有测试,#6风险实证清除)。集成段注入真实engineFactory背书littlejsengine=引擎import唯一落点
自核(对抗复审agent解析失败死,关键检查主会话亲验):zzfxG返样本数组(synthSfx正确避开会播放的zzfx,播放归缺件补层)+schema packageUrl/immutable declared非required(存量manifest仍合法)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 05:20:49 +00:00
zizi
28a57b8e00 feat(contracts): T1b-β P2 三契约冻结(grounded 据真签名+插件真调用面)——待对抗复审
①受控面引擎能力透传通道 PluginContext.getEngine()→EngineCapabilities(api.d.ts):白名单3项particles.spawnEmitter/audio.synth/math.lerp+smoothStep(YAGNI核6件impl真调用点);铁律=封装禁裸Vector2/引擎import只活集成段host背书engineFactory不散进插件impl(保引擎可换+满足门1真接线);random/time集成段换引擎RandomGenerator/timeReal背书(契约形状不变)
②GamePackage manifest加packageUrl+immutable(additive,复用后端packageUrl镜像走DB-manifest降级,checksum复用旧字段供门4防demo假阳性)
③SDK StoragePlugin根契约上提(sdk-interface.d.ts):前端contract.ts定稿对象形态上提+含R4-P1 array排除契约语义声明

grounded工位核impl逮关键澄清:hitStop/屏震非通道项(impl.js:582-615=受控面输出+游戏层render.js:915应用闭环,插件不调引擎;屏震引擎化=render.js切相机属agent生成域)→通道收敛6件→3项,§7/§6 A2同步澄清;audio.synth留契约A2据SIZES定用否
JSON校验过+.d.ts括号平衡

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 05:12:35 +00:00
zizi
b300cd0daa docs(t1b-beta): Phase0验签结果落档——§7逐函数三分填定(§1.5延迟裁定获验证:4条初判包装翻缺件补层)+修两处实证spec错
§7验签终值:包装/透传6件,缺件补层7件(collision MTV/RayHit/SpatialHash全套·physics抛体+弹簧·palette postProcess·gamefeel高级缓动·audio播放层),混合1——collision整件/palette postProcess/physics核心确为引擎缺件(自研合规,归因从『审计已确认』改『逐函数验签确认』)
修spec实证错(据littlejs.d.ts):①引擎无engineUpdate外部导出→A0改engineInit五回调接管②引擎无独立Music类→audio用ZzFXMusic/Sound.playMusic③probe墙钟可用引擎timeReal:103
Phase A解锁,P2三契约冻结待据签名定

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 04:00:57 +00:00
zizi
204eaede3b feat(game-runtime): T1b-β Phase 0 地基——装 littlejsengine@1.18.19 + 抽引擎真实签名
Phase 0(执行版 §2 P0/P1)地基,只装+抽,不碰任何插件 impl/受控面/host(Phase A+):

- 新建 game-runtime/package.json:ESM workspace,littlejsengine@1.18.19 入 deps
  (与 T1 spike/channel-spike 同钉版)、esbuild@0.28.1 入 devDeps(集成段打包用);
  npm i 跑通,esbuild 实测可 resolve+bundle littlejsengine(核心符号入产物);
  node_modules 经根 .gitignore 排除,仅 package.json+lock 入库。
- 新建 game-runtime/docs/ENGINE-CAPABILITIES.md:从引擎真实源码
  node_modules/littlejsengine/dist/littlejs.d.ts(v1.18.19,5710 行)逐能力抽
  导出名/完整签名/返回类型/坐标系语义/file:line 证据(R3 铁律:断言引擎能力必查源,
  不靠记忆/文档转述)。覆盖执行版 §7+P1 点名全部能力,13 处载重引用经逐行核对无漂移。
- 消两存疑项(均确证,带 file:line):
  · postProcess 可注入自定义 GLSL shader(PostProcessPlugin(shaderCode:string),
    shadertoy 风格;但 palette-post 现算法=CPU 像素缓冲/索引色/Bayer,迁 GLSL=整体重写);
  · medal 系统存在(Medal class + 本地存储,:3457)。
- 核到两处与执行版命名预期偏差(非脑补):无独立 Music 类(实为 ZzFXMusic extends Sound/
  Sound.playMusic);无 engineUpdate 导出(主循环=引擎内部 RAF,经 engineInit 五回调接管,A0 据此)。

§7 逐函数三分裁定表作为返回件给主会话审,不改 execution.md 正文(裁定不在 spec 冻结,
Phase 0 抽签名后填定)。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 03:57:07 +00:00
zizi
02def09414 docs(t1b-beta): β执行版冻结开工——R4二轮对抗复审『可冻结』(R3五P0全落净/13门防作弊到位)+1P1+3P2就地补净
R4补净:storage第三套Array排除收口(inject多排除array,根契约注释须同步+门8覆盖运行时语义)/行号校准(host.js桩指实现块/RuntimeConvert→resolveManifestUrl:79-92)/outcome跨层命名(telemetry game_play_end≠SDK lifecycle game_end)/probe双时钟隔离(引擎time作门0断言+墙钟作门9 P75)
待确认A默认采纳=Runner URL降级DB-manifest带版本+immutable头(R4源码确证可达,不接OSS省基建线,additive可逆,创始人可后切OSS);§7逐函数三分待Phase0验签后填
作战清单刷态:Phase0(装littlejsengine入game-runtime现0字节+抽真实签名ENGINE-CAPABILITIES.md+冻三契约)为首步

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 03:47:44 +00:00
zizi
e214fc00c1 docs(t1b-beta): β执行版R3对抗复审整改(5P0/5P1/3P2全采纳)——核心:初稿§7预烤『引擎有X→包装』裁定却未核引擎真签名(同NIH病)
P0整改:①新增§1.5『能力同一性』原则(引擎『有』须签名/返回语义/坐标系兼容,否则缺件)+三分判定测试;②§7改方法论+待P0验签假设表(裁定不冻结,Phase0抽签名后填)——collision isOverlapping→boolean满足不了aabbVsAabb→MTV=降缺件补层/audio Sound世界音频不兼容PCM播放层=合成包装+播放补层;③random/time拆条,引擎主循环接管(A0)列地基显式步,probe墙钟与引擎time解耦;④Runner URL复用后端packageUrl(撤『backend零改写』),OSS非空分支or DB-manifest带版本降级二选一待拍;⑤audio三分细化
P1:消『双份记账』伪命题(引擎首次入bundle非消重)/CSP放行扩script-src+default-src/storage上提contract.ts定稿对象形态(不回退string)/outcome落game_play_end props
待二轮对抗复审+待确认A(OSS二选一)拍定后冻结开工

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 03:40:54 +00:00
zizi
990bed2add docs(mvp): 作战清单T1b-β行刷态——执行版立项+裁决②扩裁登记(audio/受控面random·time/juice/三件三分)+前置P0装引擎;双spec已立项待对抗复审冻结开工
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 03:30:25 +00:00
zizi
3b9da06e95 docs(t1b-beta): β执行版立项(HJ-T1B-B-EXEC-001)+review基线补正裁决②——创始人「β execution」开工令下,扩裁并入execution
- review版补正:开工令横幅+§2.5裁决②扩裁块(Opus复查4类同类误判:audio-music re-vendor ZzFX/ZzFXM/受控面random·time为取证砌墙/juice hitStop·屏震重造timeScale·屏震范式/collision·gamefeel·physics-lite一刀切误判须逐函数三分);strike §2「审计已确认缺件」假口径
- 执行版:P0装littlejsengine入game-runtime(现0字节)+P1引擎能力索引+P2三契约冻结先行;Phase A裁决①+②包装层改造/B Runner v2/C 1.x退役四项兼容矩阵/D后端发布主链/E ⑤⑥;§7插件×引擎重叠清单模板(Q4两类裁定无有意替代);13门验收(真接线三件套防名义/防demo假阳性/裁决②专项门);Q3 outcome注记默认采纳
- 待对抗复审一轮后冻结开工

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 03:28:54 +00:00
zizi
853b1a70e4 docs(ruling): Q4补裁回填——创始人2026-06-13裁「自研内容是引擎外的层,不是对引擎本体的替代」:「有意替代」豁免关闭,重叠清单裁定空间收窄为包装/引擎缺件补层两类,确定性取证诉求一律harness/门侧解决;附断案:手搓Canvas2D零实测证据优于引擎内建(审计推断因果=为像素哈希确定性砌墙),且自揽平台渲染差异债;回填β spec(Q4/取舍1/横幅)+tech-decisions+作战清单
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-13 01:00:44 +00:00
zizi
8f972b876a docs(t1b-beta): β评审版spec两轮评审过(HJ-T1B-B-001)——R1 Codex对抗11条全采纳(防demo兜底假阳性/真接线门三件套防名义接线/后端发布主链硬依赖/契约可并行验收串行/srcdoc→URL四项兼容矩阵/storage三套形状收敛/P7P8固定清单无命中默认v2)+R2主裁证据抽查五处全符;Q1/Q2收敛为已采纳口径,余Q3/Q4+开工令待创始人
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 19:04:06 +00:00
zizi
4fe0845e2d docs(close): T1b-α wave-close 七步收口——总账补今日五波欠账(渠道/W-CLEAN/T1b-α/战略审计簇/收口)+作战清单归档⑫与完成线提请重锁(候选=T1b-β+链路③⑤);蒸馏新skill game-e2e-cdp-harness(编排形制/驱动器六律/出厂红线)+game-runtime/.agent户口+e2e runbook自/tmp入库+收口报告落档;索引双同步;逮修W-CH行陈旧C1-C2待拍款
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 18:33:06 +00:00
zizi
12716d1a3d docs(mvp): 清毒收口落账——整改包刷态(全文档清毒完成,余项并入β/W-G0,TPL产品命名留拍)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 17:41:56 +00:00
zizi
ee78c7d50b docs(rules): 安全规则随生成主线迁移——'配置非代码/平台完全控制'死断言改判为'管代码的生成与出厂'(受控harness+插件公开面+CSP沙箱+验证门),注入面扩大为生成代码本体
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 17:41:10 +00:00
zizi
f63c56bec8 docs(cleanup): 全文档清毒收编——长尾18改+1新建(知识3/技能6/DocB注记/契约deprecated/DifyCallback诚实注记×4/双.agent/执行spec横幅)+主会话补刀tech-decisions两处漏网(回填横幅与生成主线行的'模板驱动'死口径);活文档面残毒终扫清零
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 17:40:16 +00:00
zizi
1272383507 docs: 裁决①落账+单源文件清毒——三件插件改引擎能力包装层(β真接线门);tech-decisions三处(模板双层+LLM填参退役/adapter行/护城河runtime出列);AGENTS栈行Dify-OpenGame-RocketMQ-Nacos如实化;T1b-β显式队列行立项
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 17:23:42 +00:00
zizi
5a40824168 docs(audit): 自研偏误全链审计落地——报告HJ-AUDIT-NIH-001入库+rules/build-vs-buy.md七条硬规+三处死约束/复发种子回填(AGENTS.md 15KB·复用三级次序·编排引擎行改判)+整改包登记(🔴引擎零接线待创始人裁决)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 17:07:45 +00:00
zizi
58a30d5e0e docs(agi): HJ-AGI-001终裁回填——AgentScope 2.x主力(创始人拍板),W-G1即spike验证门,换轨触发生效
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 16:47:56 +00:00
zizi
b912b1034a docs(agi): agentic基建框架选型评审版HJ-AGI-001——五资产契约边界+L1最短通路定案;终选对AgentScope vs LangGraph双推荐摆给创始人(主会话推A:生态契合+许可洁净;研究员推B:生产实证),换轨触发写死
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 16:44:57 +00:00
zizi
430f832796 docs(mvp): agentic基建复议落账——自研薄内核被创始人推翻(同引擎终裁逻辑),改全平台单一框架化基建+契约边界;框架尽调(AgentScope vs LangGraph)研究agent在跑
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 16:38:57 +00:00
zizi
8509bfd0ed docs(mvp): 生成主线战略落账——Fable只造引擎/生产生成=便宜模型(创始人裁定);W-G0现行(契约升格)+W-G1模型竞标+插件扩展波v2(20游戏矩阵定缺口);框架=自研薄内核+可换执行器GC9重申
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 16:11:47 +00:00
zizi
a4b2eef6f3 docs: W-T1b主门过落账——创始人亲玩判quality passed(亲玩轮1/3即过),好玩基线v2立标,demo serve登记保留,T1b-β解锁
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 15:52:30 +00:00
zizi
104c17545b docs(mvp): W-T1b刷态——参考件轮1预判达线(≈4.1),转创始人亲玩(serve已起,五要素打分门)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 15:01:31 +00:00
zizi
02c0ec50ef docs(wanglanmei-ref): 轮1判词——REF_E2E PASS四件套全档入库,五要素预判≈4.1达线,提请创始人亲玩;亲玩校准候选2项+评估段修复清单留痕
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 14:53:05 +00:00
zizi
57ca3fb27f fix(wanglanmei-ref): e2e双开一致性改同存档态对比——二开继承首航存档多画继续按钮致哈希异(正确游戏行为非缺陷),清档重载后再比;waitRefBoot抽公共
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 14:46:13 +00:00
zizi
c7f1c35ce0 fix(wanglanmei-ref): e2e driver接待策略修——备货6×防饿死(run5声誉gameover)/全货架轮点借输入缓冲补打(冷却才是限流)/serve_ok循环内即时追踪(240环溢出假阴性)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 14:40:23 +00:00
zizi
3b142b1287 fix(wanglanmei-ref): e2e driver两修——营业phase名judge错('serving'→'open',run4首拍退循环致接待0)+截帧前waitAssets稳态(资产异步补装致双开哈希漂移)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 14:33:07 +00:00
zizi
572b3721b5 fix(wanglanmei-ref): 双修真输入坐标断层——页面壳状态行改浮层(canvas顶到0,0满幅,旧布局下推29px且裁底致真机底部按钮不可点)+driver加rect坐标映射(zone canvas系→页面CSS系),轨迹双系留痕
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 14:25:22 +00:00
zizi
43623609bd fix(wanglanmei-ref): render.js离店摆动分支const x改let——esbuild构建门逮的真bug(headless测试未执行到该行),本机esbuild全量预检过+49测仍绿
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 14:19:22 +00:00
zizi
d9b2784bec test(wanglanmei-ref): e2e评估主体e2e-input.cdp.cjs(主会话所有)——CDP真输入四件套driver,硬门=boot/probe链/真输入闭环/确定性双开,live软项如实记录
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 14:01:01 +00:00
zizi
c2fb26cb40 feat(wanglanmei-ref): 参考件轮1交付——经营深化玩法(双权衡两头能输+失败态+救单宽限)49测全绿,mmx资产16件(图14+乐2)风格统一,五要素自评≈4.1
- 逻辑/宿主两层:balance/shop-core/lines/loop-proof 纯逻辑零DOM受控时间随机;render/hostfx/audio-director/palette/assets/main 宿主层
- 手感链:同帧涟漪+弹簧按压/quadOut弧线飞行/连击升调/大额成交hit-stop+屏震+闪白/冷却期InputBuffer补打
- 美术:16件同风格词(主会话目检4张:水彩绘本暖色族高度统一)+P5派生压力色板+vignette联动
- 收编亲验:49/49+全仓155/155绿/隔离零外溢/IP gate源码资产零命中/逻辑层禁API零真调/manifest抽查5/5哈希一致
- mmx对账:quota面零增量(image/music不走Token Plan),权威用量=台账16次,扣费留月度并账
- 计数笔误15→16已纠;状态③收编提交完成,构建+e2e四件套接续

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 13:53:40 +00:00
zizi
7ca9a03796 docs(mvp): 待办雷清雷收口——雷一核验无需改(原登记前提错误),雷二max_tokens已修且mini-desktop实测15/15绿
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 12:52:35 +00:00
zizi
09d8678deb fix(aigc): ExecutorLlmClient 显式 max_tokens=4096——对拍 llm_client.py 双侧固化,杜绝推理型通道吃光网关缺省额度致空content重试(C6.1实测22次空重试教训);雷一PromptResourceLoaderTest经核验本就版本无关设计,无需改
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 12:49:12 +00:00
zizi
c2221bf2bc docs(mvp): 作战清单落账——T1b-α两段全过+参考件在飞;链路③⑤实测受阻重锚β(W-CLEAN后feed已空);待办雷重分类(2活雷在修/2b并入β/Golden旧口径退役);mmx轮前配额基线入证据
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 12:47:22 +00:00
zizi
878ad3f7da feat(game-runtime): T1b-α集成段三门全PASS——SIZES九件全≤配额(全栈gz16.5KB),mini-desktop真浏览器证据(probe链/vfx像素哈希×3/CDP真输入),host-dev宿主页+参考件轮1计划
- 门①构建绿:all-plugins barrel+host-dev 双构建日志留档
- 门②SIZES增量实测:九件单件全≤配额,插件gz净增13263B(自律线60K),core基准gz 3222
- 门③浏览器证据:六锚点FNV-1a链verify.ok=true/burst-trail-drift三预设哈希×3重跑一致+几何命中+直方图非空/vignette-dither开关对照哈希互异/CDP dispatchTouchEvent真点击→probe第7条firstInput旁证
- 模板哲学红线被门③实证:particles不内置颜色致首版全黑,host作引擎供色后过——验证门逮住设计而非绕过
- α不接littlejsengine裁定留痕(host.js顶注/index.html/REPORT §4.1),受控面桩即引擎接缝点
- 遗留:probe前四锚tMono=0(冻结lane件,注入时钟拆分留β)
- games/wanglanmei-ref/LOOP-LOG.md:参考件内部预判轮1计划(五要素挂点/插件用法图/mmx资产单13次/红线五条)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 12:39:15 +00:00
zizi
384d303831 feat(game-runtime): T1b-α 八件插件三lane交付——155/155全绿,模板哲学红线全程实证
- lane-math(47测):P1 collision(空间哈希broadphase+圆AABB凸SAT带MTV+射线;brute-force对照fuzz不漏报)/P2 physics-lite(弹道解析解对照+弹簧三阻尼态+6000次fuzz无NaN+时间步收敛;与P1零编译依赖,碰撞经回调注入)/P4 gamefeel(输入缓冲/coyote/缓动13函数/连击窗,全受控时钟驱动)
- lane-vfx(27测):P3 particles-juice(发射器+burst/trail/drift中性预设+hit-stop/屏震/闪白/缩放脉冲;同seed逐字段复现;屏震amplitude=每轴上界裁定三处注记)/P5 palette-post(调色引擎零成品色板,空映射恒等专项断言;vignette/Bayer抖动/扫描线)
- lane-sys(43测):P6 audio-music(vendor ZzFX+ZzFXM bit-for-bit上游比对maxdiff=0,删模块期new AudioContext改受控注入;情绪分层声部矩阵;null上下文静默降级)/P9 save(命名空间+32KB守卫+坏档容错;alpha本地adapter,SDK契约补丁列β不虚称)/P10 runtime-probe(六锚点FNV-1a链防篡改四式;借channel-probe形状零渠道语义,grep实证)
- 主会话收编四关:155/155亲验/9 manifest全过/品类语义grep全为负向注释/禁用API 14命中全为红线声明注释零真调用;lane-math REPORT按§6代落盘

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 11:56:07 +00:00
zizi
6f854851f5 feat(game-runtime): core-protocol-v0 冻结(Gate0.1 受控面补丁,38/38 绿)
- 受控面 v0 六项冻结:getContext2d/onFrame/getInput/getAudioContext/time/random
- getInput=归一化事件订阅面(5枚举,host注入桥+_emit测试口,dispose自动清理防泄漏);getAudioContext=lazy单例无工厂返null告警降级
- per-plugin 派生随机流(FNV-1a子种子,序列互不影响同seed复现,向后兼容回退);useContext 守卫(友好错误带插件名)
- 向后兼容增量不bump版本;manifest schema 未动;三 lane 按此冻结面开工

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 11:28:52 +00:00
zizi
f59991b9f3 feat(game-runtime): T1b-α Gate0 七件落地(core-protocol-v0-rc)
- core 协议:Plugin 接口/注册器(重名拒绝/生命周期正序逆序/dispose幂等/错误隔离不连坐)+受控面 PluginContext(禁直透 littlejsengine)——前任agent核心设计17测绿收编(死于收尾的工具调用解析失败,续作字节级未碰)
- _example 空插件样例五件全(克隆母本)+PLUGIN-TEMPLATE 六节规格+manifest schema+零依赖校验器(负例自检逮6违规)
- scripts:esbuild锁参build/增量法size/test.sh遍历;browser-evidence harness纯计算口径冻结(FNV-1a/直方图/几何,CDP四函数=集成段占位)
- 22/22 测全绿(RESULT.txt 留档);ESM JS+JSDoc+手写d.ts 零工具链纪律全程
- rc 状态:待 Gate0.1 受控面补丁(input/audio+per-plugin派生RNG+useContext守卫)后冻结 core-protocol-v0

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 11:10:12 +00:00
zizi
8d3cf1383f docs(t1b-alpha): 执行版v1.1——Codex评审13条全采纳,Gate0启动序定稿
- P0×5:Gate0(lane-core先行七件交付→core-protocol-v0冻结→其余lane才并行)/视觉证据两层拆分(node测状态参数+浏览器哈希在集成段,禁node-canvas)/P9降级alpha本地adapter(SDK StoragePlugin契约补丁列β,不声称契约已存在)/同步统一(主会话收编提交→mini-desktop拉精确SHA,cat仅紧急单文件)/参考件评估主体=主会话维护的e2e-input.cdp.cjs+两个3轮分立+裁决包四选终态
- 关键解法:发行版源码=ESM JS+JSDoc+手写d.ts——零工具链node直测,esbuild只在集成段(lane阶段彻底摆脱构建依赖)
- P1×5:math fuzz性质测试/P10本波RuntimeProbe六锚点字段级(只复用channel-probe形状不搬渠道语义)/SIZES命令口径写死/薄能力面优先序(P1P4P9P10闭环优先)+插件段扩3天/evidence目录约定沿T1结构
- P2×3:mmx停机阈值(每轮≤20次,quota失败即停)/IP gate扩产物grep+截图核/serve生命周期(unit命名固定端口探活轮终stop)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 10:48:52 +00:00
zizi
2446b712d5 docs(rulings): 拍板台全清回填+T1b-α执行版v1——四裁定落档,T1b-α进入过审
- C1口径定「自研流即时发布+双渠道精选发行」,可行性方案原文四处更词(闭环表述×2/15KB→Runner v2实测口径/渠道节奏合规依据)
- C2以渠道合规为准绳:游戏集稳定化+月级重备案默认,律所校准,更严照办
- HJ-GEN-001终审通过(Q1~Q7全默认):生成主线=agent写码于插件库按预算/职责分档,不设纯数据热发子集;W-G0解锁排队
- W-T1b §8按默认+mmx资产管线拍板回填(spec §2/作战清单/新记忆mmx-asset-pipeline:盯用量=quota对账铁律)
- 新增T1b-α执行版(HJ-T1B-A-EXEC-001):game-runtime/工程+插件协议五件套+四lane切分(math/vfx/sys/core)+参考件人肉循环协议(mmx用量对账/IP gate/亲玩打分门≥4迭代≤3轮)+时间盒

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 10:41:00 +00:00
zizi
270a1d9909 docs(channel): 政策复核补丁§1.1——清退谣言解除+备案锁内容新雷(一壳多游降级高风险待裁)
- 谣言解除:'4-6月集中清退无版号'零官方佐证(仅单篇自媒体);IAA个人主体免版号通道官方双证有效(软著+自审,审核1-3日),但留审核裁量风险判例注记
- 决定性新发现:微信官方'备案后不可改游戏内容/代码,实质变更须重新备案'→一壳多游数据驱动从灰区降级高风险;'当日热发新游进渠道'叙事收回(变更=重备案+整包提审月级节奏,热发仅限非实质参数微调);三出路(每游独立备案/游戏集稳定化/律所裁)入C2升级,渠道工程前置裁决;不影响自研H5流
- 公开测试=运营:出处实为新闻出版署草案21条(未生效,非'八部门'),灰测红线≤2万人+不接广告+报备删档→种子外测挂广告须先备案(映射表排期约束)
- 抖音口径修正(备案=上架前置非先上后备);棋牌/捕鱼入生成题材黑名单
- 来源分级齐全(官方/媒体/自媒体),mmx×WebSearch双模态交叉

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 10:03:20 +00:00
zizi
390bd7ceb6 docs(t1b): spec v2.1——回落对抗审11条全采纳(3P0/5P1/3P2)
- P0:outcome×completed契约裁定(completed仍为各品类闭环权威判据,outcome仅action类可选细分)/channel-spike资产归属纠正(渠道线资产≠feed发行版,竞标未终裁只复用取证方法论)/范围门循环依赖拆解(seed子集P1-P6+P9+P10先验入=α开工启动点,P7P8实证入)
- P1:'未来工厂同款循环'诚实化(执行器W-G2待裁,本波=人肉循环结构留痕)/P2命名去品类化+P8删'顾客动线'玩法语义/美术边界钉死(P5只供调色引擎不含成品色板)/1.x退役升架构改写(srcdoc→URL三件套运行时行为,CDP走查门必做)/主门收敛护栏(五要素1-5分均分≥4,迭代硬上限3轮)
- P2:字节单件配额带触发动作/可测性红线=前置门与评估门分工厘清/HJ-GEN-001 §9-W-G0 legacy评估集旧口径同步作废
- 评审通道注明:Codex两连503回落Claude(ce-adversarial-document-reviewer),恢复后补Codex轮

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 09:45:53 +00:00
zizi
6b42c750f8 docs: 成本模型v2.2(Codex复审7条全采纳)+W-T1b spec v2.0(能力插件库重写)+账本收编
- 成本v2.2:生成成本重锚agentic分档(L1 P75≤¥0.15/款,¥0.031降格旧填参路径下界,驱动A表重算90/180/450/900元=2.25%~22.5%)+激励计价口径显式声明(完整观看单价折算激励位eCPM 200/562.5/1080 vs 单位经济页15/30/60,不声明则回本与盈亏平衡高估)+渠道措辞收紧/四项假设补标/归因修正/整数注;下游承重数字经验证锚定未变,全文自洽
- W-T1b spec v2.0:按模板哲学全面重写——LittleJS能力插件库v1(P1-P10:六必入+两实证+插件协议)+agent生成域与可测性红线(不可机测不过门)+拔高样板=agent工厂同款循环造王蓝莓参考件(主门=创始人亲玩)+Runner v2单路径(1.x退役,W-CLEAN红利);评审中(Codex两连503回落Claude对抗审,注明)
- 作战清单:W-CLEAN全径完成(DB 1022+遥测291行归档删/前端837行/后端白名单/jar生效);catproxy不稳实录

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 09:40:03 +00:00
zizi
7bf2cd1d3b refactor(w-clean): 旧玩法模板清除(创始人令2026-06-12)——模板哲学落地第一刀
- game-studio runtime/index.ts 843→113行:clicker/merge/idle/tycoon 四模板游戏逻辑全删,统一「模板体系重构中」错误态(画布明示+game_error事件,不抛裸异常);运行时壳/生命周期/SDK/destroy 契约保留
- 后端:AigcTemplateConstants.SUPPORTED_TEMPLATE_IDS=List.of()+getTemplateList 返回空(提交入口/执行器双层拒绝,直插任务不烧LLM);两测试诚实适配(机制覆盖保留+清空后拒生成断言),aigc 模块 56 测全绿
- staging DB:15 表 1022 行已先归档(mini-desktop:/root/backups/w-clean-20260612/,304,606字节,可整表回滚)后物理删除;遥测/zone/player/trade/community/biz 全保留
- 验证:前端 build 绿/health 200/feed 空列表优雅(既有空态分支)/smoke 9/12(3 FAIL=feed空的预期差异,留档不掩绿)
- 未动:contracts/templates schema 与 prompt registry(死内容,随 W-T1b spec v2 的 9a 能力插件清单一并清退)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 09:24:27 +00:00