`/sylph-canary` was dead at both ends, measured rather than assumed:
* `run-canary-safe.sh` runs the Wine build and defaults to
`xenia_canary_i2d.exe`, which DOES NOT EXIST. The `xenia_canary.exe` that
does (2026-06-19) has ZERO strings for `audit_61_branch_probe_pcs` and zero
for `RE-INPUT`/`RE-DRAW` -- it predates all our instrumentation, and
refreshing it needs the clang-cl + xwin toolchain on `cross-build-wine`.
* both native launchers defaulted to
`xenia-canary-native/build/bin/Linux/Release/xenia_canary`. That directory
does not exist on this workspace -- the checkout is `xenia-canary/` -- and
Release is not even a target in that build tree (`ninja -n` lists 0 steps),
so its binary is frozen at 2026-08-28, before the probe.
Native launchers now default to
`xenia-canary/build/bin/Linux/Checked/xenia_canary`: the config this tree can
actually build, rebuilt today with the audit_61 probe (Canary PR #2), verified
by `strings` -- audit_61 8 hits, RE-INPUT/RE-DRAW 4. `Checked` is optimised WITH
assertions, which is what a behavioural reference should be: a bad state stops
loudly rather than being sampled.
The Wine launcher now ABORTS with the reason and points at the native one,
instead of failing somewhere downstream on a missing file.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
6.7 KiB
Executable File
6.7 KiB
Executable File