tools: warn that the Stop hook kills the emulator at every turn boundary

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PMRJjbxLqZtsb5Vb7KunPE
This commit is contained in:
Sylpheed RE agent
2026-08-24 09:49:39 +00:00
parent e64551f2e9
commit b847bac3bb

View File

@@ -60,3 +60,21 @@ kill -9 <explicit pid> # 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**.