open-standards/wai/extensions
Repository files (latest commit first)
Filename Latest commit message Latest commit date
David Charlot 3d3486069f
All checks were successful
no-vanity-metrics / Scan committed Markdown for vanity metrics (pull_request) Successful in 2s
wai cross-architecture byte-equality / linux-x86_64 (pull_request) Successful in 18s
wai cross-architecture byte-equality / windows-x86_64 (pull_request) Successful in 25s
wai cross-architecture byte-equality / linux-aarch64 (pull_request) Successful in 51s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 34s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 17s
WAI conformance / cargo-class corpora · windows (pull_request) Successful in 1m30s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 1m16s
WAI conformance / cross-arch byte-equality · windows (pull_request) Successful in 23s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 1m0s
wai cross-architecture byte-equality / macos-arm64 (reference) (pull_request) Successful in 5m21s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 6m51s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 1m5s
wai: publish the energy-measurement methodology (extensions/energy-measurement.md)
`jwp-receipts.md` defines `joules_micro` as "microjoules consumed producing this
object". That fixes the unit and the scope of attribution and nothing else, so
the field is a number-shaped hole: one implementation can write a counter
reading, another a model, a third a constant, and all three are conformant,
incomparable, and — worse — indistinguishable.

This extension closes it. Any receipt carrying energy must declare how the
figure was acquired (`HwShunt` / `ModelBased` / `Estimator`, the vocabulary the
sibling receipt families already use rather than a new one for media), and must
declare whether the measurement was good enough to publish.

Also specified: the bracketed marginal protocol (idle bracket with standard
deviation, saturating multi-thread burst, busy bracket, marginal delta divided
by completions), the five bracket parameters that must accompany any published
figure, and what the number is not — machine-specific, marginal over idle,
scoped to what the interface reports, build-dependent, and never verifiable by
re-execution.

Two corrections this document forced on the implementation:

**The publication bar moves from 3x to 10x, on evidence.** A later reading of
the same clip at a 3.8x marginal-to-noise ratio — inside what the previous rule
called "usable" — reported 2,469 uJ against 10,565 uJ from a quieter run. A 4.3x
disagreement from a reading the rule had passed. The 3-10 band is sound for
comparing two workloads back-to-back on one machine, where the bias applies to
both; it is not sound for an absolute figure. The bias has a direction, too: a
busy machine inflates the idle baseline that is then subtracted, so a poor
bracket always reads LOW. An implementation reporting its own energy errs toward
flattering itself, which is why the check has to be automatic.

**The worked example is a failing one, deliberately.** The draft of this file
carried a clean-looking bracket with an idle standard deviation and a quality
ratio for the 10,565 uJ run — numbers that run never produced, because it
predates the standard-deviation reporting. Inventing them in a document about
measurement honesty is the exact failure the document exists to prevent, so the
example is now the real 3.8x bracket, labelled as one this spec forbids
publishing, with a note saying why a clean bracket is not currently obtainable
on the authoring machine. The quiet row in the comparison table is marked as
predating the rule rather than given a ratio it never had.

Linked from SPEC.md beside the receipt sub-spec, and from the `joules_micro`
row of jwp-receipts.md that it constrains.
2026-08-26 08:14:53 -04:00
..
avatars.md wai: interactive + temporal cargo classes, provenance, telepresence 2026-06-13 23:16:42 -04:00
confidentiality.md wai: register confidentiality (MLS+SFrame) + document opt-in JWP freshness (#37) 2026-07-04 21:16:39 -04:00
determinism-tiers.md wai: ingest the determinism-tier spectrum for neural decode 2026-08-01 19:44:45 -04:00
energy-measurement.md wai: publish the energy-measurement methodology (extensions/energy-measurement.md) 2026-08-26 08:14:53 -04:00
haptics.md wai: interactive + temporal cargo classes, provenance, telepresence 2026-06-13 23:16:42 -04:00
interactive-worlds.md wai: interactive + temporal cargo classes, provenance, telepresence 2026-06-13 23:16:42 -04:00
jwp-receipts.md wai: publish the energy-measurement methodology (extensions/energy-measurement.md) 2026-08-26 08:14:53 -04:00
linear-film.md wai: film reel — wai.film.reel, cuts over one world 2026-06-17 02:38:59 -04:00
provenance.md wai: interactive + temporal cargo classes, provenance, telepresence 2026-06-13 23:16:42 -04:00
quantum-ops.md wai-quantum-ops: spec (extensions/quantum-ops.md) + SPEC.md verify-half pointer 2026-08-01 08:40:14 -04:00
quantum-sim.md wai-quantum: Add the energy-accounted receipt (QuantumReceipt + wai_quantum_meter) 2026-07-30 23:10:18 -04:00
reconstruction-binding.md wai: ingest the determinism-tier spectrum for neural decode 2026-08-01 19:44:45 -04:00
score.md wai: music as instructions — wai.audio.score (Phase 6) 2026-06-14 04:29:10 -04:00
spatial-audio.md wai: interactive + temporal cargo classes, provenance, telepresence 2026-06-13 23:16:42 -04:00
state-feeds.md wai: interactive + temporal cargo classes, provenance, telepresence 2026-06-13 23:16:42 -04:00
ternary-tt.md wai-ternary: Productionize wai.ternary.tt — WQTT container, registry entry, receipt, spec 2026-07-30 23:10:18 -04:00
volumetric.md wai: interactive + temporal cargo classes, provenance, telepresence 2026-06-13 23:16:42 -04:00