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:
@@ -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**.
|
||||
|
||||
Reference in New Issue
Block a user