fix(canary): point the launchers at a binary that exists and is instrumented #63

Merged
fabi merged 1 commits from fix/canary-native-binary-path into main 2026-09-21 16:03:06 +00:00
Owner

/sylph-canary was dead at both ends. Measured, not assumed.

run-canary-safe.shxenia_canary_i2d.exe does not exist
the Wine xenia_canary.exe that does exist (2026-06-19) 0 audit_61, 0 RE-INPUT/RE-DRAW
both native launchers → xenia-canary-native/ directory does not exist (the checkout is xenia-canary/)
…and its Release config not a ninja target here (-n lists 0 steps), binary frozen at 2026-08-28

So the skill invoked a launcher that pointed at a missing file, and its fallback pointed at a missing directory.

Fix

Native launchers now default to xenia-canary/build/bin/Linux/Checked/xenia_canary — the config this build tree can actually produce, 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 instead of being quietly sampled.

The Wine launcher now aborts with the reason and redirects to the native one, instead of failing somewhere downstream on a missing file. Verified — it prints the abort and exits 4, after passing its Vulkan gate.

Both native launchers keep their hard software-Vulkan gate and headless behaviour unchanged; only the default binary path moved.

⚠️ The Wine cross-build is not fixed by this — refreshing it needs the clang-cl + xwin toolchain on cross-build-wine. Until someone does that, the native path is the instrumented one, and the skill has been repointed at it.

`/sylph-canary` was dead at **both** ends. Measured, not assumed. | | | |---|---| | `run-canary-safe.sh` → `xenia_canary_i2d.exe` | **does not exist** | | the Wine `xenia_canary.exe` that does exist (2026-06-19) | **0** `audit_61`, **0** `RE-INPUT`/`RE-DRAW` | | both native launchers → `xenia-canary-native/` | **directory does not exist** (the checkout is `xenia-canary/`) | | …and its `Release` config | not a ninja target here (`-n` lists **0 steps**), binary frozen at 2026-08-28 | So the skill invoked a launcher that pointed at a missing file, and its fallback pointed at a missing directory. ## Fix Native launchers now default to **`xenia-canary/build/bin/Linux/Checked/xenia_canary`** — the config this build tree can actually produce, 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 instead of being quietly sampled. The Wine launcher now **aborts with the reason** and redirects to the native one, instead of failing somewhere downstream on a missing file. Verified — it prints the abort and exits 4, after passing its Vulkan gate. Both native launchers keep their hard software-Vulkan gate and headless behaviour unchanged; only the default binary path moved. ⚠️ The Wine cross-build is not fixed by this — refreshing it needs the clang-cl + xwin toolchain on `cross-build-wine`. Until someone does that, the native path is the instrumented one, and the skill has been repointed at it.
fabi added 1 commit 2026-09-20 19:00:31 +00:00
fix(canary): point the launchers at a binary that exists and is instrumented
Some checks failed
CI / Native — linux (pull_request) Failing after 1h3m36s
CI / WASM — Web (pull_request) Successful in 24m29s
CI / Formatting (pull_request) Successful in 27s
884a2c3944
`/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>
fabi merged commit 9414830ed7 into main 2026-09-21 16:03:06 +00:00
Sign in to join this conversation.