---
name: refusal-ladder-fires-per-machine
description: "A guard with several independent trigger rungs can fire from the RUNNER's environment on one box and from state on another — fixing the rung you reproduced leaves the other live."
metadata: 
  node_type: memory
  type: feedback
  originSessionId: 064b128e-50ee-43e6-9102-3ef87b834e36
  modified: 2026-08-02T09:13:33.096Z
---

When a guard refuses, read *which* rung refused. A predicate assembled from
several independent conditions (`ceremony_agent_ground()` in spt-core: env
markers `OWL_SESSION_ID`/`SPT_AGENT_ID`/`SPT_ENDPOINT_ID`, then pid-ancestry)
fires from **different sources on different machines**. Nothing sets those env
vars on a CI runner, so that rung is dead there and live whenever an agent runs
the suite from its own hosted session.

Consequence: a fix validated on the box where you reproduced it can leave the
other rung fully live, and the filing that reached you probably named only the
rung its author hit. releases#99 named the pid-ancestry rung; the env rung was
the one firing on hfenduleam.

**Why:** the refusal *message* usually names its rung — `($OWL_SESSION_ID is
set)` vs `(this process runs inside hosted session 'w5pull')`. That parenthetical
is the discriminator, and it is easy to skim past because the rest of the message
is identical.

**How to apply:**
- Read the guard's predicate to enumerate ALL rungs before fixing one. Close
  every rung, then mutation-prove each independently (neutralize the others so
  the arm under test is isolated — that is how the ancestry rung was shown
  load-bearing after the env rung was already scrubbed).
- Ask which rungs are *machine-dependent* and say so in the fix: CI-vs-dev-box
  divergence makes a rig quietly runner-dependent.
- Pair with [[start-event-is-not-proof-nothing-ran]]: a green test proves nothing
  about a side effect no assertion observes. Measure the resource (surviving
  process count by IMAGE PATH, so a live fleet's processes are not miscounted) on
  BOTH arms. See [[every-return-arm-is-a-copy]].
