--- name: verify-and-run description: Build, launch and verify a reconstruction against the original binary, which is the oracle - ud build error summaries, ud run (capture stdout/stderr and log files, window screenshots on Windows, Linux and macOS, kill by exact PID at a timeout), side-by-side runs and ud run --compare for deterministic output, repeatable scenarios (seeds, scripted input, traces), and the 3-strike circuit breaker. Use whenever the reconstruction must be built, run, tested, compared with the original, or when something fails repeatedly. --- # Verify and run The original binary's behaviour is the reference; your reading of the code is not. A function is `verified` only when the original and the reconstruction agree on something observable. ## Build ```bash ud build # Release by default ([build] in ud.toml), 64-bit with MSVC ud build --config Debug -D UD_WITH_SDL=OFF ud build --json # {ok, errors: [{file, line, code, message}], log} ``` Read the first error only, fix it, rebuild. The full log is `build/ud-build.log`. ## Run ```bash ud run --timeout 20 --shot # rebuilt: stdout/stderr, logs, a screenshot at 5 s, killed at 20 s ud run --original --timeout 20 --shot # the original, same capture ud run --compare -- --seed 42 # both with the same args: identical stdout and exit code? ud run --json -- ``` - Output goes to `build/ud-run/-