- .agents/skills 25 件全量 frontmatter 规范化与评审修入(含 prompt-governance 大修);.claude/skills 7 件薄壳按双层方案①落位 - 新增 skill:agentic-seat-context-design(agentic 席位与 context 工程设计基线,2026-07-05 探索蒸馏) - 设计波三件落档:复杂游戏北极星件(W-NSTAR 终审稿待拍)/黄金模板规格件(W-TPL 定稿待批)/生成侧过程蒸馏回路(W-GENLOG 骨架) - protocol/在飞板/作战清单/数据飞轮 SoT/契约 prompts 索引同步;breakout 九门证据刷新 - .gitignore 补 /localagents.md 真实忽略行(该文件自声明绝不提交,此前声明未被机器执行) - 刻意不入库:nacos-data/ 与 _tier2-gen、c2v-*、amgen-* 生成产物(可重生成,忽略行格式待拍) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
197 lines
4.8 KiB
JSON
197 lines
4.8 KiB
JSON
{
|
|
"gameId": "breakout",
|
|
"url": "http://localhost:4320/games/_wg1-gen/breakout/index.html",
|
|
"ts": null,
|
|
"guards": {
|
|
"A_boot": {
|
|
"pass": true
|
|
},
|
|
"C_frame": {
|
|
"pass": true,
|
|
"f0": 58,
|
|
"f1": 89,
|
|
"delta": 31
|
|
},
|
|
"I_control": {
|
|
"pass": true,
|
|
"paddlePath": "paddle.x",
|
|
"results": [
|
|
{
|
|
"tapX": 50,
|
|
"before": 195,
|
|
"after": 50.0000000000465,
|
|
"moved": -144.9999999999535,
|
|
"distToTarget": 4.6497916628140956e-11,
|
|
"pass": true
|
|
},
|
|
{
|
|
"tapX": 340,
|
|
"before": 50.0000000000465,
|
|
"after": 338.0622981535271,
|
|
"moved": 288.0622981534806,
|
|
"distToTarget": 1.937701846472919,
|
|
"pass": true
|
|
}
|
|
]
|
|
},
|
|
"D_render": {
|
|
"pass": true,
|
|
"bright": 154283,
|
|
"maxCh": 255
|
|
},
|
|
"E_live": {
|
|
"pass": true,
|
|
"distinctStates": 23,
|
|
"samples": 23
|
|
},
|
|
"B_uncaught": {
|
|
"pass": true,
|
|
"uncaught": []
|
|
},
|
|
"F_wiring": {
|
|
"pass": true,
|
|
"callCount": 21,
|
|
"sample": [
|
|
"particles.spawnEmitter",
|
|
"audio.synth.synthSfx",
|
|
"particles.spawnEmitter",
|
|
"audio.synth.synthSfx",
|
|
"audio.synth.synthSfx",
|
|
"particles.spawnEmitter",
|
|
"audio.synth.synthSfx",
|
|
"particles.spawnEmitter",
|
|
"audio.synth.synthSfx",
|
|
"particles.spawnEmitter",
|
|
"audio.synth.synthSfx",
|
|
"audio.synth.synthSfx"
|
|
],
|
|
"expected": [
|
|
"particles.",
|
|
"audio.synth"
|
|
]
|
|
},
|
|
"G_input": {
|
|
"pass": true,
|
|
"inputHash": "e1907e50",
|
|
"controlHash": "9f4addb3",
|
|
"atFrame": 816,
|
|
"ctrlFrame": 820
|
|
},
|
|
"H_progress": {
|
|
"pass": true,
|
|
"checks": [
|
|
{
|
|
"path": "remaining",
|
|
"op": "decreased",
|
|
"before": 30,
|
|
"after": 29,
|
|
"pass": true,
|
|
"why": "适配性真玩(挡板自动接球)下击碎砖块→剩余下降;接不住/碰撞失效则不降"
|
|
}
|
|
],
|
|
"latch": {
|
|
"pass": true,
|
|
"dwelledMs": 600,
|
|
"after": "gameover",
|
|
"reason": ""
|
|
},
|
|
"state0": {
|
|
"phase": "playing",
|
|
"score": 0,
|
|
"remaining": 30,
|
|
"progress": 0,
|
|
"gameoverReason": "",
|
|
"ball": {
|
|
"x": 379.66701339285197,
|
|
"y": 489.07568696625253,
|
|
"vx": -199.9791964288825,
|
|
"vy": -311.3010134831855
|
|
},
|
|
"paddle": {
|
|
"x": 195,
|
|
"y": 810,
|
|
"w": 70
|
|
}
|
|
},
|
|
"state1": {
|
|
"phase": "gameover",
|
|
"score": 1,
|
|
"remaining": 29,
|
|
"progress": 0.033333333333333326,
|
|
"gameoverReason": "ball_lost",
|
|
"ball": {
|
|
"x": 146.30569972331975,
|
|
"y": 838.7991318744353,
|
|
"vx": 253.283090406036,
|
|
"vy": 269.71777122460395
|
|
},
|
|
"paddle": {
|
|
"x": 89.5866584777832,
|
|
"y": 810,
|
|
"w": 70
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"pass": true,
|
|
"notes": [],
|
|
"firstPlay": {
|
|
"enabled": true,
|
|
"categoryDerived": "skill",
|
|
"playableMs": 46,
|
|
"playableThresholdMs": 2000,
|
|
"warmupMs": 640,
|
|
"firstFeedback": true,
|
|
"firstMove": {
|
|
"kind": "tap",
|
|
"x": 308.321544643033,
|
|
"y": 800
|
|
},
|
|
"notes": [
|
|
"playableMs=预热后 warm 稳态,不覆盖 bundle 首加载退化;warmupMs 记冷启;真机 first-load 阈值校准留 staging(P2)。本门 v0 守得住卡死/装载失败退化,守不住大 bundle/慢首加载退化。",
|
|
"首反馈[真判] 动画自走类 A/B(control-body-moved)@f84:控制体paddle.x Δ=145(>moveMin25?) → 输入因果成立(控制体被点动/状态变/信号显著),非「球本就在动」的重言式"
|
|
],
|
|
"playableOk": true,
|
|
"playableScope": "warm",
|
|
"firstFeedbackDetail": {
|
|
"method": "AB-signal-noise",
|
|
"category": "skill",
|
|
"clean": true,
|
|
"feedback": true,
|
|
"reason": "control-body-moved",
|
|
"noise": 369,
|
|
"signal": 10668,
|
|
"ctrlDelta": 144.99999853684997,
|
|
"ctrlPath": "paddle.x",
|
|
"ctrlA": 195,
|
|
"ctrlB": 50.00000146315002,
|
|
"moveMin": 25,
|
|
"stateChanged": false,
|
|
"bMove": {
|
|
"kind": "tap",
|
|
"x": 50,
|
|
"y": 800,
|
|
"repeat": 6
|
|
},
|
|
"signalRatio": 3,
|
|
"minSignal": 200,
|
|
"noiseCeiling": 6000,
|
|
"target": 84,
|
|
"frameA": 84,
|
|
"frameAp": 84,
|
|
"frameB": 106,
|
|
"fbFrames": 9,
|
|
"bootFrameA": 48,
|
|
"bootFrameAp": 48,
|
|
"bootFrameB": 48,
|
|
"phaseA": "playing",
|
|
"phaseB": "playing",
|
|
"remainingA": 30,
|
|
"remainingB": 30
|
|
},
|
|
"coreLoopReached": true,
|
|
"coreLoopElapsedMs": 23790,
|
|
"coreLoopThresholdMs": 60000,
|
|
"pass": true
|
|
}
|
|
} |