Some checks failed
standards workspaces build + test / aac-rs (pull_request) Successful in 32s
standards workspaces build + test / joule-code-rs (pull_request) Successful in 36s
standards workspaces build + test / jouleclaw-rs (pull_request) Successful in 2m9s
standards workspaces build + test / joulecontract-rs (pull_request) Successful in 39s
standards workspaces build + test / map-rs (pull_request) Successful in 31s
standards workspaces build + test / mesh-rs (pull_request) Successful in 28s
no-vanity-metrics / Scan committed Markdown for vanity metrics (pull_request) Successful in 3s
standards workspaces build + test / openpay (pull_request) Successful in 1m12s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 36s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 17s
standards workspaces build + test / eoc-rs (pull_request) Successful in 1m47s
standards workspaces build + test / jcp-rs (pull_request) Successful in 1m14s
standards workspaces build + test / proof-rs (pull_request) Successful in 1m14s
standards workspaces build + test / sandbox-rs (pull_request) Successful in 2m4s
standards workspaces build + test / smart-byte-rs (pull_request) Successful in 2m32s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 30s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 14s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 40s
standards workspaces build + test / arl-rs (pull_request) Successful in 9m22s
standards workspaces build + test / joule-ui-rs (pull_request) Successful in 9m45s
standards workspaces build + test / jouledesk-rs (pull_request) Successful in 9m36s
standards workspaces build + test / joulehook-rs (pull_request) Successful in 9m49s
standards workspaces build + test / sense-rs (pull_request) Successful in 9m35s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 1m8s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 26s
WAI conformance / cargo-class corpora · windows (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · windows (pull_request) Has been cancelled
`determinism-tiers.md` answers one question — does the sink reproduce the same
bytes? A growing class of coded media does not answer that question at all, and
WAI can register these capabilities today without being able to say what
conformance means for them. `ReplicateClass::Behavioral` is a disclaimer, not a
criterion; "task-equivalent but not bit-equal" is unstateable, so an
implementation either overclaims a reproducibility tier it does not meet or says
nothing.
Three independent arrivals, none of them ours:
* ISO/IEC 23888-2 (VCM, DIS, FDIS planned late 2026) codes video AND
descriptors, optimised for machine-task performance after decoding.
* ISO/IEC 23888-4 (FCM, CD) codes intermediate feature tensors from inside a
network — no pixels are reconstructed at any point, so there is no medium to
hash.
* A vendor markets compression as safe for machine consumption when the
behavioural change is statistically indistinguishable from the variance the
model already tolerates — with, by its own account, no shared framework for
the claim.
Deliberately a SIBLING file, not a third tier. The two tiers in
`determinism-tiers.md` are reproducibility guarantees a sink can check from the
bytes it received. A task claim cannot be checked that way — it needs a model, a
corpus and a test run. Listing them together would blur the one property that
file keeps clean.
The claim is a five-tuple and is meaningless with any element missing: model,
test, tolerance τ, observed δ, evidence class. `model` and `test` MUST be content
addresses — "tested on a standard detector" is unfalsifiable, a hash is not — and
a tolerance without an observation is a target, not a claim.
Evidence is graded the way `energy-measurement.md` grades acquisition, on the
same principle that what separates the rungs is provenance and scope, not
accuracy: Measured / Transferred / Asserted, no promotion in transit, and a
verifier that cannot resolve model and test MUST treat the claim as Asserted
whatever it says.
§4 states the limitation rather than hiding it: this is a graded assertion, not a
verification, and a relying party that reads it as the latter has misread it.
§5 names FCM's split budget without pretending to solve it. The cut point N makes
the origin/sink work partition a wire parameter, which breaks `joules_micro` as
one u64 for one producer. A cut-point-aware receipt needs joules either side plus
a network-identity hash making the halves provably compose — and that third piece
is a carriage problem WAI has not solved. Until then such a claim MUST state the
cut point and MUST NOT report a single joule figure as if one producer did all
the work.
No new wire format, no new receipt mechanism. Second item in the landscape survey
(#80) ingest queue, and the second of the two with no external dependency.
Co-Authored-By: Claude Opus 5 <[email protected]>
128 lines
7 KiB
Markdown
128 lines
7 KiB
Markdown
# WAI Extension: Task Fidelity
|
|
|
|
> Status: Draft. Names the contract for media whose correctness is a **downstream
|
|
> model's behaviour**, not a byte comparison — the class
|
|
> [`determinism-tiers`](determinism-tiers.md) cannot express. Sibling to that
|
|
> file, not a tier inside it: the tiers there are *reproducibility* guarantees a
|
|
> sink can check from the bytes alone, and a task claim is not one.
|
|
> No new wire format and no new receipt mechanism; a claim shape + an evidence
|
|
> grading over §7, modelled on
|
|
> [`energy-measurement`](energy-measurement.md)'s acquisition class.
|
|
> Keywords **MUST**, **MUST NOT**, **SHOULD**, **MAY** are RFC 2119/8174.
|
|
|
|
## 1. Why a second axis
|
|
|
|
`determinism-tiers.md` answers one question: *does the sink reproduce the same
|
|
bytes?* A growing class of coded media is not answering that question at all.
|
|
Three independent arrivals, none of them WAI's:
|
|
|
|
- **Video coding for machines.** ISO/IEC 23888-2 (MPEG-AI Part 2; **DIS**, FDIS
|
|
planned late 2026) codes video *and* descriptors extracted from it, jointly
|
|
optimised for bitrate and for machine-task performance after decoding. Its
|
|
fidelity target is a task's accuracy, not a pixel comparison.
|
|
- **Feature coding for machines.** ISO/IEC 23888-4 (MPEG-AI Part 4; **CD**) codes
|
|
intermediate feature tensors from inside a machine-vision network — the origin
|
|
runs the first N layers, ships the tensor, the sink runs the remainder. **No
|
|
pixels are reconstructed at any point**, so there is no medium to hash.
|
|
- **Vendor framing.** At least one vendor markets compression as safe for machine
|
|
consumption when the change it induces in a downstream model's behaviour is
|
|
statistically indistinguishable from the variance that model already tolerates.
|
|
No standards body, no designation — and the vendor's own material states the
|
|
industry lacks a shared framework for the claim, which is what makes the seam
|
|
worth naming rather than ceding.
|
|
|
|
WAI today can register these as capabilities but cannot state what conformance
|
|
means for them. `ReplicateClass::Behavioral` is a disclaimer, not a criterion.
|
|
*Task-equivalent but not bit-equal* is unstateable, so an implementation either
|
|
overclaims a reproducibility tier it does not meet or says nothing at all.
|
|
|
|
**The distinction that makes this a separate file.** A reproducibility tier is
|
|
checkable by the sink from the bytes it received. A task-fidelity claim is not:
|
|
checking it requires a model, a corpus, and a test run. Listing the two together
|
|
would blur the one property `determinism-tiers.md` currently keeps clean — that
|
|
its tiers are verifiable without leaving the object.
|
|
|
|
## 2. The claim
|
|
|
|
A task-fidelity claim is a tuple, and it is meaningless with any element missing:
|
|
|
|
| element | meaning |
|
|
|---|---|
|
|
| `model` | content address of the network the claim is about — the identity under which δ was observed |
|
|
| `test` | content address of the task, corpus and metric the claim was measured under |
|
|
| `tolerance` | τ — the behavioural change the claimant asserts is acceptable, in the metric `test` names |
|
|
| `observed` | δ — the behavioural change actually measured under `test` |
|
|
| `evidence` | the class in §3 |
|
|
|
|
A claim asserts **δ ≤ τ under `test`, for `model`**. It asserts nothing about any
|
|
other model, any other corpus, or any metric `test` does not name.
|
|
|
|
- A claim **MUST** carry all five elements. A tolerance without an observation is
|
|
a target, not a claim, and **MUST NOT** be sealed as one.
|
|
- `model` and `test` **MUST** be content addresses, not names. "Tested on a
|
|
standard detector" is unfalsifiable; a hash is not.
|
|
- A claim **MUST NOT** be restated for a different model or corpus without a new
|
|
observation. Behavioural tolerance does not transfer by assertion.
|
|
|
|
## 3. Evidence class (REQUIRED)
|
|
|
|
What separates the rungs is **provenance and scope, not accuracy** — the same
|
|
principle as `energy-measurement.md` §2, and for the same reason: a confidently
|
|
formatted δ says nothing about whether anyone ran the test.
|
|
|
|
| class | meaning | requires |
|
|
|---|---|---|
|
|
| `Measured` | δ was observed by running `test` against `model` on the stated corpus. | retained artifacts sufficient to re-run |
|
|
| `Transferred` | δ was observed under a *different* model or corpus and is argued to carry over. | the source claim, and the argument, both named |
|
|
| `Asserted` | δ is claimed without an observation. | — |
|
|
|
|
- An implementation **MUST NOT** promote a claim's evidence class in transit, as
|
|
§2 of `energy-measurement.md` forbids for acquisition class.
|
|
- A verifier that cannot resolve `model` and `test` **MUST** treat the claim as
|
|
`Asserted` regardless of the class stated, and **SHOULD** say so rather than
|
|
discard the claim silently.
|
|
- `Transferred` **MUST NOT** be used to cross a modality or a task family. A
|
|
detector's tolerance is not a segmenter's.
|
|
|
|
## 4. What the claim is, and is not
|
|
|
|
- It is **not** a reproducibility tier, and **MUST NOT** be presented as one. A
|
|
capability carrying a task-fidelity claim **MUST NOT** thereby claim
|
|
`entropy-consistency` or `decode-equivalence`; those are separate assertions
|
|
about separate properties, and a capability may hold both, one, or neither.
|
|
- It is **not** sink-checkable from the bytes. This is the defining limitation,
|
|
and stating it is the point: a receipt bearing a task-fidelity claim carries a
|
|
*graded assertion*, not a verification, and a relying party that treats it as
|
|
the latter has misread it.
|
|
- It is **not** a quality metric. δ is behavioural change in a named downstream
|
|
task, not perceptual fidelity, and the two **MUST NOT** be reported in the same
|
|
field.
|
|
- It does **not** license degradation elsewhere. A task-fidelity claim says
|
|
nothing about energy, and an object honouring a decoding-operation-reduction
|
|
hint is still bound by `determinism-tiers.md` §2.
|
|
|
|
## 5. The split-computation case — named, not solved
|
|
|
|
FCM makes the origin/sink **work partition** a negotiated wire parameter: the cut
|
|
point N decides how much of the network each side runs. That breaks an assumption
|
|
in `jwp-receipts.md`, where `joules_micro` is one `u64` for producing the object
|
|
by one producer.
|
|
|
|
A cut-point-aware receipt needs three things WAI does not have: joules before the
|
|
cut, joules attributable after it, and a network-identity hash making the halves
|
|
provably compose. The third is a carriage problem — the artifact a network
|
|
identity names has no normative wire form in WAI today.
|
|
|
|
This extension **does not** solve that. It records the gap so a task-fidelity
|
|
claim over a split computation is not mistaken for a complete accounting: such a
|
|
claim **MUST** state the cut point, and **MUST NOT** report a single joule figure
|
|
as if one producer had done all the work.
|
|
|
|
## 6. Framing
|
|
|
|
Byte-comparability is becoming one fidelity contract among several rather than
|
|
the only one. WAI's position is unchanged by that — it names contracts and grades
|
|
the evidence behind them, and does not adjudicate which contract a domain should
|
|
want. What would be wrong is silence: a ratified class of media arriving with a
|
|
conformance notion the container cannot state, described instead in the vocabulary
|
|
of a guarantee it does not make.
|