Compare commits
5 Commits
fix/decode
...
c03e5c9bd0
| Author | SHA1 | Date | |
|---|---|---|---|
| c03e5c9bd0 | |||
|
|
43f0a905a0 | ||
| f732b5ac1a | |||
| 9414830ed7 | |||
| 884a2c3944 |
@@ -82,10 +82,16 @@ def committed() -> tuple[set[str], set[str]]:
|
|||||||
if fn == ".gitignore":
|
if fn == ".gitignore":
|
||||||
continue
|
continue
|
||||||
files.add(os.path.join(dirpath, fn).replace(os.sep, "/"))
|
files.add(os.path.join(dirpath, fn).replace(os.sep, "/"))
|
||||||
|
# 🔴 START AT 3, NOT 4 — 3 is `docs/re/captures` ITSELF. Starting at 4 built
|
||||||
|
# every sub-directory and never the root, so the eight pages that cite the
|
||||||
|
# directory as a whole ("evidence lives in `docs/re/captures/`") each looked
|
||||||
|
# like a citation of a file that does not exist, and the gate was red on a
|
||||||
|
# clean, correct tree. The selftest could not see it either: it took an
|
||||||
|
# arbitrary member of `dirs`, which is always a sub-directory.
|
||||||
dirs = set()
|
dirs = set()
|
||||||
for f in files:
|
for f in files:
|
||||||
parts = f.split("/")
|
parts = f.split("/")
|
||||||
for i in range(4, len(parts)): # docs/re/captures/<dir>/...
|
for i in range(3, len(parts)): # docs/re/captures[/<dir>/...]
|
||||||
dirs.add("/".join(parts[:i]) + "/")
|
dirs.add("/".join(parts[:i]) + "/")
|
||||||
return files, dirs
|
return files, dirs
|
||||||
|
|
||||||
@@ -182,6 +188,9 @@ def selftest() -> int:
|
|||||||
("real file passed", real_file, True),
|
("real file passed", real_file, True),
|
||||||
("directory reference passed", real_dir, True),
|
("directory reference passed", real_dir, True),
|
||||||
("directory without slash passed", real_dir.rstrip("/"), True),
|
("directory without slash passed", real_dir.rstrip("/"), True),
|
||||||
|
# The root is the case the arbitrary `real_dir` above can never be.
|
||||||
|
("captures root itself passed", ROOT, True),
|
||||||
|
("captures root without slash passed", ROOT.rstrip("/"), True),
|
||||||
("sentence punctuation stripped", real_file + ".", True),
|
("sentence punctuation stripped", real_file + ".", True),
|
||||||
]
|
]
|
||||||
# 🔴 THE SELFTEST USED TO PASS WHILE THE SCAN RETURNED NOTHING. It exercised
|
# 🔴 THE SELFTEST USED TO PASS WHILE THE SCAN RETURNED NOTHING. It exercised
|
||||||
|
|||||||
@@ -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.
|
# Paths derive from where this script sits — see the note in run-canary-safe.sh.
|
||||||
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
WORKSPACE="$(cd "$HERE/../.." && 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}"
|
BIN_EXE="${CANARY_BIN:-$BIN_DEFAULT}"
|
||||||
ISO="${SYLPHEED_ISO:-$WORKSPACE/Project Sylpheed - Arc of Deception (USA, Europe) (En,Ja).iso}"
|
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; }
|
[ -f "$ISO" ] || { echo "ABORT: no ISO at '$ISO' — set \$SYLPHEED_ISO"; exit 4; }
|
||||||
|
|||||||
@@ -24,7 +24,18 @@ set -u
|
|||||||
# Paths derive from where this script sits — see the note in run-canary-safe.sh.
|
# Paths derive from where this script sits — see the note in run-canary-safe.sh.
|
||||||
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
WORKSPACE="$(cd "$HERE/../.." && 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}"
|
BIN_EXE="${CANARY_BIN:-$BIN_DEFAULT}"
|
||||||
ISO="${SYLPHEED_ISO:-$WORKSPACE/Project Sylpheed - Arc of Deception (USA, Europe) (En,Ja).iso}"
|
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; }
|
[ -f "$ISO" ] || { echo "ABORT: no ISO at '$ISO' — set \$SYLPHEED_ISO"; exit 4; }
|
||||||
|
|||||||
@@ -57,7 +57,22 @@ rm -f xenia.log
|
|||||||
|
|
||||||
# Binary is overridable (default keeps the historical _i2d snapshot); extra
|
# Binary is overridable (default keeps the historical _i2d snapshot); extra
|
||||||
# cvars pass through via CANARY_EXTRA_ARGS (space-separated, values w/o spaces).
|
# 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}"
|
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)
|
args=(--log_level=3 --mute=true)
|
||||||
[ -n "$PROBES" ] && args+=("--audit_61_branch_probe_pcs=$PROBES")
|
[ -n "$PROBES" ] && args+=("--audit_61_branch_probe_pcs=$PROBES")
|
||||||
if [ -n "${CANARY_EXTRA_ARGS:-}" ]; then
|
if [ -n "${CANARY_EXTRA_ARGS:-}" ]; then
|
||||||
|
|||||||
Reference in New Issue
Block a user