games-development-ai/game-cloud/scripts/p3bB_scaffold_gen9306.sql
zizi 238ec2dbe8 test(aigc-3b-B): 视觉终局达成——真游戏真玩入 feed(亲眼验);一句话现生成腿缺口=tap类driver:none→L1
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>
2026-06-15 00:48:50 +00:00

91 lines
5.9 KiB
SQL
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.

-- ============================================================================
-- 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。
-- IDgameId=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 的同根因兜底)
-- tenantstaging 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 先指占位 93060flip 后改指回调新版本 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_packagestatus=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_rankzone_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';