Model/docs/adr
Khalim Conn-Kowlessar 35a7c07812 docs(adr): ADR-0030 — SAP-version-aware, component-first EPC Prediction validation
Records the grilling-session decisions amending ADR-0029's validation:
- Source cohort keeps all cert vintages (components are agnostic of the SAP
  methodology that rated them); only the held-out validation TARGET is
  restricted to SAP 10.2. Amends ADR-0029 decision 5 ("pre-SAP10 dropped").
- Component Accuracy (predicted vs API actual components) is the primary,
  calculator-independent signal. calc(predicted) vs calc(actual) rejected
  (circular ground truth, hides calculator error); neighbour-mean-lodged-SAP
  baseline rejected (mixes SAP versions). calc(predicted) vs API-lodged
  SAP/carbon/PE kept as a secondary, calculator-floored guard.
- Two tiers: committed anonymized fixture (ratcheting CI gate) + bulk-export
  national battle-test on harness/epc_bulk.py + harness/cohort.py, emitting
  accuracy + a failure taxonomy, re-baselining the gate floors.

CONTEXT.md: Comparable Properties corrected to all-vintage source; new
Component Accuracy term. ADR-0029 Validation section marked superseded.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 08:47:58 +00:00
..
0001-two-source-paths.md added architechtural decisions, added to prd 2026-05-13 21:26:18 +00:00
0002-property-aggregate-root.md added architechtural decisions, added to prd 2026-05-13 21:26:18 +00:00
0003-python-writes-landlord-overrides-directly.md move landlord overrides 2026-06-01 15:46:46 +00:00
0003-strict-ingestion-modelling-separation.md docs(ara): composable stage-orchestrator design (ADR-0011 + ADR-0003 amend + CONTEXT) 2026-06-01 16:28:48 +00:00
0004-baseline-performance-lodged-effective-pair.md refactor(property-baseline): rename baseline → property_baseline aggregate (PR #1139 review) 2026-06-01 16:28:48 +00:00
0005-multi-phase-scenarios-per-phase-recompute.md docs(modelling): #1157 Plan-persistence design review 2026-06-03 11:12:54 +00:00
0006-deterministic-kwh-no-baseline-ml.md scaffolding for ml pipeline 2026-05-16 14:15:56 +00:00
0007-kwh-as-ml-target.md scaffolding for ml pipeline 2026-05-16 14:15:56 +00:00
0008-physics-as-feature.md docs: ADR-0008 physics-as-feature + v16.0.0 schema bump 2026-05-17 11:20:40 +00:00
0009-deterministic-sap-calculator.md docs(modelling): #1157 Plan-persistence design review 2026-06-03 11:12:54 +00:00
0010-sap10-calculator-spec-target-and-validation.md refactor: move docs/sap-spec/ contents into domain/sap10_calculator/ 2026-05-26 13:17:18 +00:00
0011-composable-stage-orchestrators.md docs(ara): composable stage-orchestrator design (ADR-0011 + ADR-0003 amend + CONTEXT) 2026-06-01 16:28:48 +00:00
0012-unit-of-work-per-stage-batch-transaction.md refactor(orchestration): wire stages onto the UnitOfWork; per-stage commit (#1138) 2026-06-01 16:28:48 +00:00
0013-bulk-upload-finaliser-writes-properties.md reformatted to be DDD structure 2026-06-04 14:50:04 +00:00
0013-calculator-produces-effective-performance-shadow-first.md docs(adr): Bill Derivation (ADR-0014) + calculator goes load-bearing (ADR-0013 amend) 2026-06-04 15:40:26 +00:00
0014-bill-derivation-from-real-fuel-rates.md feat(baseline): SAP fuel-code -> Fuel mapping for billing (ADR-0014) 2026-06-04 15:40:26 +00:00
0015-mappers-own-cert-normalization.md docs(baseline): Bill Derivation design — fuel as calculator output + rebaselining is assemble-and-score 2026-06-02 18:04:55 +00:00
0016-package-rescore-over-warm-start-optimisation.md feat(modelling): ventilation-aware selection — price the forced dependency in 2026-06-03 16:16:26 +00:00
0017-plan-persistence-evolve-live-tables.md docs(modelling): design the plan_recommendations retirement (ADR-0017 amendment) 2026-06-03 20:24:30 +00:00
0018-valuation-uplift-percentage-primary.md docs(modelling): record Valuation Uplift design (ADR-0018 + glossary) 2026-06-04 07:52:33 +00:00
0019-wall-insulation-eligibility.md docs: cross-link system-built blocker to Hestia-Homes/Model#1177 2026-06-04 18:29:05 +00:00
0020-conservation-status-as-property-attributes.md docs(adr): record slice 3c persistence + unknown-default decisions (ADR-0020) 2026-06-04 18:26:21 +00:00
0021-roof-insulation-eligibility.md docs: roof-insulation eligibility design (ADR-0021 + CONTEXT) 2026-06-04 20:53:21 +00:00
0022-glazing-eligibility-and-overlay.md docs: glazing eligibility, overlay + pricing design (ADR-0022 + CONTEXT) 2026-06-04 22:44:13 +00:00
0023-lighting-eligibility-and-overlay.md docs: lighting eligibility, overlay + pricing design (ADR-0023 + CONTEXT) 2026-06-05 12:02:40 +00:00
0024-heating-eligibility-and-overlay.md docs: heating & hot-water eligibility, bundles, overlay (ADR-0024 + CONTEXT) 2026-06-05 18:51:33 +00:00
0025-ashp-bundle-costing.md feat(modelling): ashp_cost_inputs reads a dwelling into AshpCostInputs 2026-06-06 20:59:27 +00:00
0026-solar-pv-eligibility-sizing-overlay-costing.md docs(modelling): ADR-0026 solar PV eligibility, sizing, overlay, costing 2026-06-08 09:44:02 +00:00
0027-boiler-and-tune-up-costing.md feat(modelling): composite per-dwelling boiler + tune-up costing (ADR-0027) 2026-06-10 19:41:06 +00:00
0027-rdsap-20-0-0-reduced-field-synthesis.md Document RdSAP 20.0.0 Reduced-Field Synthesis (CONTEXT.md term + ADR-0027) 2026-06-10 14:14:18 +00:00
0028-pre-sap10-rdsap-family-coefficient-transfer.md Record pre-SAP10 RdSAP family coefficient transfer (ADR-0028) 2026-06-11 12:06:03 +00:00
0028-secondary-heating-removal.md docs(adr): secondary heating removal — ADR-0028 + CONTEXT term 2026-06-11 15:32:14 +00:00
0029-epc-prediction-from-comparable-properties.md docs(adr): ADR-0030 — SAP-version-aware, component-first EPC Prediction validation 2026-06-14 08:47:58 +00:00
0030-epc-prediction-validation-is-sap-version-aware-and-component-first.md docs(adr): ADR-0030 — SAP-version-aware, component-first EPC Prediction validation 2026-06-14 08:47:58 +00:00