---
name: relay-is-not-the-gaters-word
description: "A peer reporting that the gater dispatched or lifted something is context, not the order — hold until the gater says it directly. Ruled the standard by doyle 2026-08-03 after it caught two relays in two sessions."
metadata: 
  node_type: memory
  type: feedback
  originSessionId: a842d896-2d4b-467b-9e55-1c73ce231668
  modified: 2026-08-04T22:01:24.601Z
---

A peer relaying a dispatch is not the gater issuing one, and a peer reporting a lift is not the
lift. Both times the relayed content was CORRECT and USEFUL — and holding it unexecuted still cost
only minutes, while acting on it would have spent the thing the hold was protecting.

Measured twice:

- **deployah, prior session.** Sent full a4 RCA evidence opening with "the RCA doyle just dispatched
  you on". All of it accurate. I held; doyle's own word arrived minutes later and I moved. deployah
  independently confirmed he had lifted nothing.
- **hertz, 2026-08-03.** Reported his quiet arms done, zero cargo/rustc, pool claim released — and
  carried doyle's attempt-5 pause order second-hand. An idle box is not a released box. Asked doyle
  directly; doyle's answer INVERTED what the relay implied was available: the pause covers my build,
  `clippy --workspace` is exactly the multi-minute load the quiet-legs datum cannot tolerate, and the
  fire could land mid-build. hertz, asked plainly, refused to grant clearance himself — "not in my
  lane" — which is the same rule read from the sender's side.

doyle ruled it the standard, unprompted: **dispatches and lifts come from the gater; relays are
context.**

**Why:** a relay compresses two separable facts — what the gater decided, and what the relayer
believes it licenses — into one sentence, and only the first is the gater's. The relayer is usually
right about the decision and routinely wrong about its scope, because scope is the gater's job.
Kin to [[delivery-confirmation-is-a-claim-too]] and [[ruling-rests-on-a-premise]]: the premise a
relay hands you is not the premise the ruling was made on.

**THIRD INSTANCE, and it is the one I authored (2026-08-04, fleet-0.53.0 window).** flynn reported
that `lia`'s single `allow endpoint:ball-b` rule was WHITELIST semantics that would silently refuse
every other sender once the box enforced at ≥0.53.0. I verified the STORE — one endpoint, one rule,
exactly as reported — and then broadcast his SEMANTIC reading twice (close + lift) without checking
it. Refuted at source: `AccessStore::decide()` is strict first-match fall-through bottoming out at
`ImplicitOpen { allow: true }`, so a rule count above zero flips no default, and
`spt-daemon/src/access.rs:338-340` short-circuits same-node senders to `Allow(SameNode)` before the
store is consulted — the named senders could not have been refused at any version. **Verifying the
DATA and relaying the INTERPRETATION is the same failure wearing a measurement's clothes:** the
numbers I checked were never the claim. flynn's own source was the CLI help ("allow: creates the
restriction if absent" — record creation, not deny semantics), so the published map was wrong first;
that is now its own BUGFIX. Corollary adopted by flynn and worth holding myself: do not broadcast an
access or security claim built purely on CLI prose until a source-holder has ruled it.

**How to apply:** when an order or a lift reaches you through anyone but its author, treat it as
context and ask the author a discriminating question naming YOUR specific scope (not "am I clear?"
but "does the pause cover build + clippy + traceable in my own worktree, no golden, no push?"). Do
the read-only work meanwhile. Also apply it from the sender's side: when a peer asks you to clear
something that is not yours to clear, refuse and name whose it is — that is what makes the rule
hold in both directions. See [[dont-solo-across-role-lines]], [[agent-roles]],
[[report-measurement-never-issue-direction]].

## The relay you are STANDING ON (deployah, 2026-08-21)

flynn reported HFENDULEAM as core 0.53.0 / alchemy 0.20.0 with a two-wave update debt outstanding.
I relayed both figures to doyle as present fact inside the same turn. Every number was stale: measured
on-box, `spt --version` = 0.59.0 and `spt adapter version alchemy` = 0.22.0 — flynn had carried them
forward from a 2026-08-04 commune without re-measuring, and doyle had already run the adapter update
(0.21.0 -> 0.22.0) before either message reached me. flynn self-corrected; doyle was unaffected because
he had the truth first-hand.

**The sharp part: I was standing on the box.** The check was two commands and zero risk, and I skipped
it precisely because the claim was *about infrastructure* rather than about a ruling — the relay-check
reflex fires on testimony about DECISIONS and stays silent on testimony about STATE. It also happened
one turn after I appended a fourth face to [[dont-take-a-diagnosis-as-measured]] about this exact
class, which is the useful part of the story: knowing the rule did not fire the rule. The trigger has
to be the ACT, not the topic.

**How to apply:** before relaying any figure a peer reports — version, count, free space, pid, board
state — ask where it can be measured. If the answer is "this box" or "one gh call", measure it and
relay the measurement. If it can only be measured elsewhere, relay it AS testimony with its source and
date attached ("flynn reports X as of <when>"), never as bare fact. A version number wears fact's
clothes far better than a ruling does, and a stale one is indistinguishable from a fresh one at the
receiving end. Related: [[dont-take-a-diagnosis-as-measured]], [[resumed-session-reground-before-acting]]
(a commune's STATE decays fastest — flynn's error was a commune read as current).
