---
status: accepted
---

# Watch notifications are delivered as durable spt messages, not shell sensory

A Watch tells an agent that a Request reached a State. The obvious channel is the shell's sensory emit, since the Requests Shell is the agent's interface to the Hub — but sensory is documented as live-only, delivered to a live owner session or dropped with a diagnostic, and a shell instance is torn down with the endpoint that owns it. So the agent most in need of the notification — one that is offline, busy, or rebuilding after a context reset — is exactly the one guaranteed not to receive it. Watches therefore fire as ordinary durable spt messages, which spool when the target is not listening and drain when it returns.

## Consequences

Watch delivery is uniform whether the agent is live, busy, offline, or newly rebuilt, and Watches survive the shell instance entirely. Watches are owned by endpoint id rather than session for the same reason, so a `/clear` does not orphan them.
