主力批 7/8 真可玩(Opus 对抗审计 0 假绿)、压测 match3 ✅;失败收敛:3 键盘款(2048/Tetris/Asteroids)挂宿主缺 keydown 桥=唯一真·L0 门面缺口(已 spawn_task 交 L0)、multiball/flappy/愤怒小鸟=driver-coverage(非模型)。spec 预判 CCD/文本HUD/网格/match/手势缺口全推翻(便宜 flash 自带 swept CCD/自写网格文本)。
- driver 库 1→6 型(tap-targets/flap-to-gap/seek-x/tap-pairs/key-cycle/paddle-intercept)+ drag 输入事件 + key() Arrow 修
- M3 视觉 player 当生产过滤器实证(与门 8/9 一致、抓显性空心)→ 门(地板)+M3(主观过滤)+创始人(人锚)三层互补
- 短板量化报告定稿 + 两 skill 沉淀(game-e2e §8 driver库/门承重/键盘缺口 · cheap-model §9 模型能力画像)
- 2 个 ultracode 对抗 workflow(审计10+诊断7 agents)抓 saolei 弱断言、纠 flappy 归因(driver 非模型)、定位宿主键盘根因
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
609 lines
11 KiB
JSON
609 lines
11 KiB
JSON
{
|
||
"game_id": "tetris",
|
||
"model": "deepseek-v4-flash",
|
||
"pass": false,
|
||
"retries": 2,
|
||
"attempts": [
|
||
{
|
||
"attempt": 0,
|
||
"stage": "play",
|
||
"errors": [],
|
||
"usage": {
|
||
"prompt_tokens": 3904,
|
||
"completion_tokens": 7309,
|
||
"total_tokens": 11213,
|
||
"wall_s": 68.419,
|
||
"id": "8ebdb481-b510-45c9-b33f-93fbbb5bb46f",
|
||
"finish_reason": "stop"
|
||
},
|
||
"play_pass": false,
|
||
"verdict_guards": {
|
||
"A_boot": true,
|
||
"C_frame": true,
|
||
"I_control": true,
|
||
"D_render": true,
|
||
"E_live": true,
|
||
"B_uncaught": true,
|
||
"F_wiring": true,
|
||
"G_input": true,
|
||
"H_progress": false
|
||
}
|
||
},
|
||
{
|
||
"attempt": 1,
|
||
"stage": "play",
|
||
"errors": [],
|
||
"usage": {
|
||
"prompt_tokens": 4031,
|
||
"completion_tokens": 6900,
|
||
"total_tokens": 10931,
|
||
"wall_s": 69.856,
|
||
"id": "063ae3dc-b31a-490f-9499-8d32c3231e51",
|
||
"finish_reason": "stop"
|
||
},
|
||
"play_pass": false,
|
||
"verdict_guards": {
|
||
"A_boot": false
|
||
}
|
||
},
|
||
{
|
||
"attempt": 2,
|
||
"stage": "play",
|
||
"errors": [],
|
||
"usage": {
|
||
"prompt_tokens": 3993,
|
||
"completion_tokens": 4652,
|
||
"total_tokens": 8645,
|
||
"wall_s": 220.345,
|
||
"id": "06518512-9855-440a-9cd8-ee1156eb2e6b",
|
||
"finish_reason": "stop"
|
||
},
|
||
"play_pass": false,
|
||
"verdict_guards": {
|
||
"A_boot": true,
|
||
"C_frame": true,
|
||
"I_control": true,
|
||
"D_render": true,
|
||
"E_live": true,
|
||
"B_uncaught": true,
|
||
"F_wiring": true,
|
||
"G_input": true,
|
||
"H_progress": false
|
||
}
|
||
}
|
||
],
|
||
"factory_path": "game-runtime/games/_wg1-gen/tetris/generated-factory.js",
|
||
"bundle_path": "game-runtime/games/_wg1-gen/tetris/bundle.iife.js",
|
||
"verdict": {
|
||
"gameId": "tetris",
|
||
"url": "http://localhost:4320/games/_wg1-gen/tetris/index.html",
|
||
"ts": null,
|
||
"guards": {
|
||
"A_boot": {
|
||
"pass": true
|
||
},
|
||
"C_frame": {
|
||
"pass": true,
|
||
"f0": 47,
|
||
"f1": 77,
|
||
"delta": 30
|
||
},
|
||
"I_control": {
|
||
"pass": true,
|
||
"skipped": "未声明 controlCheck(向后兼容)"
|
||
},
|
||
"D_render": {
|
||
"pass": true,
|
||
"bright": 56257,
|
||
"maxCh": 255
|
||
},
|
||
"E_live": {
|
||
"pass": true,
|
||
"distinctStates": 28,
|
||
"samples": 52
|
||
},
|
||
"B_uncaught": {
|
||
"pass": true,
|
||
"uncaught": []
|
||
},
|
||
"F_wiring": {
|
||
"pass": true,
|
||
"callCount": 3,
|
||
"sample": [
|
||
"particles.spawnEmitter",
|
||
"audio.synth.synthSfx"
|
||
],
|
||
"expected": [
|
||
"particles.",
|
||
"audio.synth"
|
||
]
|
||
},
|
||
"G_input": {
|
||
"pass": true,
|
||
"inputHash": "afbf31e7",
|
||
"controlHash": "5f498477",
|
||
"atFrame": 1311,
|
||
"ctrlFrame": -1
|
||
},
|
||
"H_progress": {
|
||
"pass": false,
|
||
"checks": [
|
||
{
|
||
"path": "piecesLocked",
|
||
"op": "increased",
|
||
"before": 0,
|
||
"after": 1,
|
||
"pass": true,
|
||
"why": "循环按键下落+硬降→锁定方块数上升;不下落/不锁定则不升"
|
||
}
|
||
],
|
||
"latch": {
|
||
"pass": false,
|
||
"reason": "真玩未到达 gameover 终态(终态不可达/无失败态/play-spec 未驱动到结束)",
|
||
"phaseNow": "playing"
|
||
},
|
||
"state0": {
|
||
"phase": "playing",
|
||
"result": null,
|
||
"score": 0,
|
||
"lines": 0,
|
||
"piecesLocked": 0,
|
||
"board": [
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
]
|
||
]
|
||
},
|
||
"state1": {
|
||
"phase": "playing",
|
||
"result": null,
|
||
"score": 0,
|
||
"lines": 0,
|
||
"piecesLocked": 1,
|
||
"board": [
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
5,
|
||
5,
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
],
|
||
[
|
||
0,
|
||
0,
|
||
0,
|
||
0,
|
||
5,
|
||
5,
|
||
0,
|
||
0,
|
||
0,
|
||
0
|
||
]
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"pass": false,
|
||
"notes": []
|
||
},
|
||
"tokens": {
|
||
"prompt": 11928,
|
||
"completion": 18861
|
||
},
|
||
"request_ids": [
|
||
"8ebdb481-b510-45c9-b33f-93fbbb5bb46f",
|
||
"063ae3dc-b31a-490f-9499-8d32c3231e51",
|
||
"06518512-9855-440a-9cd8-ee1156eb2e6b"
|
||
]
|
||
} |