re: the Turret-biased run was void -- the guest was frozen from t=0

SYLPH_PREFER=Turret, escort at 100%, 1070s, phase field 0 throughout, 4029
Turret-targeting pilot samples. It looked like a clean negative -- 'hunting the
objective squadrons does not advance the phase' -- and it is worthless:
frozen.py reports max_pixel_delta=0, and the pilot's first sample at t=0.0
already has spd=0 with the same yaw/pitch/target/d=7186 it still had at 1070s.
The mission froze on entry to flight and nothing was ever shot, while screen_id
said 'flight' the whole time.

I was one step from writing this up as a fact about the game; running the freeze
test rather than trusting a plausible log is what caught it.

phase_probe.py now calls frozen.py every 60s and prints a GUEST FROZEN banner
inline, so a dead-world reading is labelled in the data instead of discovered
later. Note frozen.frozen() returns a TUPLE (is_frozen, max_delta) -- testing it
directly is always truthy and would have made the witness fire on every check.
Verified against the frozen guest.

Also recorded: the pilot log is itself a freeze witness -- identical
yaw/pitch/target across thousands of samples is a dead world, not patience.
This commit is contained in:
Sylpheed RE agent
2026-08-25 13:42:54 +00:00
parent 917083275d
commit 6a192682e3
2 changed files with 57 additions and 0 deletions

View File

@@ -206,6 +206,37 @@ The user's correction stands on the data: `UN_e007_ADAN_Turret` is flown by
30-slot craft formation — never `AI_Structure`. It is an enemy the player fights,
not a gun bolted to a capital ship.
## 🔴 2026-08-25 — the Turret-biased run was VOID: the guest was frozen
Ran it: `SYLPH_PREFER=Turret`, escort intact (`ast=100.0%`), 1070 s. The phase
field read **0** throughout and the pilot logged **4029** Turret-targeting
samples. That looked like a clean negative — "hunting the objective squadrons
does not advance the phase" — and it is **worthless**.
`frozen.py` says `max_pixel_delta=0`: **the guest was frozen**, and the pilot's
very first sample at `t=0.0` already shows `spd=0` with the same yaw, pitch,
target and `d=7186` that it still had at 1070 s. The mission froze on entry to
flight; nothing was ever shot. `screen_id` said `flight` the whole time, which is
precisely the trap [mission-freeze-resume-spin](mission-freeze-resume-spin.md)
documents.
**I was one step from writing this up as a result about the game.** What saved it
was running the freeze test rather than trusting a plausible-looking log — the
same lesson that note already carries, arrived at again from the other side.
### ✅ Fixed so it cannot recur silently
`phase_probe.py` now calls `frozen.py` every 60 s and prints
`*** GUEST FROZEN ***` inline, so a dead-world reading is labelled in the data
rather than discovered afterwards. ⚠️ `frozen.frozen()` returns a **tuple**
`(is_frozen, max_delta)` — testing it directly is always truthy and would have
made the witness fire on every check; it must be unpacked. Verified against the
frozen guest: the banner fires, and the unpacked value is `(True, 0)`.
**The pilot log is itself a witness** and was not being read as one: identical
yaw/pitch/target across thousands of samples means a dead world, not a patient
pilot.
### 🟡 The prediction to test
If phase 1 clears on those three squadrons dying, then destroying **27 Turrets**