Rules frozen before data, results published regardless — the public record (recent registrations; earlier ones on the archive page).
CECadence's validation rules are pre-registered: each rule is frozen in a dated, committed protocol before the data it will be judged against is fetched, and the results are published whatever they say. This page is the public record of that discipline. The full protocol text — rules, parameterisations and adjudication procedures — is part of the licensed diligence pack: request it at hello@compoundingenergy.com.
Every pre-registration below is a git commit in the product repository, made before the corresponding data fetch; a continuous-integration guard fails the build if held-out data appears without its pre-registration. On request we walk diligence teams through the commit history — timestamps and content hashes cannot be edited after the fact. And the record includes failures and rejected model changes: a vendor curating its results would not publish these.
| Pre-registered rule | Frozen (commit · date) | Outcome |
|---|---|---|
| Balancing stress, measured where measured, frozen where not | f86e67c · 2026-08-31 |
EXECUTED — ADOPTED 2026-09-01: beyond the range the pinned record can measure, the stress term is held at that record's frontier rather than extrapolated past its own evidence |
| The locational transmission-tariff line — additive, default-off | 71f53f1 · 2026-09-01 |
DEFERRED 2026-09-02 (5f97c66): both premises the registered keying depended on failed against the published tariff schedule, so the rule was not applied and the deferral published rather than the keying loosened to fit |
| True settlement days, not pseudo-days | d9b423f · 2026-09-02 |
EXECUTED — ADOPTED 2026-09-03: realised-mode diagnostics group by true settlement days — including the short and long clock-change days — instead of fixed-length blocks; every graded cell stayed byte-identical: a diagnostic corrected without moving a graded result |
| The transmission-tariff line, re-keyed — the candidate's own published generation zone resolved from geometry, and the storage tariff on the charging methodology's own load-factor form, replacing the two premises the deferral measured false | ad5e508 · 2026-09-23 |
Registered; executes in later commits, probe-first — the line stays additive and default-off; the two failed premises become fixed readings of the published schedule, not judgements at execution |
| The zone key measured from geometry — postcode districts resolved against published zone geometry replace blanket postcode-area rows for the measured zonal balancing factors and candidate zone inference, so both share one key | 0067ed3 · 2026-09-23 |
Registered; did NOT execute at the 2026Q3 re-pin (the zonal measurement stayed on the postcode-area table; every widened unit's zone published as unresolved); executes in a later commit, the outgoing window re-keyed first as a published before/after; agreement with the hand-reviewed site registry is the gate; a disagreement is published and adjudicated later, never resolved at execution |
| An application rule for the dispatch-efficiency instrument — a labelled fleet-achieved companion row beside the model's wholesale ceiling, per duration class, gated on the stability of the quantity applied, not of a quarterly value nothing applies | 870190e · 2026-09-23 |
Registered; a registered fetch first pins the missing half-year of per-period balancing volumes for two quarters the record holds on every other axis (no later period requested), then the rule executes, re-evaluated at every quarterly re-pin against the committed instrument block, never a prose table; the central line, bands, sizing and every graded record never move; a class failing its gate shows no number |
| Candidate capacity-agreement indexation aligned to the index's statutory convention — a new-build candidate's contracted capacity payment inflation-adjusted by the statutory convention the measured index already applies, so candidate and fleet are priced in one money for the same auction and delivery year; an execution error under the agreement lock's own words, recorded before any 2026Q3 data because it moves candidate outputs | a506309 · 2026-09-29 |
EXECUTED 2026-10-09 with the model recalibration, never before (a pre-execution ruling); the candidate's contracted capacity line falls by roughly 3% across its term (its own published step per cleared auction year); no graded record moves; statutory definitions checked against the published Regulations, the one remaining approximation (the auction's base period) stated |
| Frequency-response structure — pre-execution rulings and a forward test — before any fit or 2026Q3 data: how the frozen gates are read is fixed (each item alone at the model's calibration point, a floating-point allowance only — rounding noise can fail an item, never pass one; alternative readings published, never deciding); one registered effect corrected (a negative-clearing leg otherwise subtracted twice), that leg's curve held flat at its measured clearing, never extrapolated; both default-path items leave the calibration point unchanged, so they adopt or not by a forward out-of-sample test on 2027, the first full measured year outside the fit window, the model's lines frozen before its first quarter is pinned | 424279e · 2026-09-29 |
Registered; both items dormant until the 2027 record is pinned and graded on its initially settled figures, then adopt or not under the frozen gates (if the freeze cannot precede 2027's first quarter, the graded year moves to the first it does — never a year partly seen); the two co-optimisation items grade at the recalibration; 2026Q3 is re-labelled inside the fit window, so nothing is validated by it |
| Battery-unit identification for the measured index — two index-only additions to the frozen membership rule: a spelling rule ("SITE1" is read as "Site 1") and the public planning database of battery sites as a second source; identity only — metered volume still decides activity, the behavioural gate membership; a unit the register names only by its identifier is published as a known miss, never guessed | ac0a351 · 2026-09-29 |
EXECUTED 2026-10-08 (5cafa7d) at the 2026Q3 advance's membership pin, the planning-database fetch after it: 48 candidate units recognised (11 from the index's own site list, 5 by the spelling rule, 32 by the planning database), 13 metered in the window and through the behavioural gate (2, 5 and 6 by route). Founder ruling; each recognised unit published with its route and public reference, earlier quarters pinned additively so none reads as a new entrant; with both additions off every committed member is found again at its committed capacity (register changes published, not absorbed); no model, evidence or grade moved |
| 2026Q3 window-advance target recalibration — the recalibration rule frozen before the new window's targets were applied, on the re-based index the advance switches onto | e7a8149 · 2026-10-08 |
APPLIED 2026-10-09 (the next day, per the frozen no-same-day rule): every class target moves, mostly through the basis switch (the measured fleet roughly doubles and the 4h class becomes thin); the window-and-basis split published beside the new values |
| An open day-ahead price beside the index's within-day price — the day-ahead auction price NESO publishes under its open licence, pinned beside the price the index already uses, to compute with only | 2a244aa · 2026-10-09 |
EXECUTED 2026-10-10 (c49807c): one pull of the open series, pinned beside the index's within-day price — never republished; NESO credited wherever a derived figure appears; the index's existing price is never described as day-ahead |
| The wholesale line becomes a trading position — each battery's declared position at the day-ahead price, plus the difference at the system (imbalance) price, becomes the headline wholesale line, the metered floor beside it permanently as the conservative bound; re-published on this basis and backcast as a labelled series as far as the data reach | 2bf0ce1 · 2026-10-09 |
EXECUTED 2026-10-10 (b677485) as PARTIAL under the frozen rule (two quarters' inputs incomplete after the one permitted re-fetch, so the floor stayed the headline); FULL 2026-10-11 (fbd5dd7) at the next day's pin — every quarter complete, the trading position became the headline (fleet £17.9k/MW·yr, the £16.9k floor permanently beside); the earlier record kept beside, never overwritten; the backcast published labelled, never graded |
| Wider-membership batteries' auction revenue counts — a battery admitted by the wider membership rule has its measured frequency-response auction revenue counted like every other member's (the understatement disclosed at the 2026Q3 advance) | 296dc74 · 2026-10-09 |
APPLIED 2026-10-10 (b677485) at the re-publication: £1.89M of measured auction revenue counted, fleet frequency response £16,753 → £17,048 per MW·yr; no pinned record moved; the uncounted figure published beside the counted one for four advances |
| Capacity Market in the living index — a monthly accrual line for the capacity payments the settled quarterly already measures, labelled as such, with a total including it beside the existing total | 4d2e4c8 · 2026-10-09 |
EXECUTED 2026-10-10 (b677485): the accrual line and the total including it live on every point of the living index, additive; the existing total stays the headline for at least four quarters |
| A thin class carries less weight — a duration class measured on very few batteries is shrunk toward where batteries built at that duration operate, and below a minimum count is a placeholder, not a graded result (the 4h class today: two batteries) | 0927db2 · 2026-10-09 |
Bound first at the 2026-10-11 re-fit: the 4h class (two batteries, 45 MW) read zero weight and took the 2h row as foreseen; 1h/2h at full weight; measured rows unchanged, full-weight values beside |
| Model recalibrated to the re-published index at once — a one-off re-fit to the re-published index rather than waiting for the January advance, under the standing recalibration and thin-class rules | 67f476c · 2026-10-09 |
EXECUTED 2026-10-11: 1h and 2h re-derived equal to the pound; the thin 4h class (two batteries) carried at its 2h peers' row and not graded, its hard-fail against its own row kept as information; FR re-fitted; grades as landed |
| Long-duration classes and capacity de-rating — every duration priced on NESO's published storage de-rating curve for its own auction, flat above its published long-duration threshold; 8h and longer classes zero-weight priors under the thin-class rule, per technology, never pumped hydro for lithium-ion | df169f6 · 2026-10-10 |
EXECUTED 2026-10-12 (c8e6b3a): adopted: every backtest cell byte-identical, no grade moved. Customers see 8h–24h+ classes as zero-weight priors; the Capacity Market de-rated on each auction's own curve; per-technology physics, the pumped-hydro, compressed-air, liquid-air and flow balancing and frequency-response lines shown as not modelled; frequency-response forecasts up about 8% in 2030, 13–14% in 2033 |
| A long-duration storage monitor beside the index — pumped hydro and other long-duration storage measured on the index's conventions, history to 2022, a separate provisional series never inside the CE GB BESS Index, never graded, never a prior for lithium-ion | c204327 · 2026-10-10 |
First fetched and published 2026-10-11 by dated note; signed-in users see technology aggregates only where enough owners exist; unit detail internal; nothing public |
| The cap-and-floor regime in candidate finance — for a flagged candidate, Ofgem's published cap-and-floor mechanics (25-year term, indexed floor and cap, annual comparison with present-value true-up, availability-conditional floor, cap excess shared back) enter the finance cash flows and bands; never otherwise | 01e392c · 2026-10-10 |
EXECUTED 2026-10-12 (a8d7151): finance only — no graded result or unflagged site moved. A flagged site of 8 h or longer shows its finance with and without the regime (the floor fills each year's shortfall; the P90 covenant reflects it); levels user-set or a labelled estimate; revenue lines unchanged; status minded-to throughout |
| 2026-10 methods-update target recalibration — the recalibration table frozen from the re-published index before anything was applied; the window does not move, only the cells the registered rules change | f367fb4 · 2026-10-10 |
Applied 2026-10-11 as registered: three FR cells moved, trading-position cells copied as not published, every other cell locked equal; then the re-fit |
| The equilibrium solver stops when prices settle, not when its step shrinks — large-fleet forecasts could stop on an unsettled price path; stop test replaced, smoothing aid retired, each stop's remaining drift published | 91734fa · 2026-10-10 |
EXECUTED 2026-10-11 (f3058f6): adopted — solvers agree, budgets held; all ten graded cells restated, no verdict flipped (largest leg move 1.6%), earlier cells kept beside; later-year forecasts restated (a 2030 class row −66%) |
| The holdback diagnostic publishes its own inversion — where the frequency-response holdback run cycles more than the headline run, the record says so per class and by how much; no tolerance absorbs it; nothing graded changes | 5633ecf · 2026-10-11 |
EXECUTED 2026-10-12 (1151062): the committed readings reproduced to the bit and published in two states — the 1h holdback run cycles less and lands nearer the metered fleet; the 2h run cycles MORE (+4.9%) and sits further away — an inversion published as such, nothing absorbing it; no figure, grade or cell moved |
| A measured precision for the cycling figures — how much two converged solves of the same economics can differ in a duration class's cycling and spread-capture figures, measured and published as a committed artifact; it qualifies the words of the holdback reading only — each class's margin named as beyond or within it — never a grade, a gate, a release condition or a tolerance that absorbs an inversion | f3f73b3 · 2026-10-12 |
Registered; executes on a later day |
| The long-duration monitor's wholesale line becomes a trading position — the index's trading-position rule (each unit's declared position at the day-ahead price plus its imbalance at the system price) applied unchanged to the pumped-hydro and other long-duration units the monitor measures, leading in each quarter whose inputs are complete with the measured floor beside; the price inputs re-used from the index's own pins, the per-unit inputs fetched for the monitor's units; signed-in aggregates only where enough owners exist, unit detail internal, nothing public; never graded, never a prior for lithium-ion | 1b98d91 · 2026-10-12 |
Registered; executes on a later day — the five already-netted quarters first, earlier quarters as their inputs complete; three quarters cannot complete on gaps in the index's own system-price data and stay on the floor, stated before the fetch |
| A floor under the long-duration monitor's operating-duration reading — a floor derived from each monitored unit's registered capacity, below which a quarter's operating-duration reading is not published as a figure; the unit's revenue, capacity and volumes still count in full, and such unit-quarters are counted beside the duration mix, never dropped; the quarters whose mix moves are published before and after | 07e797d · 2026-10-12 |
Registered; executes on a later day — the seven affected unit-quarters and every moved mix named before the run; every revenue line locked unchanged |
This page carries the registrations frozen on or after 2026-08-31 — within 42 days of the most recent registration (2026-10-12), that day and the cutoff day both included. The 24 earlier rows — earlier registrations and their outcomes — are on the archive page, public like this one; together the two pages are the whole record, rendered from one committed source and split by registration date, never by hand.
Five re-shape attempts have been pre-registered, fitted and rejected under their own frozen adoption rules. The persistent P95 scarcity-tail failure is a data limit — one crisis year in the historical record — not a knob to be quietly tuned; the registered unlock is a second genuine high-scarcity window. The full diagnosis is in the held-out note; the graded verdicts render live on the methodology tab beside the measured CE GB BESS Index.
The complete document of record: frozen rule text and parameterisations, exact run plans, fuel-multiplier derivation rules, adjacency disclosures (what the model could have "seen"), the publication rule, and the appended measured results of every section whose convention lands them there. Every executed rule's outcome is on the record either way — as an appended protocol result, or in the dated commit and changelog record the table above indexes. Signed-in users (free account included) can read the validation dossier and limitations register; email hello@compoundingenergy.com for the protocol walk-through.