Scientific Constants Provenance Registry¶
Registry version: 2026-11-12
Effective from: 2026-11-12
Revision: 3
Canonical truth: constants.json — machine-readable registry, validated by scripts/check-constants.mjs
This file: the committed human-readable view. It is not generated at build time; it is written alongside the JSON and checked for consistency at gate time (CONSTANTS-MD-COMPANION, CONSTANTS-MD-CORRECTIONS, CONSTANTS-MD-ASSUMPTIONS, CONSTANTS-MD-ENTRIES, CONSTANTS-MD-RATIOS, CONSTANTS-MDR-COMPANION, CONSTANTS-UNCERTAINTY, CONSTANTS-CIN-BOUND). Editing one file without the other reddens the gate.
Every number the v1.2 energy model ships appears below with its epistemic tier, unit, source and locator. The figures drive an illustrative estimate — a climate contribution that characterises AI electricity use and its associated CO₂e, not a verified footprint, credit or compensation claim. The methodology is aligned with the GHG Protocol Corporate Accounting and Reporting Standard (revised edition), the GHG Protocol Scope 2 Guidance (2015), ISO 14067:2018, ISO 14064-1:2018 and ISO 14044. Nothing here is certified, compliant or verified, and no third-party assurance exists.
Ship set (14): FLAT_TEXT_GEN, FLAT_IMAGE_GEN, GRID_FACTOR_EMBER_2025, DATACENTER_UPLIFT, FLAT_COMPLEX_TASK, C_OUT_PETIT, C_OUT_MOYEN, C_OUT_MASSIF, C_OUT_GENERIQUE, C_IN_PETIT, C_IN_MOYEN, C_IN_MASSIF, C_IN_GENERIQUE, CACHED_PREFILL_MULTIPLIER. Each id has exactly one entry, in the registry and in a table row below.
Functional Unit¶
Declared per MDR-13-01: one AI inference interaction as characterized by the caller — a token-usage record (modelId, tokensIn, tokensOut, cachedTokensIn), or one generated image, or one legacy counter-based response. The declared unit is 1 request; reference flows are input/output tokens, grid electricity (Wh) and CO₂e (g).
Results are not comparable across different functional units, scopes or coefficient versions. A figure produced by one registry version cannot be compared with a figure produced by another.
Epistemic Tiers¶
| Tier | Definition | Meaning |
|---|---|---|
| MEASURED | A primary source reports this exact quantity at this exact scope (same hardware, phase and quantity) | Direct measurement |
| CALIBRATED | Produced by a recorded transformation, regression or fit from measured data | Computed from measurements |
| HYPOTHESIS | A Bloomy assumption not derivable from a primary source | Conservative placeholder with an upgrade path |
A measured input never makes a modelled output MEASURED. Tier definitions and governance: MDR-13-02.
Constants by Tier¶
MEASURED¶
| ID | Label | Value | Unit | Source | Locator |
|---|---|---|---|---|---|
| FLAT_TEXT_GEN | Flat-rate energy per standard text-generation inference | 0.047 | Wh/inference | Luccioni et al. 2024 — Power Hungry Processing (arXiv:2311.16863v3) | arXiv Table 2; ACM FAccT '24 doi:10.1145/3630106.3658542 |
| FLAT_IMAGE_GEN | Flat-rate energy per image-generation inference | 2.907 | Wh/image | Luccioni et al. 2024 — Power Hungry Processing (arXiv:2311.16863v3) | arXiv Table 2; ACM FAccT '24 doi:10.1145/3630106.3658542 |
| GRID_FACTOR_EMBER_2025 | World lifecycle carbon intensity, generation-based, 2025 annual average | 458.29 | g CO₂e/kWh | Ember Global Electricity Review 2026, republished by Our World in Data | ourworldindata.org/grapher/electricity-mix (updated 2026-06-30); ember-energy.org yearly data |
The Luccioni figures are reported as kWh per 1,000 inferences; the recorded conversion (÷1,000, then ×1,000 for Wh) preserves the numeric value and is documented in each entry's derivation (CORR-04).
CALIBRATED¶
| ID | Label | Value | Unit | Source | Formula |
|---|---|---|---|---|---|
| C_OUT_PETIT | C_out for PETIT bucket (≤10B total parameters; anchor Llama-3.1-8B, 8.03B dense) — per-request IT energy (GPU + server) per output token at 1 GPU | 0.00007432415500270376 | Wh/token | EcoLogits regression on ML.ENERGY measurements (arXiv:2505.06371) | gpuRequiredCount × per-GPU gpu_energy asset + non-GPU server term; gpuRequiredCount from the EcoLogits memory/sizing rule on total parameters; PUE applied once by the consumer to the summed prefill + decode energy — authoritative machine-readable composition: derivation.formula in constants.json |
| C_OUT_MOYEN | C_out for MOYEN bucket (>10B and ≤50B total parameters; anchor Mixtral-8x7B, 46.7B total / 12.9B active, a mixture-of-experts model) — per-request IT energy (GPU + server) per output token at 2 GPUs | 0.0001584969245753336 | Wh/token | EcoLogits regression on ML.ENERGY measurements (arXiv:2505.06371); anchor is a mixture-of-experts model (46.7B total / 12.9B active) | gpuRequiredCount × per-GPU gpu_energy asset + non-GPU server term; gpuRequiredCount from the EcoLogits memory/sizing rule on total parameters; PUE applied once by the consumer to the summed prefill + decode energy — authoritative machine-readable composition: derivation.formula in constants.json |
| C_OUT_MASSIF | C_out for MASSIF bucket (>50B and ≤200B total parameters; anchor Llama-3.1-70B, 70.55B dense) — per-request IT energy (GPU + server) per output token at 4 GPUs | 0.0005501653604263294 | Wh/token | EcoLogits regression on ML.ENERGY measurements (arXiv:2505.06371) | gpuRequiredCount × per-GPU gpu_energy asset + non-GPU server term; gpuRequiredCount from the EcoLogits memory/sizing rule on total parameters; PUE applied once by the consumer to the summed prefill + decode energy — authoritative machine-readable composition: derivation.formula in constants.json |
| C_OUT_GENERIQUE | C_out for GÉNÉRIQUE bucket (>200B total parameters or unclassified; extrapolation above Llama-3.1-405B, 405.85B dense) — per-request IT energy (GPU + server) per output token at 16 GPUs | 0.0076252864360317404 | Wh/token | EcoLogits regression on ML.ENERGY measurements (arXiv:2505.06371) | gpuRequiredCount × per-GPU gpu_energy asset + non-GPU server term; gpuRequiredCount from the EcoLogits memory/sizing rule on total parameters; PUE applied once by the consumer to the summed prefill + decode energy — authoritative machine-readable composition: derivation.formula in constants.json |
Coefficients: α = 1.1665273170451914e-6, β = −0.011205921025579175, γ = 4.052928146734005e-5, extracted from @ecologits/[email protected] (git sha c739e8d61f6a12a85864adb698ab85623fe70f3c, synced 2026-10-02). The other regression inputs are registered beside them in the parameters array of constants.json: BATCH_SIZE (64) in sequences per batch, GPU_MEMORY_GB (80) in GB, QUANTIZATION_BITS (16) in bits, GPU_MEMORY_OVERHEAD (1.2) as a multiplier, the server-energy latency terms LATENCY_ALPHA in seconds per output token per billion active parameters, LATENCY_BETA in seconds per output token per batch unit and LATENCY_GAMMA in seconds per output token, and SERVER_POWER (1.2) in kW with SERVER_GPUS (8) as a count. GPU_MEMORY_OVERHEAD is not a named export of the package: it is the literal 1.2 multiplier read from its model_required_memory computation (mul(mul(1.2, totalParameterCount), quantizationBits) / 8), which is why it is registered as a parameter rather than baked into the sizing rule. Units reconcile across the two files: each parameters record carries the unit its term consumes — per output token, per billion active parameters, per batch unit, seconds, GB, bits, kW or count — while the tier tables above keep the entry-level Wh/token view, and no input is restated in a different unit anywhere in this registry. P_active is the EcoLogits catalog value in billions of parameters — evaluating the regression with absolute parameter counts inflates every coefficient by 10⁹. Each C_OUT_* coefficient is per-request IT energy: the pinned per-GPU gpu_energy asset multiplied by gpuRequiredCount plus the non-GPU server_energy term derived from the package's own tps-null latency regression, at the bucket's anchor model (Llama-3.1-8B, Mixtral-8x7B, Llama-3.1-70B, extrapolation above Llama-3.1-405B) and with GPU sizing on total parameters. DATACENTER_UPLIFT (PUE) is not inside any coefficient: the consumer applies it exactly once to the summed prefill + decode per-request IT energy, (T_in × C_in + T_out × C_out) × DATACENTER_UPLIFT. Precedence and recomputability: MDR-13-07.
HYPOTHESIS¶
| ID | Label | Value | Unit | Source | Rationale |
|---|---|---|---|---|---|
| DATACENTER_UPLIFT | Datacenter overhead uplift factor (PUE-conservative hypothesis) | 1.3 | multiplier | Bloomy conservative assumption — EcoLogits provider PUE table tops out at 1.20 (OpenAI) | 1.30 exceeds every documented provider PUE (Anthropic 1.09–1.14, OpenAI 1.20, Google 1.09, Mistral 1.16), so it is a labelled upper bound, not a sourced figure |
| FLAT_COMPLEX_TASK | Flat-rate energy per complex/reasoning inference (×10 hypothesis) | 0.47 | Wh/request | Bloomy conservative assumption — approximately 10× the standard text rate | Luccioni et al. 2024 defines no complex-task category; ×10 is an order-of-magnitude placeholder |
| C_IN_PETIT | C_in for PETIT bucket (≤10B total parameters; anchor Llama-3.1-8B, 8.03B dense) — hypothesized prefill energy per input token, PREFILL_FRACTION 0.25 × the bucket's C_out | 0.00001858103875067594 | Wh/token | Bloomy hypothesis — PREFILL_FRACTION 0.25 × EcoLogits-derived C_OUT_PETIT (MDR-13-17) | No cited source publishes a per-input-token prefill energy; anchored on the bucket's C_out at the conservative prefill fraction and sanity-bounded below it |
| C_IN_MOYEN | C_in for MOYEN bucket (>10B and ≤50B total parameters; anchor Mixtral-8x7B, 46.7B total / 12.9B active, a mixture-of-experts model) — hypothesized prefill energy per input token, PREFILL_FRACTION 0.25 × the bucket's C_out | 0.0000396242311438334 | Wh/token | Bloomy hypothesis — PREFILL_FRACTION 0.25 × EcoLogits-derived C_OUT_MOYEN (MDR-13-17) | No cited source publishes a per-input-token prefill energy; anchored on the bucket's C_out at the conservative prefill fraction and sanity-bounded below it |
| C_IN_MASSIF | C_in for MASSIF bucket (>50B and ≤200B total parameters; anchor Llama-3.1-70B, 70.55B dense) — hypothesized prefill energy per input token, PREFILL_FRACTION 0.25 × the bucket's C_out | 0.00013754134010658236 | Wh/token | Bloomy hypothesis — PREFILL_FRACTION 0.25 × EcoLogits-derived C_OUT_MASSIF (MDR-13-17) | No cited source publishes a per-input-token prefill energy; anchored on the bucket's C_out at the conservative prefill fraction and sanity-bounded below it |
| C_IN_GENERIQUE | C_in for GÉNÉRIQUE bucket (>200B total parameters or unclassified; extrapolation above Llama-3.1-405B, 405.85B dense) — hypothesized prefill energy per input token, PREFILL_FRACTION 0.25 × the bucket's C_out | 0.0019063216090079351 | Wh/token | Bloomy hypothesis — PREFILL_FRACTION 0.25 × EcoLogits-derived C_OUT_GENERIQUE (MDR-13-17) | No cited source publishes a per-input-token prefill energy; anchored on the bucket's C_out at the conservative prefill fraction and sanity-bounded below it |
| CACHED_PREFILL_MULTIPLIER | Cached-prefill energy multiplier k_cache (× C_in) — unsourced Bloomy hypothesis | 0.07 | multiplier | Bloomy conservative assumption — cached-prefill input tokens assumed to cost 7 % of the fresh-prefill coefficient | No openly-licensed source publishes a measured prefix-caching energy ratio (ML.ENERGY, TokenPowerBench and the EcoLogits methodology were checked) |
Decode/prefill ratio (observed)¶
The decode/prefill ratio is recorded per bucket from the shipped C_OUT_* and C_IN_* values at the same anchor model. Since revision 3 C_in is anchored on the paired C_out at the conservative prefill fraction (MDR-13-17), so the recorded ratio is a definitional outcome of that construction rather than an observation — and it is still not a defended constant.
| Bucket | C_out (Wh/token) | C_in (Wh/token) | C_out / C_in | Note |
|---|---|---|---|---|
| PETIT | 0.00007432415500270376 | 0.00001858103875067594 | 4 | definitional (C_in anchored on C_out); C_out > C_in |
| MOYEN | 0.0001584969245753336 | 0.0000396242311438334 | 4 | definitional (C_in anchored on C_out); C_out > C_in |
| MASSIF | 0.0005501653604263294 | 0.00013754134010658236 | 4 | definitional (C_in anchored on C_out); C_out > C_in |
| GÉNÉRIQUE | 0.0076252864360317404 | 0.0019063216090079351 | 4 | definitional (C_in anchored on C_out); C_out > C_in |
Every recorded ratio is 4.0 because C_in is anchored on C_out at the conservative prefill fraction (MDR-13-17); the number is a definitional outcome, not a measurement, and the demoted ~3.5× illustration remains a non-imported illustration that this construction does not use.
Uncertainty¶
No interval is shown because no cited source published one at the entry's scope; an interval will appear only when a source reports it (MDR-13-10). Every entry is unquantified in this release, and each records a reason and an upgrade path in constants.json.
| ID | Kind | Reason |
|---|---|---|
| FLAT_TEXT_GEN | unquantified | Luccioni et al. report a single point estimate per task without an uncertainty interval at this scope |
| FLAT_IMAGE_GEN | unquantified | Luccioni et al. report a single point estimate per task without an uncertainty interval at this scope |
| GRID_FACTOR_EMBER_2025 | unquantified | Ember reports an annual world average without an uncertainty band at this scope |
| DATACENTER_UPLIFT | unquantified | unsourced conservative hypothesis; no interval exists |
| FLAT_COMPLEX_TASK | unquantified | unsourced conservative hypothesis (×10 over standard text) with no published interval |
| C_OUT_PETIT | unquantified | the EcoLogits regression publishes coefficients without a per-bucket interval, and the anchor points are model-specific |
| C_OUT_MOYEN | unquantified | the EcoLogits regression publishes coefficients without a per-bucket interval, and the anchor points are model-specific |
| C_OUT_MASSIF | unquantified | the EcoLogits regression publishes coefficients without a per-bucket interval, and the anchor points are model-specific |
| C_OUT_GENERIQUE | unquantified | the EcoLogits regression publishes coefficients without a per-bucket interval, and the anchor points are model-specific |
| C_IN_PETIT | unquantified | Bloomy hypothesis: no cited source publishes a per-input-token prefill energy at this anchor, so no source interval exists (D-06, MDR-13-10); the admissible band [0.10, 0.25] is the hypothesis domain recorded in the derivation, not a published uncertainty interval |
| C_IN_MOYEN | unquantified | Bloomy hypothesis: no cited source publishes a per-input-token prefill energy at this anchor, so no source interval exists (D-06, MDR-13-10); the admissible band [0.10, 0.25] is the hypothesis domain recorded in the derivation, not a published uncertainty interval |
| C_IN_MASSIF | unquantified | Bloomy hypothesis: no cited source publishes a per-input-token prefill energy at this anchor, so no source interval exists (D-06, MDR-13-10); the admissible band [0.10, 0.25] is the hypothesis domain recorded in the derivation, not a published uncertainty interval |
| C_IN_GENERIQUE | unquantified | Bloomy hypothesis: no cited source publishes a per-input-token prefill energy at this anchor, so no source interval exists (D-06, MDR-13-10); the admissible band [0.10, 0.25] is the hypothesis domain recorded in the derivation, not a published uncertainty interval |
| CACHED_PREFILL_MULTIPLIER | unquantified | unsourced conservative hypothesis; no interval exists |
Corrections & Dropped Claims¶
Structured record of the citation-hygiene actions taken while the registry was built. The canonical machine-readable form is the corrections array in constants.json; the gate compares the two. Boundary note (D-26): the registry covers operational electricity for inference only — embodied energy, manufacturing and end-of-life, water, network/storage and training amortization are excluded and declared in the assumptions below.
- CORR-01 | action:
dropped| entity:Babakol et al. 2026— Unverifiable citation: no resolvable DOI, publisher or peer-reviewed venue was found, so it is not part of the registry citations. Rationale: authorship, peer-review status and venue cannot be verified, and an unverifiable citation would undermine the provenance chain. - CORR-02 | action:
corrected| entity:Dominici attribution— Re-attributed: Francesca Dominici is a co-author of Vartziotis et al. (arXiv:2607.26571), not the author of a separate study. Rationale: verified against the arXiv author list; the earlier treatment inflated the evidence base. - CORR-03 | action:
qualitative-only| entity:Greenpixie— No Greenpixie numeric figure is embedded in any entry. The approach is acknowledged qualitatively (size bucketing) only, because the CC BY-NC-ND licence forbids commercial use and the published absolute figures are deliberately scale-masked. Rationale: embedding would violate the licence policy and yield unverifiable numbers. - CORR-04 | action:
corrected| entity:Luccioni kWh-per-1,000 unit trap— Luccioni Table 2 corrected for its unit trap: 0.047 kWh per 1,000 inferences becomes 0.047 Wh per inference; 2.907 kWh per 1,000 inferences becomes 2.907 Wh per image. The derivations record the ÷1,000 then ×1,000 conversion explicitly. Rationale: the conversion yields numerically identical values, but the step must stay documented to prevent future unit errors. - CORR-05 | action:
dropped| entity:unsourced "93 %" cache-savings claim— The unsourced 93 % cache-energy-savings figure is dropped; its complement ships explicitly as the labelledCACHED_PREFILL_MULTIPLIER = 0.07HYPOTHESIS with no source and an upgrade path in MDR-13-08. No primary source (ML.ENERGY, TokenPowerBench, EcoLogits methodology) publishes a measured prefix-caching energy reduction. Rationale: the unsourced figure is dropped and the cached-prefill lane ships explicitly as the labelled 0.07 HYPOTHESIS multiplier with no source and the MDR-13-08 upgrade path. - CORR-06 | action:
dropped| entity:cometapi artifact— The artifact named in the milestone brief is confirmed absent from all primary-source literature and dropped; the three source families (EcoLogits, ML.ENERGY, TokenPowerBench) cover the scientific need. Rationale: operator decision point — produce or drop; verified absence, dropped. - CORR-07 | action:
corrected| entity:C_out denominator and system boundary— The C_out denominator was re-derived from a per-GPUgpu_energyasset to per-request IT energy (GPU + non-GPU server, PUE excluded) at the same anchor model as each C_in bucket. Old → new per entry: C_OUT_PETIT 0.0000410987 → 0.00007432415500270376 at 1 GPU (server term 0.000029222480022164215); C_OUT_MOYEN 0.0000462234 → 0.0001584969245753336 at 2 GPUs (server term 0.00006274748335415947); C_OUT_MASSIF_MOE 0.0000803883 → 0.0005501653604263294 at 4 GPUs (server term 0.00022735963562485242); C_OUT_GENERIQUE 0.000439119 → 0.0076252864360317404 at 16 GPUs (server term 0.0032792719154543922). All four coefficients move ≥ 5 %, so MDR-13-03 requires a new registry release; because the version and effective-from dates stay 2026-11-11 (same-day remediation of an unshipped registry), that release is the revision 2 release, discriminated by the top-levelrevisioninteger rather than by a version-date change. Rationale: MDR-13-03 materiality and MDR-13-04 system boundary — the earlier values were per-GPU assets presented against a whole-request boundary, so no coefficient implemented the declared three-term boundary. - CORR-08 | action:
corrected| entity:C_in bucket boundaries and anchors— The four C_in buckets were re-anchored and re-bounded. Old boundaries (active parameters): PETIT ≤1B, MOYEN 1B–10B, MASSIF_MOE 10B–70B, GÉNÉRIQUE >70B. New disjoint total-parameter boundaries: PETIT ≤10B; MOYEN >10B and ≤50B; MASSIF_MOE >50B and ≤200B; GÉNÉRIQUE >200B or unclassifiable. Anchors, each inside its bucket: PETIT Llama-3.1-8B (8.03B total / 8.03B active); MOYEN Mixtral-8x7B (46.7B total / 12.9B active); MASSIF_MOE Llama-3.1-70B (70.55B total / 70.55B active); GÉNÉRIQUE extrapolation above Llama-3.1-405B (405.85B total / 405.85B active). Mixtral's active-parameter count is corrected from ≈7B to 12.9B against the pinned EcoLogits model catalog (mistralai/Mixtral-8x7B-v0.1: total 46.7, active 12.9). Rationale: MDR-13-02 scope-matched tier semantics and MDR-13-05 allocation — an anchor must lie inside the boundary it is labelled with, and the active/total basis must be reproducible from the pinned catalog. - CORR-09 | action:
corrected| entity:C_IN_MASSIF_MOE scope and tier— The entry keeps its MEASURED tier, but its label,derivation.formulaandderivation.extractionNoteare restated as a model-specific Llama-3.1-70B H100 prefill measurement that the bucket references; the earlier bucket-blending and substitute-point wording is removed. No bucket average, no substitute model and no transformation is claimed or applied. Rationale: MDR-13-02 — a model-specific measurement is MEASURED when the entry publishes the model identity and applies no transformation; a bucket that references it does not turn it into a bucket average. - CORR-10 | action:
corrected| entity:TokenPowerBench citation and licence; per-input-token prefill source triage— The TokenPowerBench record (arXiv:2512.03024) is corrected to what the source actually publishes. Licence: the arXiv record carrieslicenses/nonexclusive-distrib/1.0and the AAAI-26 camera-ready carries an all-rights-reserved notice — Copyright (c) 2026, Association for the Advancement of Artificial Intelligence. All rights reserved. — so the previously recorded CC BY 4.0 licence appears nowhere on the record and was wrong. Locator: the paper contains exactly one table (Table 1); the energy results are Figures 2–6, so the recorded Table 3 locator does not exist. Batch sweep: the tested range is 32–1024 with the curve flattening at ~256, not the previously recorded 32→256 range. Publication facts: the paper is AAAI-26 peer-reviewed, uses the model label Llama3-70B, and was run on an 8-node cluster of 4× H100 94 GB per node. Value: no printed per-input-token prefill energy in Wh exists anywhere in the paper — Figure 2(a) is captioned Prefill Energy, reports energy per prefill stage, and prints no y-axis unit, so a per-token conversion needs a prefill token count the paper does not publish. No shipped coefficient is derived from this source from revision 3 onward. Rationale: MDR-13-09 admits only openly licensed, dated and edition-pinned secondary factors, so a record under the arXiv non-exclusive distribution licence with an AAAI all-rights-reserved notice is inadmissible as an emission factor; MDR-13-03 requires the change to be recorded with old and new values, and the MDR-13-07 correction withdraws the C_in clause whose premise this citation supplied. Every fact here was verified against the network on 2026-11-12 (13-UAT.md tests 1–2); no re-fetch is performed by this plan. 2026-11-12 negative-premise survey (13-UAT.md test 2): two further sources do publish a per-input-token prefill energy and are excluded on licence grounds, not for absence of the quantity — Ruf & Detyniecki, The Cost of Context (arXiv:2610.19819, HotCarbon'26 / ACM SIGENERGY Energy Informatics Review), reports Llama-3.1-8B prefill at 0.0090 J per input token (vLLM) and 0.0678 J (HF baseline) at ~112k context, but the record carries the arXiv default non-exclusive licence with no Creative Commons grant; and Greenpixie (arXiv:2609.33965) publishes the prefill/decode split in Wh per token with real batching across 1.8B–1T parameters, but is CC BY-NC-ND 4.0 with scale-masked absolutes (CORR-03). Splitwise (ISCA'24) is openly licensed (data CC BY 4.0, code MIT) but measures phase power and throughput on GPT-3-class models, not at the four bucket anchors. ML.ENERGY Benchmark v3 publishes output-token energy only; its PD-disaggregation decode-energy share at Llama-3.1-8B and Llama-3.1-70B is a published phase split but not a per-input-token figure. The premise therefore holds as a licence-admissibility claim, never as an assertion that no such measurement exists anywhere. - CORR-11 | action:
corrected| entity:C_in coefficients, tier and basis— The four C_in coefficients are re-derived from the paired EcoLogits C_out at the conservative prefill fraction and re-tiered. Old → new per entry: C_IN_PETIT 0.0003 → 0.00001858103875067594; C_IN_MOYEN 0.0009 → 0.0000396242311438334; C_IN_MASSIF_MOE 0.002 → 0.00013754134010658236, now shipped as C_IN_MASSIF; C_IN_GENERIQUE 0.003 → 0.0019063216090079351. All four move far beyond 5 %, so MDR-13-03 requires a registry release, published here as revision 3 with version and effectiveFrom 2026-11-12. C_IN_MASSIF_MOE moves MEASURED → HYPOTHESIS: its old value was readable only off a figure axis with no printed unit and appears nowhere in the paper, so it is not a published quantity, and CORR-09 is superseded on the tier. Every new value is PREFILL_FRACTION 0.25 × the paired EcoLogits-derived C_out at the same anchor model, the product-formula alternative to the previous heuristic interpolation, with the sanity bound C_in < C_out recorded per entry inderivation.sanityBoundandderivation.prefillFractionBand[0.10, 0.25].cOutOverCInmoves from 0.2477, 0.1761, 0.2751 and 2.5418 to 4.0 for all four buckets, so no input token is priced above an output token at any anchor. Replacement source edition, the same edition everyC_OUTlocator names: the pinned EcoLogits package@ecologits/[email protected](git sha c739e8d61f6a12a85864adb698ab85623fe70f3c, synced 2026-10-02), whose methodology documentation is CC BY-SA 4.0. Rationale: MDR-13-17 records the prefill-fraction basis — with no admissible per-input-token prefill measurement, C_in ships as a documented HYPOTHESIS anchored below its C_out, which the phase physics requires because prefill is compute-bound at high utilisation while decode is memory-bandwidth-bound and dearer per token. MDR-13-02 supplies the tier rule the old MEASURED label failed: MEASURED requires the source to publish the quantity at the entry's scope. MDR-13-03 requires the old and new values, the source edition and the date. - CORR-12 | action:
corrected| entity:MASSIF_MOE bucket naming— The MASSIF bucket id is renamed fromC_OUT_MASSIF_MOE/C_IN_MASSIF_MOEtoC_OUT_MASSIF/C_IN_MASSIF. The boundaries (PETIT ≤10B; MOYEN >10B and ≤50B; MASSIF >50B and ≤200B; GÉNÉRIQUE >200B or unclassifiable) and the anchor (meta-llama/Meta-Llama-3.1-70B, 70.55B dense) are unchanged, so no coefficient moves because of this correction. The dense/mixture-of-experts distinction now lives where it actually holds — inderivation.anchorModeland in the label anchor clause: MOYEN names its Mixtral-8x7B anchor as a mixture-of-experts model (46.7B total / 12.9B active) and PETIT, MASSIF and GÉNÉRIQUE name dense anchors. The ids as written in CORR-07, CORR-08 and CORR-09 are historical: the change log records what the ids were at the time of the change. Rationale: MDR-13-16 records that a bucket name is a public claim — the retired suffix asserted a composition the bucket does not implement, because the only mixture-of-experts anchor in the set sits in MOYEN. Renaming keeps the accepted boundaries and anchors while making the id describe only what the bucket routes.
Assumptions¶
These explicit assumptions govern the registry's epistemic posture. They are mirrored from the assumptions object in constants.json and must be reviewed whenever the primary-source landscape changes.
- clientAssertedInputProvenance — Token counts (
tokensIn,tokensOut,cachedTokensIn) are asserted by the client making the request. The estimator cannot independently verify or measure token counts. - datacenterUpliftApplication —
DATACENTER_UPLIFTis applied once by the consumer to the summed per-request IT energy of prefill and decode —(T_in × C_in + T_out × C_out) × DATACENTER_UPLIFT— whereT_inandT_outare the input and output token counts andC_in/C_outare the shipped per-token IT-energy coefficients. It is not included in any coefficient, it is not applied to the GPU term alone, and it is not applied per term, so no consumer path can count it twice. - decodePrefillRatioPolicy —
C_inremains its own coefficient with its own tier, basis and upgrade path, but since revision 3 it is anchored on the pairedC_outat the conservative prefill fraction (MDR-13-17), so the recordedcOutOverCInis 4.0 for every bucket by construction — a definitional outcome of the shipped values, not an observed measurement and not a defended global constant. The input document's illustrative ~3.5× ratio is not the source of the fraction and remains a non-imported illustration. - conservativeUplift — The 1.30 datacenter uplift exceeds every known provider PUE: the EcoLogits provider table tops out at 1.20 (Anthropic 1.09–1.14, OpenAI 1.20, Google 1.09, Mistral 1.16). It ships as an explicit conservative hypothesis, not a sourced measurement.
- fixedBatchSize —
BATCH_SIZE = 64, inherited from the EcoLogits reference configuration; actual batch sizes vary by provider, and measured batch sweeps recorded qualitatively in the literature (TokenPowerBench, recorded as context only under CORR-10) show energy per token falling steeply before flattening. - generationBasedGridScope — The Ember 2025 world lifecycle value of 458.29 g CO₂e/kWh is generation-based (includes upstream, supply-chain and manufacturing stages), not consumption-based (imports/exports are not reallocated). Scope 2 location-based reporting typically uses a regional mix rather than a global average; the global average is an acknowledged proxy.
- hypothesisMethodology — Some coefficients are Bloomy hypotheses rather than sourced measurements. Every HYPOTHESIS entry records its rationale and an upgrade path, and no uncertainty interval is invented where the source publishes none.
- inheritedServingConfig — vLLM backend, NVIDIA H100 80 GB, 16-bit quantization,
SERVER_POWER = 1.2 kW,SERVER_GPUS = 8, hardware lifespan ΔL = 3 years. These describe the EcoLogits reference configuration, not our actual serving stack. - noVendorAudit — Energy figures reflect third-party research measurements, not audited data from specific AI providers. Actual per-request energy may differ with hardware, software optimisation and utilisation.
- operationalBoundary — Operational electricity for inference only: GPU + non-GPU server + datacenter overhead (PUE). Excluded: embodied/grey energy, manufacturing, end-of-life, water consumption, network and storage, training amortization, and idle capacity beyond the declared batch/PUE assumptions.
- prefillFractionPolicy —
PREFILL_FRACTION = 0.25is the conservative upper bound of the stated hypothesis band [0.10, 0.25]. EveryC_inisPREFILL_FRACTION× its pairedC_outand is therefore strictly below it (4.0× headroom), which the phase physics requires: prefill is compute-bound at high utilisation while decode is memory-bandwidth-bound and dearer per token. No cited source publishes a per-input-token prefill energy at the anchors (CORR-10, MDR-13-17), so the fraction is a labelled hypothesis with a stated band and an upgrade path. The band is the hypothesis domain, not a source-published uncertainty interval (D-06, MDR-13-10). - usedByResolution — Every entry's
usedBynamesworkers/mcp/src/energy-model.ts, the Phase 14 module that pins these coefficients; the file does not exist in Phase 13 and Phase 14 creates it while flipping the ship-set from declared to actual constants.
Methodology Decision Records¶
Full decision records, alternatives, rationale and review triggers: METHODOLOGY-DECISIONS.md. Every entry above references at least one of these records, and the gate verifies the references in both directions.
| ID | Title | Standard Reference |
|---|---|---|
| MDR-13-01 | Functional unit declaration | ISO 14067:2018 §5.2 |
| MDR-13-02 | Epistemic tier definitions | ISO 14064-1:2018 uncertainty principles; GHG Protocol Corporate Standard (revised edition) |
| MDR-13-03 | Recalculation and materiality policy | GHG Protocol Corporate Standard (revised edition) base-year concepts; ISO 14044 comparability |
| MDR-13-04 | System boundary definition | GHG Protocol Scope 2 Guidance (2015) §4.3; ISO 14067:2018 §5.3 |
| MDR-13-05 | Allocation method | GHG Protocol Corporate Standard (revised edition) completeness; ISO 14067:2018 allocation |
| MDR-13-06 | Grid factor method — location-based | GHG Protocol Scope 2 Guidance (2015) §5.1 |
| MDR-13-07 | Coefficient precedence framework | ISO 14067:2018 §6 |
| MDR-13-08 | Cache multiplier treatment | ISO 14044 data-quality requirements |
| MDR-13-09 | Data hierarchy and quality | ISO 14067:2018 §6; ISO 14044 data-quality dimensions |
| MDR-13-10 | Uncertainty treatment | ISO 14064-1:2018 §6.3 |
| MDR-13-11 | Exclusions declared | GHG Protocol Corporate Standard (revised edition) boundary-setting; ISO 14067:2018 disclosure |
| MDR-13-12 | Batch size assumption | ISO 14044 technological representativeness; EcoLogits reference configuration |
| MDR-13-13 | Market-based exclusion | GHG Protocol Scope 2 Guidance (2015) — location-based method only |
| MDR-13-14 | Datacenter uplift factor | GHG Protocol Corporate Standard (revised edition) conservatism |
| MDR-13-15 | Registry versioning and change log policy | GHG Protocol Corporate Standard (revised edition) consistency; ISO 14067 comparability |
| MDR-13-16 | Bucket representation and naming | ISO 14067:2018 §6 (data hierarchy); ISO 14044 technological representativeness |
| MDR-13-17 | C_in basis — prefill fraction hypothesis | ISO 14067:2018 §6 (data hierarchy); ISO 14064-1:2018 transparency |
Versioning and Comparability¶
The registry is versioned with version and effectiveFrom (both recorded above) plus the corrections array as its structured change log. A shipped coefficient moving ≥ 5 %, or any change to a boundary, assumption or functional-unit decision, publishes a new registry version with a dated methodology-change note and a Phase 14 re-pin. Below 5 %, a new source edition is recorded in the change log while the pinned value stays until the next methodology release. A retracted source triggers immediate review regardless of magnitude (MDR-13-15).
This page documents the registry at its current state. For the machine-readable canonical, see constants.json.