diff --git a/tools/run-canary-native-safe.sh b/tools/run-canary-native-safe.sh index ab9b7cdb..5ed5ea59 100755 --- a/tools/run-canary-native-safe.sh +++ b/tools/run-canary-native-safe.sh @@ -32,7 +32,18 @@ export ALSA_CONFIG_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/asound-nu # Paths derive from where this script sits — see the note in run-canary-safe.sh. HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" WORKSPACE="$(cd "$HERE/../.." && pwd)" -BIN_DEFAULT="$WORKSPACE/xenia-canary-native/build/bin/Linux/Release/xenia_canary" +# 🔴 THE INSTRUMENTED BINARY IS THE `Checked` ONE, and it is the only config this +# build tree can produce: `ninja -n bin/Linux/Release/xenia_canary` lists ZERO +# steps, so Release is not a target here and its binary still dates from +# 2026-08-28, before the audit_61 probe existed. Pointing at Release therefore +# runs an oracle with no probe and no way to refresh it. +# +# The old default named `xenia-canary-native/`, a directory that does not exist +# on this workspace at all -- the checkout is `xenia-canary/`. +# +# `Checked` is optimised WITH assertions, which is what you want from a +# behavioural reference: a bad state stops loudly instead of being sampled. +BIN_DEFAULT="$WORKSPACE/xenia-canary/build/bin/Linux/Checked/xenia_canary" BIN_EXE="${CANARY_BIN:-$BIN_DEFAULT}" ISO="${SYLPHEED_ISO:-$WORKSPACE/Project Sylpheed - Arc of Deception (USA, Europe) (En,Ja).iso}" [ -f "$ISO" ] || { echo "ABORT: no ISO at '$ISO' — set \$SYLPHEED_ISO"; exit 4; } diff --git a/tools/run-canary-native.sh b/tools/run-canary-native.sh index 19db4705..7d207e9c 100755 --- a/tools/run-canary-native.sh +++ b/tools/run-canary-native.sh @@ -24,7 +24,18 @@ set -u # Paths derive from where this script sits — see the note in run-canary-safe.sh. HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" WORKSPACE="$(cd "$HERE/../.." && pwd)" -BIN_DEFAULT="$WORKSPACE/xenia-canary-native/build/bin/Linux/Release/xenia_canary" +# 🔴 THE INSTRUMENTED BINARY IS THE `Checked` ONE, and it is the only config this +# build tree can produce: `ninja -n bin/Linux/Release/xenia_canary` lists ZERO +# steps, so Release is not a target here and its binary still dates from +# 2026-08-28, before the audit_61 probe existed. Pointing at Release therefore +# runs an oracle with no probe and no way to refresh it. +# +# The old default named `xenia-canary-native/`, a directory that does not exist +# on this workspace at all -- the checkout is `xenia-canary/`. +# +# `Checked` is optimised WITH assertions, which is what you want from a +# behavioural reference: a bad state stops loudly instead of being sampled. +BIN_DEFAULT="$WORKSPACE/xenia-canary/build/bin/Linux/Checked/xenia_canary" BIN_EXE="${CANARY_BIN:-$BIN_DEFAULT}" ISO="${SYLPHEED_ISO:-$WORKSPACE/Project Sylpheed - Arc of Deception (USA, Europe) (En,Ja).iso}" [ -f "$ISO" ] || { echo "ABORT: no ISO at '$ISO' — set \$SYLPHEED_ISO"; exit 4; } diff --git a/tools/run-canary-safe.sh b/tools/run-canary-safe.sh index 108ee28e..5d7d62b3 100755 --- a/tools/run-canary-safe.sh +++ b/tools/run-canary-safe.sh @@ -57,7 +57,22 @@ rm -f xenia.log # Binary is overridable (default keeps the historical _i2d snapshot); extra # cvars pass through via CANARY_EXTRA_ARGS (space-separated, values w/o spaces). +# ⚠️ THIS WINE BUILD HAS NO INSTRUMENTATION AND CANNOT BE REFRESHED HERE. +# Measured 2026-09-20: `xenia_canary_i2d.exe` does not exist at all, and the +# `xenia_canary.exe` that does (2026-06-19) has ZERO hits for both +# `audit_61_branch_probe_pcs` and `RE-INPUT`/`RE-DRAW`. Rebuilding it needs the +# clang-cl + xwin cross toolchain on the `cross-build-wine` branch. +# +# 🔴 FOR PROBE RUNS USE `run-canary-native-safe.sh` INSTEAD -- same hard Vulkan +# gate, same headless behaviour, and it runs the Checked native binary, which +# carries audit_61 and the RE-INPUT/RE-DRAW logging. BIN_EXE="${CANARY_BIN:-xenia_canary_i2d.exe}" +if [ ! -f "$BIN/$BIN_EXE" ]; then + echo "ABORT: no Wine binary at $BIN/$BIN_EXE" >&2 + echo " This build is stale and uninstrumented; use run-canary-native-safe.sh" >&2 + echo " for anything needing audit_61 or the RE-* logging." >&2 + exit 4 +fi args=(--log_level=3 --mute=true) [ -n "$PROBES" ] && args+=("--audit_61_branch_probe_pcs=$PROBES") if [ -n "${CANARY_EXTRA_ARGS:-}" ]; then