修复: 卡①T3——probe_gate --full 段落码四探针收编(ui_probe/ui_tune_probe/t17_defer_probe/fx_probe——游离闸外只能手敲→入重闸;timeout 120=实测 17.4/49.6/63.0/21.9s 的 2-7×余量;PASS 语义+退出码闸+残留批末闸随骨架)+头注释「shot_probe 禁入本闸……归真人目检」纪律句删除改写(2026-10-07 用户授权=历史偷懒标记;渲染面归 render_gate 正主)+轻闸默认段零删减零改动(--full 只增不改,契约红线②)。ui_layout_probe 零断言诊断件补最小布局断言转断言件(1280/1920 两档:基座 1280x800/顶层三区互斥不越界/board_view 含于 D 区/1920 档钉迭代 9 分辨率案甲契约——stretch=canvas_items 下逻辑视口与四区矩形恒定,分辨率维度不重复建闸;headless resize 实测生效;首跑 PASS 退出码 0;闸归属归卡③裁点②候裁本批不入闸)。probe_gate 两形态实测:默认段全绿+--click --full 全绿四探针全 PASS 残留 0
This commit is contained in:
1 parent
a7861aec5a
commit
c0c066da0c
2 files changed
+112
-5
No files matched your search
+52
-4
@@ -5,17 +5,21 @@
|
||||
# 段:ui_input_probe=默认必跑;ui_struct_probe=默认必跑(ui-struct-probe mini-loop 2026-10-05 注册——
|
||||
# 全 UI 屏结构断言:按钮互压/等宽/出屏/零尺寸/标题屏双列);ui_contrast_probe=默认必跑(UI 设计对齐批
|
||||
# T2 2026-10-06 注册——UI 文字对比度机检 ≥4.5:1 无区域例外,测点表随批维护);--click=加跑 ui_click_probe 行为走查
|
||||
# (自退出+退出码闸;超时多半=探针未适配新停点层,归 probe适配批);shot_probe 禁入本闸——
|
||||
# 必须窗口化运行(headless 无渲染面,探针内已有 fail-fast 护栏),归真人目检。
|
||||
# 用法: tools/probe_gate.sh [game目录] [--click] 缺省 game 目录=脚本所在仓库的 game/(worktree 内自动指向该 worktree)
|
||||
# (自退出+退出码闸;超时多半=探针未适配新停点层,归 probe适配批)。
|
||||
# --full 段(迭代 19 卡① T3 收编 2026-10-08——重闸件):ui_probe/ui_tune_probe/t17_defer_probe/fx_probe
|
||||
# 四件带断言探针收进(此前游离在一切闸外只能手敲);轻闸默认段断言面零删减零改动(--full 只增不改)。
|
||||
# 渲染面归 render_gate.sh 正主(窗口化:shot_probe 七屏+fx_shot/board_shot 取证+棋盘 golden 逐像素)——
|
||||
# 旧头注「shot_probe 禁入本闸……归真人目检」纪律句随三闸口径扩容改写退役(2026-10-07 用户授权=历史偷懒标记)。
|
||||
# 用法: tools/probe_gate.sh [game目录] [--click] [--full] 缺省 game 目录=脚本所在仓库的 game/(worktree 内自动指向该 worktree)
|
||||
# 依赖: Git Bash(coreutils timeout/taskkill) + PowerShell;Godot 路径可用环境变量 GODOT_BIN 覆盖。
|
||||
set -u
|
||||
G="${GODOT_BIN:-/d/code/godot/Godot_v4.7.2-stable_win64_console.exe}"
|
||||
REPO="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
GAME=""; WITH_CLICK=0
|
||||
GAME=""; WITH_CLICK=0; WITH_FULL=0
|
||||
for a in "$@"; do
|
||||
case "$a" in
|
||||
--click) WITH_CLICK=1 ;;
|
||||
--full) WITH_FULL=1 ;;
|
||||
*) GAME="$a" ;;
|
||||
esac
|
||||
done
|
||||
@@ -85,6 +89,50 @@ if [ "$WITH_CLICK" -eq 1 ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# ── --full 收编段(迭代 19 卡① T3 2026-10-08——四件带断言探针入闸;实测时长 ui_probe 17.4s/
|
||||
# ui_tune_probe 49.6s/t17_defer_probe 63.0s/fx_probe 21.9s,timeout 120=2-7×余量) ──
|
||||
if [ "$WITH_FULL" -eq 1 ]; then
|
||||
echo "======== ui_probe(--full 收编) ========"
|
||||
timeout 120 "$G" --headless --path "$GAME_WIN" res://smoke/ui_probe.tscn >"$TMP/flp.log" 2>&1
|
||||
st=$?; kill_orphans
|
||||
grep -E "\[ui_probe\]" "$TMP/flp.log" | tail -2
|
||||
if [ "$st" -eq 124 ] || [ "$st" -eq 137 ]; then
|
||||
echo "[probe_gate] FAIL — ui_probe 超时挂死(exit=$st),孤儿已清"; _rc=1
|
||||
elif ! grep -q "PASS" "$TMP/flp.log"; then
|
||||
echo "[probe_gate] FAIL — ui_probe 未见 PASS(exit=$st)"; _rc=1
|
||||
fi
|
||||
|
||||
echo "======== ui_tune_probe(--full 收编) ========"
|
||||
timeout 120 "$G" --headless --path "$GAME_WIN" res://smoke/ui_tune_probe.tscn >"$TMP/flt.log" 2>&1
|
||||
st=$?; kill_orphans
|
||||
grep -E "\[tune_probe\]" "$TMP/flt.log" | tail -2
|
||||
if [ "$st" -eq 124 ] || [ "$st" -eq 137 ]; then
|
||||
echo "[probe_gate] FAIL — ui_tune_probe 超时挂死(exit=$st),孤儿已清"; _rc=1
|
||||
elif ! grep -q "PASS" "$TMP/flt.log"; then
|
||||
echo "[probe_gate] FAIL — ui_tune_probe 未见 PASS(exit=$st)"; _rc=1
|
||||
fi
|
||||
|
||||
echo "======== t17_defer_probe(--full 收编) ========"
|
||||
timeout 120 "$G" --headless --path "$GAME_WIN" res://smoke/t17_defer_probe.tscn >"$TMP/fld.log" 2>&1
|
||||
st=$?; kill_orphans
|
||||
grep -E "\[t17_defer\]" "$TMP/fld.log" | tail -2
|
||||
if [ "$st" -eq 124 ] || [ "$st" -eq 137 ]; then
|
||||
echo "[probe_gate] FAIL — t17_defer_probe 超时挂死(exit=$st),孤儿已清"; _rc=1
|
||||
elif ! grep -q "PASS" "$TMP/fld.log"; then
|
||||
echo "[probe_gate] FAIL — t17_defer_probe 未见 PASS(exit=$st)"; _rc=1
|
||||
fi
|
||||
|
||||
echo "======== fx_probe(--full 收编) ========"
|
||||
timeout 120 "$G" --headless --path "$GAME_WIN" res://smoke/fx_probe.tscn >"$TMP/flx.log" 2>&1
|
||||
st=$?; kill_orphans
|
||||
grep -E "\[fx_probe\]" "$TMP/flx.log" | tail -2
|
||||
if [ "$st" -eq 124 ] || [ "$st" -eq 137 ]; then
|
||||
echo "[probe_gate] FAIL — fx_probe 超时挂死(exit=$st),孤儿已清"; _rc=1
|
||||
elif ! grep -q "PASS" "$TMP/flx.log"; then
|
||||
echo "[probe_gate] FAIL — fx_probe 未见 PASS(exit=$st)"; _rc=1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "======== 残留检查(批末闸) ========"
|
||||
left="$(orphans | wc -l | tr -d ' ')"
|
||||
total="$(tasklist 2>/dev/null | grep -ci '^Godot' || true)"
|
||||
|
||||
Reference in new issue
Block a user