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>
91 lines
5.9 KiB
SQL
91 lines
5.9 KiB
SQL
-- ============================================================================
|
||
-- P3·3b-B 派发面终局 e2e·四态脚手架 + generic 生成任务(gameId=9306,一句话真生成·主路)
|
||
-- 缘由:W-G1 派发面「视觉终局演示」主路——一句话点击/tap 休闲款经执行器派发面真生成入 feed 真玩。
|
||
-- brief 显式给足命中机制(目标半径≥40px、点中=点击落半径内得1分、30s 倒计时),避开 3b-B 的 hit-detection 坑。
|
||
-- driver 类型=tap-targets(与已验证过九门的 tictactoe/打地鼠同族),便宜模型 flash 已实证相当能干。
|
||
-- 本脚本建:① 已发布 project(gameId=9306)+占位 version(93060)+占位 pkg+feed_rank(四态成立);
|
||
-- ② game_aigc_task 一行(status=0 queued, template_id=generic, game_id=9306, prompt=一句话创意),
|
||
-- 供执行器 @Scheduled 扫到 → CAS 认领(0→1) → dispatchGeneric 投 worker :9401。
|
||
-- 回调链会另建【新】version(N)+runtime_package(engineBundle=worker 真生成 bundle);随后跑 flip 翻 feed。
|
||
-- ID:gameId=9306 / 占位 versionId=93060 / pkgId=93060 / feedRankId=93060 / taskId 自增(与 9301..9305 零碰撞)
|
||
-- trace_id:'wg1-3bB-gen9306-001'(贯穿全链;worker 回调 reqVO.traceId 须与此一致)
|
||
-- 手工 seed 行 creator/updater 填 '0'(DefaultDBFieldHandler 无登录态取不到 userId 的同根因兜底)
|
||
-- tenant:staging tenant.enable=false → tenant_id=0
|
||
-- 幂等:先 DELETE 同 gameId/占位 ID 行 + 同 trace_id 任务再 INSERT(纯重建,可重复执行)。
|
||
-- 用法: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-gen9306-001';
|
||
DELETE FROM game_feed_rank WHERE game_id = 9306;
|
||
DELETE FROM game_runtime_package WHERE game_id = 9306;
|
||
DELETE FROM game_version WHERE game_id = 9306;
|
||
DELETE FROM game_project WHERE id = 9306;
|
||
|
||
-- ① project:已发布(status=4),current_version_id 先指占位 93060(flip 后改指回调新版本 N)
|
||
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
|
||
(9306, 1, '点击打靶(generic 真生成·回调入feed)', 'P3 W-G1 派发面视觉终局:一句话「点击不断出现的目标得分」经 worker 真生成 GameHostFactory 过九门,回调携 engineBundle 入 feed 真玩',
|
||
'data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==',
|
||
'P3,3b-B,dispatch,generic,real-gen,tap-targets', 'generic', 'all',
|
||
4, 93060, NULL, b'0', 0, 0,
|
||
'0', NOW(), '0', NOW(), b'0', 0);
|
||
|
||
-- ② 占位 version:已发布(status=3),仅供脚手架四态成立;回调会另建新 version(N)
|
||
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
|
||
(93060, 9306, 1, NULL, '', 0, '',
|
||
3, '0', NOW(), '0', NOW(), b'0', 0);
|
||
|
||
-- ③ 占位 runtime_package:status=1 + 空 package_json(占位包;flip 前 feed 卡指它,flip 后指回调新包)
|
||
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
|
||
(93060, 9306, 93060, 'generic', '', 'index.html', '1.0.0', 'eager',
|
||
0, '', 'allow-scripts', '', 1,
|
||
'0', NOW(), '0', NOW(), b'0', 0, NULL);
|
||
|
||
-- ④ feed_rank:zone_id=0(混合流) + status=1 入流(flip 后把 version_id 改指回调新版本 N)
|
||
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
|
||
(93060, 9306, 93060, 0, 0.0000, 0.0000, 0.0000, 0, 1,
|
||
'0', NOW(), '0', NOW(), b'0', 0);
|
||
|
||
-- ⑤ generic 生成任务:status=0 queued → 执行器 @Scheduled 扫到 CAS 认领 → dispatchGeneric 投 worker
|
||
-- prompt=一句话创意(tap-targets 型,命中机制写死:目标半径≥40px、点中得1分、30s 倒计时、分数顶部显示);
|
||
-- prompt_hash 给占位非空值(NOT NULL char(64);缓存键,本端到端不依赖命中);
|
||
-- failure_reason/result_package_url 占位空串(NOT NULL)。
|
||
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, 9306, NULL, 'generic',
|
||
'点击屏幕上不断随机出现的圆形目标,目标半径至少40像素,当点击落在某个目标的半径范围内即命中该目标得1分并让它消失,30秒倒计时结束游戏,当前分数和剩余秒数显示在屏幕顶部',
|
||
'0000000000000000000000000000000000000000000000000000000000009306',
|
||
0, 0, NULL, '', '', NULL, 'wg1-3bB-gen9306-001',
|
||
'0', NOW(), '0', NOW(), NULL, b'0', 0);
|
||
|
||
COMMIT;
|
||
|
||
-- 回读四态 + 任务
|
||
SELECT 'project' k, id, status, current_version_id FROM game_project WHERE id=9306
|
||
UNION ALL SELECT 'version', id, status, game_id FROM game_version WHERE id=93060
|
||
UNION ALL SELECT 'runtime_pkg', id, status, version_id FROM game_runtime_package WHERE id=93060
|
||
UNION ALL SELECT 'feed_rank', id, status, version_id FROM game_feed_rank WHERE id=93060;
|
||
SELECT 'aigc_task' k, id, status, game_id, template_id, LEFT(prompt,30) prompt30, trace_id
|
||
FROM game_aigc_task WHERE trace_id='wg1-3bB-gen9306-001';
|