diff --git a/.agents/skills/game-e2e-cdp-harness.md b/.agents/skills/game-e2e-cdp-harness.md index 44b38d8f..273bdcf8 100644 --- a/.agents/skills/game-e2e-cdp-harness.md +++ b/.agents/skills/game-e2e-cdp-harness.md @@ -94,7 +94,7 @@ **★ driver-coverage v2 闭口:H 假阴四因归因铁律(2026-06-15,5 款实测)**。技巧/射击/填充类 H 假阴必先分因、**禁『模型造不出』笼统归因**(spec §9): 1. **宿主门面缺失**(系统性,L0 域):如键盘桥 `d754b71`——**失败严格沿『键盘 vs 指针』分界=最强信号**;宿主经 esbuild 打进 bundle,故修后须**重打包** bundle 才生效(`node scripts/build.mjs /entry-bundle.js /bundle.iife.js --global-name=__GameBundle`)→实证 t2048 `score 0→4`、asteroids `F_wiring 0→26`。 2. **driver 太朴素**(我域,改 `play.cdp.cjs`):本轮增 flap-to-gap vy 前瞻 / paddle-intercept 弃守排空 / drag-aiming / aim-fire 四件;flappy・multiball 经此 + 重生成翻绿。 -3. **可测性边界**(游戏 `exportState` 不足以确定性盲玩):asteroids 无陨石坐标、angrybirds 无发射物理常数。**正解=enrich exportState 暴露所需(坐标/物理常数)+ 适配 driver**:asteroids 暴露 `asteroids:[{x,y}]`+aim-fire 旋向瞄准;angrybirds brief **pin+导出 `launch:{gravity,powerScale}`**+drag-aiming 45° 抛解析瞄准——**两者皆经此从『边界』转『确定性闭口』(asteroids score 0→6、angrybirds 0→20 清场)**。**抗死锁类(2048)的 latch 是设计性边界**(游戏意在不结束),宜放宽为强 progress(score↑∧board变)+G 兜。 +3. **可测性边界**(游戏 `exportState` 不足以确定性盲玩):asteroids 无陨石坐标、angrybirds 无发射物理常数。**正解=enrich exportState 暴露所需(坐标/物理常数)+ 适配 driver**:asteroids 暴露 `asteroids:[{x,y}]`+aim-fire 旋向瞄准;angrybirds brief **pin+导出 `launch:{gravity,powerScale}`**+drag-aiming 45° 抛解析瞄准——**两者皆经此从『边界』转『确定性闭口』(asteroids score 0→6、angrybirds 0→20 清场)**。**抗死锁类(2048/idle/endless)的 latch 是设计性边界**(游戏意在不结束),放宽为强 progress(score↑∧board变)+G 兜。**已实现(t2048,f7f5981f)**:play-spec `expectLatch:false`(逐游戏 opt-in,零 harness 改,对其它游戏 latch 默认仍必需)→ H 退为 `assertAfterPlay`(score↑)必过,机制由 H(score↑)+E(board 变/活性)+G(输入有效)三门兜底;九门全绿。判据=「该体裁终态盲态真不可达 ∧ 本体可玩」才放宽,勿滥用绕 latch。 4. **生成实例缺陷 ≠ 模型能力**:multiball 原件底部丢球未实现(latch 不可达)、flappy 原件缝隙贴顶,但 flash 在**收紧 brief**(『球越底沿即出局不反弹』/『缝心落可达区间』)下**重生成即过**(multiball retries=0)。**区分『此实例 bug』与『模型短板』必须重生成验证,不可凭单件下结论**——这是『模型造不出』的最大伪报源。 **结论(scale-20 的 driver-coverage 失败款)**:0 个是模型能力天花板,0 个是 3D 硬界——真难点恒在 **harness driver 覆盖 + 宿主门面完备 + 游戏可测性导出**三者。