From 68a3fed554479a4ec880529b5bc4335f63b65830 Mon Sep 17 00:00:00 2001 From: Sylpheed RE agent Date: Mon, 24 Aug 2026 03:14:25 +0000 Subject: [PATCH] docs: note that catching a freeze is a per-run lottery, and the watcher that waits for it Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE --- docs/re/BACKLOG.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/re/BACKLOG.md b/docs/re/BACKLOG.md index f75f9851..689adafa 100644 --- a/docs/re/BACKLOG.md +++ b/docs/re/BACKLOG.md @@ -333,8 +333,11 @@ is what the autopilot needs in order to CHOOSE a target. One run in: 500. **Healthy-run control measured** — 27 lines over 25 minutes, all one thread polling one Event at guest VA `BE56BB5C` with a ~30 ms timeout, so the freeze signal is a **new (thread, object) pair**, not the presence of output. - 🟡 **Next:** catch a freeze with it — the run that measured the control never - froze. `frozen.py` detects the state in one call; `ob_hunt.py` / + 🟡 **Next:** catch a freeze with it. Two 25-minute runs in a row did **not** + freeze (the control is therefore measured twice: 27 and 24 lines, same single + pair), and the earlier freezes came in a cluster — so this is a ~30-minute + lottery per run rather than a dependable step. `freeze_watch.sh` waits for one + unattended and snapshots the probe at the moment it lands. `frozen.py` detects the state in one call; `ob_hunt.py` / `ob_flag.py` abort on it. **Roughly two runs in three.** See [`mission-freeze-resume-spin.md`](mission-freeze-resume-spin.md).