Ratchet SAP-accuracy corpus pins for the #1666/#1667/#1669/#1668 batch 🟩

The four calculator-accuracy fixes stack to move the RdSAP-21.0.1 corpus from
within-0.5 80.3% / MAE 0.584 to within-0.5 81.2% / MAE 0.565082. Ratchet the pins
(repo convention: tighten, never loosen): _MIN_WITHIN_HALF_SAP 0.803 -> 0.812
(measured floor), _MAX_SAP_MAE 0.584 -> 0.566 (MAE rounded up to 3 d.p. so the
`<=` assert holds).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Khalim Conn-Kowlessar 2026-07-22 13:30:59 +00:00
parent 1b742f41aa
commit e2404ea303

View file

@ -280,7 +280,18 @@ _CORPUS = Path(
# (U=0), previously mislabelled a pitched roof so the party override never fired.
# Combined with main's gable fix: within-0.5 79.5% -> 80.3%, MAE 0.599 -> 0.584,
# PE 2.71 -> 2.5. Ratcheted.
_MIN_WITHIN_HALF_SAP = 0.803
# SAP-10.2 CALCULATOR ACCURACY BATCH (#1656 backlog: #1666/#1667/#1669/#1668,
# all stacked on the merged 80.3% baseline above):
# #1666 normalise dual-encoded main_heating_fraction (decimal vs percent) ->
# 80.3% -> 80.6%, MAE 0.584 -> 0.578;
# #1667 bill metal-framed API windows on the Table 24 metal U-column + FF 0.8 ->
# 80.6% -> 81.0%, MAE 0.578 -> 0.571;
# #1669 convert measurement_type=2 external dims to internal (RdSAP §3.4/Table 2)
# -> 81.0% -> 81.2%, MAE 0.571 -> 0.570, PE 2.5 -> 2.4;
# #1668 derive wet-underfloor Table 29 subtype (concrete-slab R=0.25) ->
# 81.2%, MAE 0.570 -> 0.565.
# Measured within-0.5 = 0.812000, MAE = 0.565082. Ratcheted.
_MIN_WITHIN_HALF_SAP = 0.812
# 0.793 -> 0.789 via the §12 Unknown-meter + dual-electric-immersion off-peak
# trigger (RdSAP 10 PDF p.62): Apartment 241 (main 691 + 903 dual immersion)
# -5.38 -> -1.05. Worksheet-validated on "simulated case 48" (Elmhurst SAP 57,
@ -415,7 +426,10 @@ _MIN_WITHIN_HALF_SAP = 0.803
# ceiling roof-code-3 slice stacking on main's #1662 floor-to-unheated-space
# fix: merged-corpus MAE measured 0.583761 (within-0.5 80.3%), rounded up to
# 3 d.p. so the `<=` assert holds.
_MAX_SAP_MAE = 0.584
# Ratcheted 0.584 -> 0.566 by the #1666/#1667/#1669/#1668 calculator-accuracy
# batch (see the _MIN_WITHIN_HALF_SAP note above): merged-corpus MAE measured
# 0.565082, rounded up to 3 d.p.
_MAX_SAP_MAE = 0.566
_MAX_CO2_MAE_TONNES = 0.068 # t CO2 / yr vs co2_emissions_current
_MAX_PE_PER_M2_MAE = 2.72 # kWh / m2 / yr vs energy_consumption_current