3b-B 重跑视觉终局(mini-desktop·证据 wg1/gen-worker/evidence-3bB-final/):
✅ 视觉终局达成(亲眼复核截图):feed 里一款真渲+真玩有进展的井字棋(gameId=9306/versionId=93112)——
空盘「轮到X」→ 落子填盘 X·O → 「X 胜!」+ 重新开始(latch 终态);feed 真玩门 10/11 过
(no_demo_fallback/engine_rendered/lively_interactive 全 true,唯一 false=play_start 遥测非阻断)。
经真 HMAC 回调写链落库(验签通过 engineBundleLen=210891→建版本→组包 checksum 自洽→翻 feed)。
走兜底路(诚实标注):主路一句话现生成两次均失败,故取已验证过九门样板 tictactoe(便宜模型 flash 真生成、
verdict A-I 全 pass)的 engineBundle 经派发面真回调路落 feed,DB bundle 与样板 sha256 字节级一致。
仍是便宜模型真生成的过门游戏,只是非本次现生成。
★ 主路两次 fresh 失败真因(非模型壁垒,铁证):design agent 在 dispatch 面 run_studio(play_spec={}) 下
均给 driver:{type:none}→harness 盲打打不中目标→moves/score 恒 0→H_progress 挂+latch 不触发,repairs=5
耗尽。游戏本体全对(gen9306/9307 verdict 8/9 门过,targetX/Y/radius·board·moves 导出正确,G_input/
I_control/F_wiring 均过)。样板过门靠 lane brief 手供 play_spec.driver=tap-targets。
→ 蒸馏入 cheap-model §7:DESIGN_SYSTEM 须对离散点击类强制产 tap-targets driver(纯 L1 生成域,
moat『一句话现生成』腿的真·临门一脚)。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
71 lines
5.4 KiB
SQL
71 lines
5.4 KiB
SQL
-- ============================================================================
|
||
-- P3·W-G1 派发面终局 e2e·gameId=9307 主路尝试#2(井字棋·已验证过九门题型,tap-targets driver)
|
||
-- 缘由:主路#1(gen9306 whack-style)栽于 driver-coverage(design agent 给 driver:none、未导出 targets 数组→
|
||
-- harness 盲打打不中随机目标→score 恒 0、latch 不触发,8/9 门过仅 H 挂,非模型壁垒)。
|
||
-- #2 换【已实证过九门】的井字棋题型:brief 显式要求导出 targets[{x,y,idx,occupied}] 数组 + 携 tap-targets
|
||
-- play_spec,design agent 据此产适配性 driver,harness 读格位自动点空格真玩 → moves↑ + 终局 latch。
|
||
-- ID:gameId=9307 / 占位 versionId=93070 / pkgId=93070 / feedRankId=93070 / trace_id='wg1-3bB-gen9307-001'
|
||
-- 用法:docker exec -i game-staging-mysql mysql --default-character-set=utf8mb4 -uroot -p"$MYSQL_ROOT_PASSWORD" < 本文件
|
||
-- ============================================================================
|
||
USE `ruoyi-vue-pro`;
|
||
SET NAMES utf8mb4;
|
||
|
||
START TRANSACTION;
|
||
|
||
DELETE FROM game_aigc_task WHERE trace_id = 'wg1-3bB-gen9307-001';
|
||
DELETE FROM game_feed_rank WHERE game_id = 9307;
|
||
DELETE FROM game_runtime_package WHERE game_id = 9307;
|
||
DELETE FROM game_version WHERE game_id = 9307;
|
||
DELETE FROM game_project WHERE id = 9307;
|
||
|
||
INSERT INTO game_project
|
||
(id, creator_user_id, title, summary, cover_url, tags, template_id, age_rating,
|
||
status, current_version_id, launch_zone_id, featured, play_count, like_count,
|
||
creator, create_time, updater, update_time, deleted, tenant_id)
|
||
VALUES
|
||
(9307, 1, '井字棋(generic 真生成·回调入feed)', 'P3 W-G1 派发面视觉终局#2:井字棋经 worker 真生成 GameHostFactory 过九门(tap-targets 适配真玩),回调携 engineBundle 入 feed 真玩',
|
||
'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==',
|
||
'P3,3b-B,dispatch,generic,real-gen,tic-tac-toe', 'generic', 'all',
|
||
4, 93070, NULL, b'0', 0, 0,
|
||
'0', NOW(), '0', NOW(), b'0', 0);
|
||
|
||
INSERT INTO game_version
|
||
(id, game_id, version_no, gen_task_id, package_url, bundle_size, checksum,
|
||
status, creator, create_time, updater, update_time, deleted, tenant_id)
|
||
VALUES
|
||
(93070, 9307, 1, NULL, '', 0, '', 3, '0', NOW(), '0', NOW(), b'0', 0);
|
||
|
||
INSERT INTO game_runtime_package
|
||
(id, game_id, version_id, template_id, package_url, entry, runtime_version, preload_policy,
|
||
bundle_size, checksum, sandbox_attr, allow_origins, status,
|
||
creator, create_time, updater, update_time, deleted, tenant_id, package_json)
|
||
VALUES
|
||
(93070, 9307, 93070, 'generic', '', 'index.html', '1.0.0', 'eager',
|
||
0, '', 'allow-scripts', '', 1, '0', NOW(), '0', NOW(), b'0', 0, NULL);
|
||
|
||
INSERT INTO game_feed_rank
|
||
(id, game_id, version_id, zone_id, quality_score, boost, sort_score, pinned, status,
|
||
creator, create_time, updater, update_time, deleted, tenant_id)
|
||
VALUES
|
||
(93070, 9307, 93070, 0, 0.0000, 0.0000, 0.0000, 0, 1, '0', NOW(), '0', NOW(), b'0', 0);
|
||
|
||
INSERT INTO game_aigc_task
|
||
(creator_user_id, game_id, version_id, template_id, prompt, prompt_hash,
|
||
status, progress, quality_score, failure_reason, result_package_url, retry_of, trace_id,
|
||
creator, create_time, updater, update_time, finish_time, deleted, tenant_id)
|
||
VALUES
|
||
(1, 9307, NULL, 'generic',
|
||
'做经典井字棋(三连棋)。竖屏逻辑视口390×844,深色背景铺满。居中3×3棋盘:左上约(30,255)边长约330,每格约110×110,亮色线条画网格;三列中心x≈85/195/305,三行中心y≈310/420/530。玩家执X:点【空】格落X(亮色居中);随后AI执O,用受控random在剩余空格选一格落O(简单AI即可);点已占格忽略。胜负:任一行/列/对角线三格同色=该方胜;九格满且无三连=平局。顶部单行文本HUD:对局中显示轮到谁("X走"/"O走"),终局显示结果("X胜"/"O胜"/"平局")。【终态契约】分胜负或平局即进终态:把_forensicsView().state().phase置\'gameover\'并【驻留】,绝不自动重开/不下一帧复位回playing(宿主每500ms轮询phase);gameover下点棋盘一律忽略不重置。【务必导出可测状态】_forensicsView().state()返回纯只读实时真值,除phase外额外导出:result(null|\'X\'|\'O\'|\'draw\'),moves(整数,已落子数,开局0每落子+1),board(长9数组,行优先,元素null|\'X\'|\'O\'),targets(长9数组,元素{x,y,idx,occupied}:x/y为该格中心逻辑像素坐标、idx0..8、occupied是否已落子布尔)。harness依targets自动点空格真玩、依moves/phase验进展与终局。反馈:每次落子触发getEngine().particles.spawnEmitter粒子+getEngine().audio.synth.synthSfx音效;分胜负时额外明显反馈。网格线/X/O/文字均亮色实心,X与O视觉区分清晰。',
|
||
'0000000000000000000000000000000000000000000000000000000000009307',
|
||
0, 0, NULL, '', '', NULL, 'wg1-3bB-gen9307-001',
|
||
'0', NOW(), '0', NOW(), NULL, b'0', 0);
|
||
|
||
COMMIT;
|
||
|
||
SELECT 'project' k, id, status, current_version_id FROM game_project WHERE id=9307
|
||
UNION ALL SELECT 'version', id, status, game_id FROM game_version WHERE id=93070
|
||
UNION ALL SELECT 'runtime_pkg', id, status, version_id FROM game_runtime_package WHERE id=93070
|
||
UNION ALL SELECT 'feed_rank', id, status, version_id FROM game_feed_rank WHERE id=93070;
|
||
SELECT 'aigc_task' k, id, status, game_id, template_id, LEFT(prompt,24) prompt24, trace_id
|
||
FROM game_aigc_task WHERE trace_id='wg1-3bB-gen9307-001';
|