---
name: purge-dispatch-needs-store-root-from-source
description: "Never dispatch a destructive purge on an assumed store location — read the state root from the rig's source/run logs first; TempDir-per-run rigs are disk-hermetic and leave nothing to purge"
metadata: 
  node_type: memory
  type: feedback
  originSessionId: 718a99ef-6364-49c5-894b-72641b53dbf4
  modified: 2026-08-18T04:06:51.407Z
---

2026-08-17, v0.56.0 window: I dispatched hertz to purge "twohost subnet stored state" from box canonical homes, premised on my RCA claim that stale rows persisted across golden runs. The premise was WRONG by construction: both twohost rig roles create a fresh `TempDir` and set `SPT_HOME` inside the test process (twohost.rs:813-814/:1473-1474), the workflow redirects TEMP/TMP into per-run sandboxes under `_work/_temp/`, and job cleanup removes them. Canonical homes never held the state; the purge had NO target and, executed blind, would only have reached unrelated fleet state (deployah's perch + alchemy-0 nest on one target box — the 0.52.x bind-ABA shape).

**Why:** a stateful-looking symptom (stale cached rows) invites a "persisted somewhere" model, and the purge gets scoped to where state USUALLY lives (installed home) instead of where THIS subject writes. A wrong-root census then returns NO_SUCH_SUBNET — byte-identical to "already purged" ([two-memory-roots-diverged]-class hazard). hertz+deployah's discriminating arms: positive control on the same root (prove probe competence), then the actual root read from the run's own logs, never assumed.

**How to apply:** before dispatching ANY deletion of test/rig state, read where the subject roots its state from its source (`SPT_HOME`/TempDir/env redirects) and from the failing run's own logs; name file+sha for the location claim. If the rig is TempDir-per-run, cross-run disk persistence is impossible by construction — re-derive the staleness as intra-run (or wire-side) instead of purging. A zero from a census is evidence only after its root is proven to be the subject's root ([verify-the-subject-not-just-the-measurement]], [[a-predicate-without-its-tool-is-not-evidence]]).
