Skip to content

Adjudicate the incumbent's four post-calibration aggregate scalers #790

Description

@juaristi22

Parent: #665 (WS-D/E boundary). Extracted from the 2026-08-14 adjudication request on #623 so the ruling has a home that survives #623 closing at the first certified cut; registered in #736.

The question

The incumbent runs four aggregate adjustments after calibration, on weighted sums:

  1. Rail-subsidy scaling to the ORR total
  2. Bus-subsidy scaling to the DfT total
  3. Fuel-litre-proxy scaling to HMRC road-fuel clearances
  4. Bus-fare rescale to the DfT total, which also reshapes the income gradient to NTS trips-per-quintile — a distributional operation, not only an aggregate one

Because they read calibrated weights, they cannot live in the WS-E source stages — the ports (#682 consumption/services, #685 bus fares) deliberately exclude them — and the calibration seam landed without them (#743, per the 2026-08-20 scope ruling). Nothing in the migrated pipeline reproduces their effect today.

The options

  • (a) Port them as a declared post-calibration step in the seam, under adjudicated doctrine (each scaler a declared operation with its target total pinned as a chronicle fact, mass semantics recorded). Keeps the incumbent's published levels; adds a second adjustment layer after the solve.
  • (b) Replace them with calibration targets — rail/bus subsidy totals and road-fuel volumes as chronicle facts the solver binds directly, letting reweighting do what the scalers did by multiplication. No post-solve mutation; distributional NTS gradient would need its own representation (quintile-level facts) or a signed limitation.
  • (c) Sign their absence — accept the level gap on these four surfaces with tracked exclusions until (a) or (b) lands.

Evidence that bears on the ruling (2026-08-26, #757 branch)

The obr.fuel_duties investigation on the first live seam runs measured the frame carrying ~37% of implied road-fuel litres (LCFS two-week-diary zero-inflation: fuel-recording share 0.44 petrol / 0.19 diesel against ~78% car ownership), leaving obr.fuel_duties at −62.5% relative error. The incumbent's fuel-litre scaler to HMRC clearances compensated for exactly this under-capture. The scaler ruling and the pending fuel-duties disposition (household-incidence retarget vs total-receipts fact, flagged on #757) are the same question from two sides: whether the gap closes by scaling values, by binding volume targets, or by re-scoping the fact to what a household frame can carry.

Related: rail levels measured ~3.07× donor at #686 (after accounting for the incumbent's per-head division defect, policyengine-uk-data#469), so the rail scaler's effect is entangled with a known incumbent defect on the same surface.

Acceptance

  • A ruling choosing (a), (b), or (c) per scaler — they need not share one answer; the NTS gradient reshape is adjudicated separately from the three pure aggregate scalings.
  • The chosen mechanism lands with declared provenance (facts pinned, mass/distributional semantics recorded) or signed exclusions with tracking.
  • The obr.fuel_duties disposition on Swap the microcosm-built UK spine into the national build and retire the incumbent feed #757 is resolved consistently with the fuel-scaler ruling.

🤖 Filed with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions