---
name: live-agent-env-reds-broker-stop-rigs
description: "A test that runs a broker-stopping verb reds under an inherited live-agent env — the shipped guard (roster.rs reads OWL_SESSION_ID / SPT_AGENT_ID / SPT_ENDPOINT_ID) refuses DAEMON_STOP_REFUSED; rig needs an env scrub, and the env-differential on one tree beats a base-sha comparison"
metadata: 
  node_type: memory
  type: project
  originSessionId: 3ee85124-e0ea-489b-bcd7-2b2179af62ab
  modified: 2026-08-17T22:51:53.604Z
---

Measured by todlando 2026-08-17 (tree 27d40b9 + NAMEPLATE W1, `attach_wedge_e2e`): run with
live-agent env intact → RED `DAEMON_STOP_REFUSED: a broker-stopping command is never run by an
spt endpoint` ($OWL_SESSION_ID set); cleared → refusal moves to $SPT_ENDPOINT_ID (same guard,
next leg — roster.rs:191 reads all three of OWL_SESSION_ID, SPT_AGENT_ID, SPT_ENDPOINT_ID);
all three cleared → GREEN 7.63s. Same tree, same sha, only env differs.

**Why:** any agent-run gate inherits the agent's identity vars, so every test exercising a
broker-stopping verb hits the releases#1 guard — the guard is CORRECT, the rig lacks isolation.
The red reads as a product/seam failure and invites a false RCA.

**How to apply:** (1) rigs that touch daemon-stop verbs scrub the three identity vars for the
child under test (fix owned by hertz's queue); (2) when a test reds only under your session,
run the env-differential on the SAME tree before any base-sha comparison — it discriminates
environment-vs-diff more directly ([[verify-the-subject-not-just-the-measurement]]); (3) a
red-at-base claim without that run is a prediction, label it so. Kin:
[[bystander-test-reads-process-global]], [[live-agents-lock-target-debug-spt-exe]] (the same
failing run's orphans then lock target\debug\spt.exe and the NEXT run's build fails
Access-denied — read that as teardown residue, not a compile error).
