One filter to select (004 -> 008, 35897 -> 7), a second on a transition it was NOT selected by (008 -> 012, 7 -> 1), leaving exactly one address; then three live paired readings, RAM/screenshot/RAM, all agreeing with the HUD. The address is the same one run 1 reported. That does NOT reverse yesterday's refutation and the entry says so explicitly: runs 2 and 3 read a hard 0 there on an allocated page while the HUD counted, so "it is there in every run" stays refuted. What is withdrawn is the stronger claim that the number was meaningless - it recurs exactly, in 2 of the 4 runs measured, and run 3's amber candidate 0xbdb49668 sits one 64 KB page below it at the identical page offset 0x9668. The practical rule is therefore: try 0xbdb59668, check it against the HUD, re-scan when it reads 0. Why run 3 failed and run 4 did not is also recorded, because it is a method lesson rather than luck: the evidence was always in the first four minutes of the stage, and the earlier runs simply could not look often enough - every HUD reading cost a human round trip, so the 008 step went by between two of them. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
35 lines
1.3 KiB
Bash
Executable File
35 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# One task: boot -> Stage 02 flight -> fly the survival pilot -> hunt for
|
|
# REMAINING OB in RAM against the HUD.
|
|
#
|
|
# The pilot is not decoration. An unattended craft is dead in about a minute
|
|
# (upstream-baseline.md), and a dead craft produces no transitions, which is
|
|
# exactly the evidence ob_hunt.py needs. Conversely the hunt does NOT depend on
|
|
# the pilot doing well: the counter climbs on its own as waves spawn in the first
|
|
# minutes of the stage, which is where both filters should land.
|
|
set -u
|
|
export HOME=/sylph-home/re SDL_AUDIODRIVER=dummy DISPLAY=:98
|
|
export PYTHONPATH=/sylph-home/.local/lib/python3.12/site-packages
|
|
SD="$(cd "$(dirname "$0")" && pwd)"
|
|
SECS="${1:-600}"
|
|
TAG="${2:-ob}"
|
|
SHOTS=/sylph-home/re/shots/$TAG
|
|
CFG=/tmp/nav-live.json
|
|
|
|
"$SD/launch_mission.sh" fly || { echo "BOOT FAILED"; exit 1; }
|
|
mkdir -p "$SHOTS"
|
|
|
|
if python3 "$SD/entities2.py" self 0x130 "$CFG" >/dev/null; then
|
|
echo "--- config: $(cat "$CFG")"
|
|
nohup python3 "$SD/pilot.py" "$CFG" "$SECS" </dev/null >"/tmp/$TAG-pilot.log" 2>&1 &
|
|
PILOT=$!
|
|
else
|
|
echo "BIND FAILED -- hunting an unattended craft, expect a short run"
|
|
PILOT=""
|
|
fi
|
|
|
|
python3 "$SD/ob_hunt.py" "$SHOTS" "${OB_TRANSITIONS:-3}" "$SECS"
|
|
rc=$?
|
|
[ -n "$PILOT" ] && kill "$PILOT" 2>/dev/null
|
|
echo "SESSION DONE (hunt rc=$rc)"
|