@echo off REM ============================================================ REM CPU REBASELINE (25/08/2026) -- regenerate app/demo_analyzer/ REM from the CPU pipeline, replacing the GPU bundle of 14/08. REM REM Why this run happened (design decision, Cowork 25/08): REM The packaged demo set came from a CUDA worker (14/08, run REM c9fda71c). CUDA does NOT reproduce: 13-14/08 the same REM input/model/thresholds differed in 131 cells between two REM runs and ShotNet amplified that into a different spin REM class. The CPU path DOES reproduce bit for bit on the same REM machine (three-way check 24/08). The Space runs on CPU, so REM the shipped demo now comes from the CPU path -- and the REM older "do not re-run" rule in app/demo_analyzer/README.md, REM written for the GPU era, is replaced by "the same host MUST REM reproduce these numbers exactly". REM Second reason: the 14/08 JSON still carries Vietnamese REM strings (spin_evidence). Server strings were translated on REM 24/08, so a fresh run produces English data by itself -- REM no hand-editing of worker output. REM REM Same two inputs as run A2b (14/08) and run C (24/08): REM VOD rack_5245_5805.mp4 (Florida Open, 52:45-58:05) REM corners [[527.5,869.7],[1380.1,864.0], REM [1232.3,278.5],[673.0,272.8]] REM CPU environment: poolcoach-cv-env carries torch 2.12.1+cpu, REM so there is no CUDA to fall back to; POOLCOACH_CV_DEVICE=cpu REM states it anyway. REM REM Acceptance gate (BRIEF 25/08, step B): REM 14/14 shots must match column C of REM poolcoach-logs\results\2026-08-24_analyzer-three-way\ REM three_way.json on EVERY field (n_collisions, analytic REM v0/phi, shotnet v0/phi, the suspect valve flag). Exact REM match, no +-2 tolerance: same host, same CPU path. Any REM difference is a regression after the PR #3 merge, NOT REM noise -- stop and report, never re-run until it matches. REM REM No app or Redis has to be running: the driver starts the app REM in local mode (POOLCOACH_LOCAL_CV=1), which runs the very REM functions of scripts/cv_worker.py on a thread of the same REM process -- the same code path as the Hugging Face Space. REM ============================================================ setlocal set PYTHONUTF8=1 set PYTHONDONTWRITEBYTECODE=1 set POOLCOACH_LOCAL_CV=1 set POOLCOACH_CV_DEVICE=cpu set POOLCOACH_APP_ROOT=D:\poolcoach\poolcoach-app set POOLCOACH_ANALYZER_DIR=D:\poolcoach\out_cpu_rebaseline_20260825 set POOLCOACH_REBASELINE_VOD=D:\Khoa luan\poolcoach-rl\datasets\bb9_pilot\rack_a1\rack_5245_5805.mp4 set PY=D:\poolcoach\poolcoach-cv-env\Scripts\python.exe if not exist "%POOLCOACH_ANALYZER_DIR%" mkdir "%POOLCOACH_ANALYZER_DIR%" "%PY%" "D:\poolcoach\run_analyzer_cpu_rebaseline.py" echo [rebaseline] exit code %ERRORLEVEL% endlocal