Files
gplan-2/design/qa/conversion-calibration/collect_all.sh
T

40 lines
2.0 KiB
Bash

#!/bin/bash
# 换算率标定批·全量采集脚本(2026-09-23)
# 10 次采集顺序执行:7 个 OFAT 注入档直入口(n=100×双画像×两层,同 seed0 配对)
# + 3 个花费序战役(k=60×双画像)。产物 = production/qa/conversion-calibration/ 下
# 各档 .log/.vjson + 合并 calibration.raw.jsonl(判定端 --from-raw 消费)。
set -u
GODOT=/d/code/godot/Godot_v4.7.2-stable_win64_console.exe
SLICE=/d/code/g-plan2-conversion-calibration/game
QA=/d/code/g-plan2-conversion-calibration/production/qa/conversion-calibration
mkdir -p "$QA"
cd "$SLICE" || exit 1
run() {
local name=$1; shift
local t0=$(date +%s)
"$GODOT" --headless --path . --script res://smoke/verifier_batch.gd -- "$@" > "$QA/$name.log" 2>&1
local rc=$?
grep '^VJSON ' "$QA/$name.log" > "$QA/$name.vjson"
local rows=$(wc -l < "$QA/$name.vjson")
local errs=$(grep -cE 'SCRIPT ERROR|Parse Error' "$QA/$name.log")
echo "[$(date +%H:%M:%S)] done $name rc=$rc rows=$rows errs=$errs $(( $(date +%s) - t0 ))s"
}
echo "=== 换算率标定采集开跑 $(date +%F' '%H:%M:%S) ==="
run base n=100 levels=1,2 only=level seed0=8000
run hp3 n=100 levels=1,2 only=level seed0=8000 inject=max_hp:3
run hp6 n=100 levels=1,2 only=level seed0=8000 inject=max_hp:6
run atk1 n=100 levels=1,2 only=level seed0=8000 inject=atk:1
run atk2 n=100 levels=1,2 only=level seed0=8000 inject=atk:2
run ac1 n=100 levels=1,2 only=level seed0=8000 inject=armor_class:1
run ac2 n=100 levels=1,2 only=level seed0=8000 inject=armor_class:2
run camp_hp k=60 only=campaign seed0=8000 spend=hp_first
run camp_atk k=60 only=campaign seed0=8000 spend=atk_first
run camp_ac k=60 only=campaign seed0=8000 spend=armor_first
cat "$QA"/base.vjson "$QA"/hp3.vjson "$QA"/hp6.vjson "$QA"/atk1.vjson "$QA"/atk2.vjson \
"$QA"/ac1.vjson "$QA"/ac2.vjson "$QA"/camp_hp.vjson "$QA"/camp_atk.vjson "$QA"/camp_ac.vjson \
| sed 's/^VJSON //' > "$QA/calibration.raw.jsonl"
echo "=== 合并完成:$(wc -l < "$QA/calibration.raw.jsonl") 局 → $QA/calibration.raw.jsonl ==="