dispatch: capability constraints, and delivery over bearers that cannot answer #87
Loading…
Reference in a new issue
No description provided.
Delete branch "wai/constraints-and-unidirectional"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two seams the tree could not express.
Capability constraints
WAI dispatch treats support as binary — a sink either claims a capability or doesn't. Real sinks support a codec to a level: up to a resolution, frame rate, bit depth, profile. "This capability, but only to 4K60 10-bit, this profile" is the normal case and was unexpressible.
So partial support failed at decode time rather than selection time, and rendition selection had nothing to evaluate — deferring to a deployer policy the specification never states.
Ingests the constraint-set grammar and register pattern from AMWA's ratified Receiver/Sender Capabilities work (BCP-004-01/-02, v1.0.0): ORed sets of enum/min/max constraints over register-named parameters. Grammar and pattern only — not the transport, not the discovery model, and explicitly not the pre-flight negotiation framing, because capability-plus-budget binding before execution is already owned by JCP and two mechanisms for one job is worse than none.
The honest limit is in §3 rather than hidden: the ratified registers are broadcast-essence-shaped and cover only the conventional media families. There are no entries for neural, quantum, world or haptic — WAI must author those itself, and until it does those capabilities stay unconstrained, which is the true state rather than a pretended one.
Unidirectional delivery
Three assumptions quietly presume the sink can talk back:
jwp-receiptsassumes relay-chain linkage; targeting presumes the source learns something about the sink; and pre-emption has no signer class, because nothing in WAI has needed to assert authority over a sink before.Terrestrial broadcast, satellite and multicast object carriage break all three — and none is repaired by defining a bearer.
Generalised from deployed national early-warning systems — the one place a sink evaluating a condition the source never learns has had to work at scale.
Ingest queue items 10 and 11 (#80 §4.2, §4.3).
🤖 Generated with Claude Code
Two seams the tree could not express, both surfaced by the landscape survey. CAPABILITY CONSTRAINTS. WAI dispatch treats support as binary — a sink either claims a capability or does not. Real sinks support a codec TO A LEVEL: up to a resolution, a frame rate, a bit depth, a profile. "This capability, but only to 4K60 10-bit, this profile" is the normal case and was unexpressible, so partial support failed at DECODE time rather than SELECTION time, and rendition selection had nothing to evaluate and deferred to a deployer policy the spec never states. Ingests the constraint-set grammar and register pattern from AMWA's ratified Receiver/Sender Capabilities work (BCP-004-01 / -02, v1.0.0) — ORed sets of enum/min/max constraints over register-named parameters. Grammar and pattern only: not the transport, not the discovery model, and explicitly NOT the pre-flight negotiation framing, because capability-plus-budget binding before execution is already owned by JCP and two mechanisms for one job is worse than none. The honest limit is stated in §3 rather than hidden: the ratified registers are broadcast-essence-shaped and cover only WAI's conventional media families. There are no entries for neural, quantum, world or haptic, and WAI must author those itself — until it does, those capabilities remain unconstrained, which is the true state rather than a pretended one. UNIDIRECTIONAL DELIVERY. Three assumptions quietly presume the sink can talk back: jwp-receipts assumes relay-chain linkage, targeting presumes the source learns something about the sink, and pre-emption has no signer class because nothing in WAI has needed to assert authority over a sink before. Terrestrial broadcast, satellite and multicast object carriage break all three, and none is repaired by defining a bearer. * Sink-evaluated predicates (§2): the object carries a condition the SINK evaluates against local state the source never learns, under a predicate-equivalence contract in the shape of state-feeds §3. The specifiable property is determinism and auditability, NOT enforcement — every sink receives every byte and can lie about its own state, and this text says so. The real claim is narrow and worth having: the source learns nothing, which is the dual of source-side targeting. * Authority and pre-emption (§3): pre-emption is the highest-authority instruction a media object can carry — it displaces what a person chose to watch — and today an object either lacks the field or has one anyone may set. Requires a sink-held trust anchor provisioned out of band; a trust anchor delivered over the bearer it authorises is not one. A valid signature establishes who signed, never that they were entitled to. * Detached receipts (§4): the deliverable is an honest profile, not a proof. Such receipts attest WHAT WAS TRANSMITTED, not what was received or rendered, and MUST declare the bearer unidirectional. No receipt can prove rendering over a bearer with no return path; what this prevents is the quieter error of a receipt saying "delivered" because a transmitter transmitted, on a link that cannot tell it whether anyone was listening. Generalised from deployed national early-warning systems, which are where a sink evaluating a condition the source never learns has had to work at scale. Ingest queue items 10 and 11 (#80 §4.2, §4.3). Co-Authored-By: Claude Opus 5 <[email protected]>2a0cc7a9ebb912d6faa8