Skip to main content

WAI Extension: Unidirectional Delivery

Mirrored from the canonical text at commit 117bad22 ().

Status: Draft. Covers bearers with no return path — terrestrial broadcast, satellite, and multicast object carriage — where the sink receives and can never answer. Generalised from deployed national early-warning systems, which are the only place these seams are currently exercised at scale. WAI defines no bearer here and none of this requires one. Keywords MUST, MUST NOT, SHOULD, MAY are RFC 2119/8174.

1. What breaks without a return path

Three assumptions in the tree quietly presume the sink can talk back:

None of these is repaired by defining a bearer. Each is a seam that can be specified transport-independently, and each is specified below at the strength it actually holds — which in one case is considerably weaker than it looks.

2. Sink-evaluated predicates

A predicate capability carries, in the object, a condition the sink evaluates against locally-held state the source never learns. The canonical deployed instance is geographic: an object is relevant to a region, the receiver holds its own location, and the source is told nothing.

The determinism contract is predicate-equivalence, in the shape state-feeds §3 uses: two conforming sinks holding the same local state MUST reach the same verdict on the same predicate.

The specifiable property is determinism and auditability, not enforcement. Every sink on the bearer receives every byte, and a sink can lie about its own state. Nothing here prevents that and nothing here should claim to. The real claim is narrow and worth having: the source learns nothing — which is the dual of source-side targeting, where the source learns everything and the sink is told nothing.

3. Authority and pre-emption

Pre-emption is the highest-authority instruction a media object can carry: it displaces what a person chose to watch. WAI has no signer class for it, so today an object either has no such field or has one anyone may set.

4. Detached receipts

A unidirectional bearer cannot carry a receipt back, so jwp-receipts’ relay-chain model does not apply. The deliverable is an honest profile, not a proof:

No receipt can prove rendering over a bearer with no return path. This section does not attempt it. What it prevents is the quieter error: a receipt that says “delivered” because the transmitter transmitted, on a link that cannot tell it whether anyone was listening.

5. Framing

These seams are exercised today in national early-warning deployments, which is where a sink evaluating a condition the source never learns has had to be made to work at scale. The mechanisms are worth having for that reason and not only that one: a container that can only describe two-way delivery cannot describe broadcast, and broadcast is not a legacy case.