`SCI = (E × I + M) per R` is well specified in every term but one. `I` has a
location-based methodology, `M` a lifecycle one, and `R` must be stated and
reproducible. **`E` has no comparable requirement**: a figure can be labelled
"measured" without saying what measured it, over what span, on which silicon,
or on whose behalf.
Five proposed requirements, all machine-checkable: E1 name the counter (not the
word "measured"); E2 declare its update period and **refuse a measured claim
for a span shorter than that period**, with an undeclared period never
supporting one; E3 declare whether the figure counts one principal's work or
the whole machine, and if machine-wide, report the magnitude of the idle
correction; E4 break down per fabric and state which fabrics are uncovered;
E5 say *why* a fabric is uncovered, as one of frozen / absent /
needs-privilege / no-counter-exists / not-implemented.
E5 is the one with teeth outside accounting. The EU AI Act's GPAI Code of
Practice requires energy documentation for training and inference while
permitting an exemption where a provider lacks "critical information from
compute or hardware provider" — which is a claim of `no-counter-exists`. E5
distinguishes it from the four statuses that do not justify it, and an
unprivileged on-die counter needs no cooperation from the compute provider at
all, so it narrows the set of accelerators for which the claim is honest.
The evidence is three independent observations plus our own: instrumented
AI-energy studies are GPU-rail-only and none declares a sampling interval; a
reference implementation in this ecosystem stamps `measured` on a lifecycle
estimator's output; per-call energy is being read from provider SDKs with no
stated boundary. And counters do take the unsafe direction by large factors —
a 588-run study found one under-reporting integrated power by 95.4% at 0.5 ms
sampling, a second paper built its per-token decomposition on that same counter
for the opposite reason without citing the first, and a third observation has
the same counter class reading 4–30× the board's draw. We reproduced the shape
on a fourth counter and characterised it (0% advancing at 50 µs through 100% at
10 ms, with ~20 mJ batched steps below 1 ms), which is what let us declare a
period instead of assuming one.
**A correction this annex makes explicitly: no change to `R` is proposed.** I
had taken SCI-for-AI's "tokens are a natural functional unit" to mean the unit
was token-shaped, and therefore undefined for the zero-token decision models
that appeared in Sept–Oct 2026. That is wrong: SCI-for-AI supports diverse
functional units — tokens for language models, **inferences for classifiers**,
FLOPs for training — so `R = one inference` already covers them. The gap is in
the energy, not the unit of work. Our own Mesh defect was real and is fixed
(ed0c07b5); the standards-level version of it was not.
Complements `sci-for-ai-submission.md`, which maps EOC receipts onto the
formula and takes E as given. Cross-linked both ways. Proposed URN
`urn:gsf:sci-ai:ext:energy-provenance:v1`, additive, and imposing nothing on
deployments that report estimates — which stay conformant provided they say so.
Co-Authored-By: Claude Opus 5 <[email protected]>