From b847bac3bbf302d7f7593a3300519ef1f4ca2c52 Mon Sep 17 00:00:00 2001 From: Sylpheed RE agent Date: Mon, 24 Aug 2026 09:49:39 +0000 Subject: [PATCH] tools: warn that the Stop hook kills the emulator at every turn boundary Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE --- tools/re-capture/README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tools/re-capture/README.md b/tools/re-capture/README.md index a177fd05..2dfcc98e 100644 --- a/tools/re-capture/README.md +++ b/tools/re-capture/README.md @@ -60,3 +60,21 @@ kill -9 # look it up first, then kill by pid The `snapshot-bash` filter is the reliable tell: the wrapper's command line always contains the shell-snapshot path. + +## 🔴 The emulator does not survive the end of an agent turn + +`/work/.claude/settings.json` defines a **`Stop` hook** that `kill -9`s every +`xenia_canary` when a turn ends, printing *"Stop hook killed N stale xenia +process(es)"*. + +So: + +* **never** launch a run intending to read it in a later turn — it will be dead; +* an experiment has to produce its evidence **within the turn that starts it**; +* prefer measurements that land in the first minutes of flight. `REMAINING OB` + steps `4 → 8 → 12` inside the first few minutes, which is why a two-pass + differential works in one turn while a 25-minute freeze watch does not. + +This cost three iterations of investigating a "mysterious external SIGKILL", +complete with cgroup and host memory forensics, before the hook was found. When +a process dies at a session boundary, **check the harness first**.