lili 4836a6f519 feat(wg1-scale20): 20基准放量(14款)+ 三方门验证 + driver库泛化 + 宿主键盘缺口定位
主力批 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>
2026-06-14 10:30:06 -07:00

294 lines
6.6 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"game_id": "tictactoe",
"model": "deepseek-v4-flash",
"pass": true,
"retries": 1,
"attempts": [
{
"attempt": 0,
"stage": "validate",
"errors": [
"违禁:禁 Date.now用 ctx.time.nowMs"
],
"usage": {
"prompt_tokens": 4154,
"completion_tokens": 5710,
"total_tokens": 9864,
"wall_s": 56.869,
"id": "2d3fb95c-27bd-48af-8f9c-337cfe9f6167",
"finish_reason": "stop"
}
},
{
"attempt": 1,
"stage": "play",
"errors": [],
"usage": {
"prompt_tokens": 4200,
"completion_tokens": 4345,
"total_tokens": 8545,
"wall_s": 42.409,
"id": "7314fa70-81c8-4fc7-8306-3508b94d061d",
"finish_reason": "stop"
},
"play_pass": true,
"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": true
}
}
],
"factory_path": "game-runtime/games/_wg1-gen/tictactoe/generated-factory.js",
"bundle_path": "game-runtime/games/_wg1-gen/tictactoe/bundle.iife.js",
"verdict": {
"gameId": "tictactoe",
"url": "http://localhost:4320/games/_wg1-gen/tictactoe/index.html",
"ts": null,
"guards": {
"A_boot": {
"pass": true
},
"C_frame": {
"pass": true,
"f0": 48,
"f1": 77,
"delta": 29
},
"I_control": {
"pass": true,
"skipped": "未声明 controlCheck向后兼容"
},
"D_render": {
"pass": true,
"bright": 98809,
"maxCh": 255
},
"E_live": {
"pass": true,
"distinctStates": 5,
"samples": 5
},
"B_uncaught": {
"pass": true,
"uncaught": []
},
"F_wiring": {
"pass": true,
"callCount": 13,
"sample": [
"particles.spawnEmitter",
"audio.synth.synthSfx",
"particles.spawnEmitter",
"audio.synth.synthSfx",
"particles.spawnEmitter",
"audio.synth.synthSfx",
"particles.spawnEmitter",
"audio.synth.synthSfx",
"particles.spawnEmitter",
"audio.synth.synthSfx",
"particles.spawnEmitter",
"audio.synth.synthSfx"
],
"expected": [
"particles.",
"audio.synth"
]
},
"G_input": {
"pass": true,
"inputHash": "7441dfc3",
"controlHash": "b761dd3d",
"atFrame": 228,
"ctrlFrame": 232
},
"H_progress": {
"pass": true,
"checks": [
{
"path": "moves",
"op": "increased",
"before": 0,
"after": 5,
"pass": true,
"why": "适配性真玩(自动点空格)下落子→已落子数上升;点击失灵/棋盘没更新则不升"
}
],
"latch": {
"pass": true,
"dwelledMs": 600,
"after": "gameover",
"reason": ""
},
"state0": {
"phase": "playing",
"score": 0,
"remaining": 9,
"progress": 0,
"gameoverReason": "",
"result": null,
"moves": 0,
"board": [
null,
null,
null,
null,
null,
null,
null,
null,
null
],
"targets": [
{
"idx": 0,
"x": 85,
"y": 310,
"occupied": false
},
{
"idx": 1,
"x": 195,
"y": 310,
"occupied": false
},
{
"idx": 2,
"x": 305,
"y": 310,
"occupied": false
},
{
"idx": 3,
"x": 85,
"y": 420,
"occupied": false
},
{
"idx": 4,
"x": 195,
"y": 420,
"occupied": false
},
{
"idx": 5,
"x": 305,
"y": 420,
"occupied": false
},
{
"idx": 6,
"x": 85,
"y": 530,
"occupied": false
},
{
"idx": 7,
"x": 195,
"y": 530,
"occupied": false
},
{
"idx": 8,
"x": 305,
"y": 530,
"occupied": false
}
]
},
"state1": {
"phase": "gameover",
"score": 5,
"remaining": 4,
"progress": 0.5555555555555556,
"gameoverReason": "X_wins",
"result": "X",
"moves": 5,
"board": [
"X",
"X",
"X",
null,
"O",
"O",
null,
null,
null
],
"targets": [
{
"idx": 0,
"x": 85,
"y": 310,
"occupied": true
},
{
"idx": 1,
"x": 195,
"y": 310,
"occupied": true
},
{
"idx": 2,
"x": 305,
"y": 310,
"occupied": true
},
{
"idx": 3,
"x": 85,
"y": 420,
"occupied": false
},
{
"idx": 4,
"x": 195,
"y": 420,
"occupied": true
},
{
"idx": 5,
"x": 305,
"y": 420,
"occupied": true
},
{
"idx": 6,
"x": 85,
"y": 530,
"occupied": false
},
{
"idx": 7,
"x": 195,
"y": 530,
"occupied": false
},
{
"idx": 8,
"x": 305,
"y": 530,
"occupied": false
}
]
}
}
},
"pass": true,
"notes": []
},
"tokens": {
"prompt": 8354,
"completion": 10055
},
"request_ids": [
"2d3fb95c-27bd-48af-8f9c-337cfe9f6167",
"7314fa70-81c8-4fc7-8306-3508b94d061d"
]
}