sots-re/verify/harness/cb/cbfull.sh
alex 954f3cec63 CB: the turn-command stream, captured and bound to the autosave it produced
Canonical pair turn2->turn3: the complete block set, the three heap payloads no
previous capture could read (route [272], list-10 [1728], the 24-byte Population
body), the three AI client seeds, and both output autosaves -- byte-identical to the
published oracle AND to this lane's own hooks=off control, so the stream and the save
come from the same run and the instrument did not change the turn it recorded.

Creation turn turn1->turn2: three runs. Pinning the AI client seeds to the values an
earlier run observed made a DIFFERENT process reproduce that run's block -- including
the research pick that varies -- and its autosave byte for byte. The workload three
lanes could not reproduce is reproducible given the seeds.

Two corrections to lane L4's list-23 reading (no trailing int; the body is not
turn-dependent) and one to my own list-5 record, the latter found by lane RB while
consuming this capture.

Format: JSON (raw words are ground truth, decoded is a typing) plus lane RB's own .tcb
grammar with the heap payloads filled in, so RB's reader consumes it unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ARBgSooAfokKUy6wKUKEyZ
2026-09-08 19:18:57 -04:00

29 lines
1.7 KiB
Bash
Executable file

#!/usr/bin/env bash
# lane CB: deploy -> launch -> load <row> -> End Turn -> collect. One click per call, and the
# main menu is POLLED for, never slept for: the >60 s startup is on the board four times and it
# cost this lane one run before the poller existed.
set -e
TAG=$1; ROW_Y=$2; NAME=$3
cd /home/alex/sots-re
V=re@192.168.10.146
step() { ./dumps/cbstep.sh "$1" >/dev/null 2>&1; sleep "${2:-3}"; }
ssh $V "powershell -ExecutionPolicy Bypass -File C:\\SOTS\\cb\\cbdeploy.ps1 -Tag $TAG" | grep -E "^tag:|^build:|launched|NOT RUNNING"
step 'key {ESC};;sleep 1500;;key {ESC};;sleep 1500;;key {ESC};;sleep 1500;;key {ESC};;sleep 1500' 2
uv run --with pillow python3 dumps/cbmenu.py 300 | tail -2
step 'fg;;sleep 500;;move 512 536;;sleep 400;;click 512 536;;sleep 2500' 3
step 'click 512 536;;sleep 2500' 3
step 'move 512 290;;sleep 400;;click 512 290;;sleep 1200;;click 512 290;;sleep 2000' 3
step 'move 551 523;;sleep 400;;click 551 523;;sleep 3000' 4
step "move 350 $ROW_Y;;sleep 400;;click 350 $ROW_Y;;sleep 2000" 3
step 'move 682 624;;sleep 400;;click 682 624;;sleep 4000' 5
step 'move 511 663;;sleep 400;;click 511 663;;sleep 3000' 3
echo "waiting for load..."
until ssh $V "Select-String -Path C:\\SOTS\\shim.aiorders.txt -Pattern 'aibatch' -Quiet" 2>/dev/null | grep -q True; do sleep 6; done
sleep 25
uv run --with pillow python3 tools/vmshot.py --ssh --one 146 | tail -1
step 'move 100 714;;sleep 500;;click 100 714;;sleep 3000' 3
echo "end turn issued, waiting for autosave..."
until ssh $V "Test-Path 'C:\\SOTS\\SavedGames\\(Autosave).sav'" 2>/dev/null | grep -q True; do sleep 6; done
sleep 20
ssh $V "powershell -ExecutionPolicy Bypass -File C:\\SOTS\\cb\\cbgrab.ps1 -Name $NAME"