From 4e3e3e94467a9143877d89bd65b210bd54dc511c Mon Sep 17 00:00:00 2001 From: Sylpheed RE agent Date: Sun, 23 Aug 2026 19:10:57 +0000 Subject: [PATCH] docs: open the "what does REMAINING OB count" item, with the freeze noted as the blocker in front of it Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE --- docs/re/BACKLOG.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/re/BACKLOG.md b/docs/re/BACKLOG.md index b6fff79a..5dffe8af 100644 --- a/docs/re/BACKLOG.md +++ b/docs/re/BACKLOG.md @@ -259,6 +259,31 @@ The follow-on that the autopilot actually needs is unchanged and untouched: ❔ what the counter counts, and whether an `OB`-badged entity carries a flag in its entity object. +## What `REMAINING OB` counts — and an in-mission freeze in the way + +**2026-08-23.** The address is settled (above); *what it counts* is not, and it +is what the autopilot needs in order to CHOOSE a target. One run in: + +* 🔴 **Not a live class head-count.** Counter 4 against 8 attackers / 7 friendly + Delta Sabers / 7 turrets / 1 player — no class matches, no pair sums to it. +* ❔ **20 candidate per-entity flag offsets** exist (offsets where exactly 4 of + 23 entities share a value) and have **never been put to the second test**, + because the guest froze before the counter could move. +* 🔴 **An in-mission freeze**, intermittent: this run stopped advancing ~10 s + into flight — 724 s of identical `pilot.py` state, two screenshots six seconds + apart byte-identical — while `screen_id` said `flight`, the emulator burned + 212 % CPU and every liveness check passed. `frozen.py` detects it in one call + now, and `ob_hunt.py`/`ob_flag.py` abort on it instead of waiting out a + timeout. **What causes it is untouched.** + +**First step:** re-run `ob_flag.py` on a run that is advancing — it aborts early +now if it is not. Second step, if that comes back empty: `entities2.typed` only +sees entities whose position *changes*, so a stationary objective is invisible to +it, and the enumeration itself would need widening before a null result means +anything. + +See [`mission-freeze-and-ob-flag.md`](mission-freeze-and-ob-flag.md). + ## The declaration table is not a paint order on every screen **Found 2026-08-17**, building the Explorer's UI Screens browser on