register what other bodies ratified: prior carriage, and derived-track operations #90

Merged
dcharlot merged 1 commit from wai/prior-carriage-and-derivations into main 2026-09-10 12:23:27 -04:00
2 changed files with 130 additions and 0 deletions

View file

@ -0,0 +1,55 @@
# WAI Extension: Derived Tracks
> Status: Draft. Registers the derivation operations of a ratified container
> track type, so WAI can carry a derivation graph without restating it and
> without claiming to have invented it.
> Keywords **MUST**, **MUST NOT**, **SHOULD**, **MAY** are RFC 2119/8174.
## 1. Prior art, stated plainly
A track that carries a **process the receiver evaluates**, rather than the
processed result, is not new. **ISO/IEC 23001-16:2021** — Derived Visual Tracks
in the ISO Base Media File Format — ratified it in 2021, inside the container the
industry already ships. A derived sample is an ordered list of derivation
operations over an ordered list of inputs; inputs may be tracks, track groups,
image items, or the output of a preceding operation, so operations chain.
WAI's contribution is therefore **not** instruction-carriage. Any WAI text
claiming otherwise is wrong and should be corrected on sight. What that
specification leaves unspecified — and what WAI adds — is a **determinism
contract per operation** and a **signed receipt binding the executed graph to
measured joules**.
Two honest qualifications. The base operation set includes interpolating and
blending operations with no bit-exactness requirement, so the tier work below is
substantive rather than decorative. And while the container is universally
shipped, derived visual tracks have negligible deployed player support: the
collision is at the standards level, not the installed-base level.
## 2. Registration
Each derivation operation **MAY** be registered as a WAI capability, and a
registration **MUST** state the operation's determinism tier per
[`determinism-tiers`](determinism-tiers.md).
- An operation whose output is fixed by its inputs under integer arithmetic
**MAY** be registered at `decode-equivalence`.
- An operation involving interpolation, blending, or resampling **MUST NOT** be
registered at `decode-equivalence` unless the registration also pins the
arithmetic that makes it reproducible. Naming an operation does not make it
deterministic.
- A derived sample's tier is the **weakest** tier among the operations it
invokes, and an implementation **MUST NOT** report the strongest. A graph is
as reproducible as its least reproducible step.
- A registration **MUST** identify the operation by its four-character code as
defined in the source specification, not by a local name.
## 3. Scope
WAI registers the operations and tiers them. It does **not** adopt compositing as
its own responsibility: presentation and rendering are sink-supplied elsewhere in
this tree, and that does not change here. Tiering and receipting a derivation
graph is a statement about reproducibility and cost, not an undertaking to
composite.
An implementation **MUST NOT** read this extension as making WAI a renderer.

View file

@ -0,0 +1,75 @@
# WAI Extension: Prior Carriage
> Status: Draft. Names a normative wire form for the artifact a `Prior` refers
> to. WAI pins a prior's **identity** today and says nothing about its **form**,
> so two implementations holding the same hash may hold differently-packaged
> bytes and neither is wrong.
> Keywords **MUST**, **MUST NOT**, **SHOULD**, **MAY** are RFC 2119/8174.
## 1. Identity without form
A neural capability's reconstruction depends on a model the wire does not carry —
that is deliberate, and [SPEC.md §1](../SPEC.md) is explicit that the model
behind a neural capability is never transported. WAI pins the model's identity
so a replicate is sound: a `Prior` names an id, a digest, and a determinism
expectation, and `replicate` soundness is gated on it.
What is missing is one level down. The digest fixes **which bytes**, and nothing
fixes **how those bytes are packaged**. In practice a prior is an informal
directory — a layout convention between implementations that happen to agree.
Two conforming implementations can hold the same digest over differently-arranged
artifacts, and the specification gives no way to say which is right, because it
never said what the artifact is.
This matters precisely where WAI is strongest: a determinism tier is a claim
about reproducing a computation, and a computation whose operand has no wire form
is reproducible only among parties who already share an unwritten convention.
## 2. The normative form
The artifact a `Prior` names **SHOULD** be a coded neural-network bitstream in
the form of **ISO/IEC 15938-17** — the first international standard for neural
network compression, whose second edition (2024) covers trained parameters and
their incremental updates, with DeepCABAC entropy coding and
pruning / sparsification / low-rank preprocessing, and an open reference
implementation.
- Where a prior is carried in that form, the `Prior` **MUST** say so, and the
digest **MUST** cover the coded bitstream, not an unpacked directory. A digest
over an unpacking is a digest over one implementation's choices.
- Where a prior is carried in another form, the `Prior` **MUST** name that form.
"A model" is not a form.
- An implementation **MUST NOT** treat two priors as interchangeable because
their unpacked parameters compare equal. Determinism claims are made about a
pinned artifact, and equality after unpacking is not the same fact.
WAI registers the capability and references the bitstream. It does **not** restate
the coding, and the sink supplies the decoder — the same posture as every other
capability in the tree.
## 3. Scope discipline
Two things are deliberately not claimed here.
**This is carriage, not authenticity.** The referenced standard is a wire format
for the artifact; it is not an alternative to WAI's receipt layer, and this
extension does not present it as one. Work on signing individual coded data units
within that standard is at amendment stage and could not be corroborated from
public sources at the time of writing — so nothing here depends on it, and an
implementation **MUST NOT** cite this section as authority for a signing claim.
**Incremental update is not new.** Coding of incremental and federated updates
landed in the published second edition. An implementation **MUST NOT** describe it
as a forthcoming capability.
## 4. What this unblocks
With a form fixed, three things become statable that were not:
- a determinism tier over a computation whose operand is identified rather than
assumed;
- a prior transported by reference with a digest that means the same thing to
both ends;
- the split-computation case in [`task-fidelity`](task-fidelity.md) §5, which
needs a network-identity hash making two halves provably compose — this section
supplies the identity half, and not the composition half.