Model/domain
Jun-te Kim 11a637c6bd test(accuracy): ratchet 77.0% -> 77.3% via unsized-cylinder storage-loss fix
A hot-water cylinder lodging gov-API `cylinder_size=0` ("size not
determined", with has_hot_water_cylinder=true) resolved to a None volume
in `_cylinder_storage_loss_override` (which reads `_cylinder_volume_l_
from_code`, returning None for code 0). The subsequent `if volume_l is
None: return None` then DROPPED the cylinder's Table-2 storage loss
entirely — under-costing the DHW and over-rating the dwelling. Meanwhile
the Table-13 high-rate-fraction path already used `_hot_water_cylinder_
volume_l` (which defaults size 0 to 110 L), so the two DHW paths
disagreed on the same cylinder.

RdSAP 10 §10.5 Table 28 ("if the actual size is not determined, the size
is taken as according to Table 28") makes an unsized present cylinder the
110 L "Normal" baseline, which STILL incurs the storage loss. Fixed by
defaulting the storage-loss volume to 110 L for the explicit size-0 case.

Gated on the EXPLICIT 0 (not None): a full-SAP cert whose RdSAP
cylinder_size is simply unlodged (None, e.g. pinned 10091568921) keeps
its own cylinder handling rather than a forced 110 L RdSAP default.

7 corpus certs lodge cylinder_size=0 + has_cylinder=true. Gauge: within
77.0% -> 77.3%, SAP MAE ~flat (0.648), CO2 0.074 -> 0.073, PE 3.2 -> 3.05
(the previously-dropped storage loss now correctly counted in the demand
cascade). Unit-pinned in test_cert_to_inputs (storage loss non-None for
size 0); RealCertExpectation 200004017091 = 71.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:02:27 +00:00
..
addresses standardist Address 2026-05-22 10:13:32 +00:00
billing Route an off-peak meter's electric end uses to the day/night carrier 🟩 2026-06-24 17:38:37 +00:00
data_transformation Let a deterministic guard override the fallback classifier per description 🟩 2026-07-01 09:39:50 +00:00
elmhurst more examples 2026-06-19 09:51:49 +00:00
epc Merge pull request #1429 from Hestia-Homes/fix/property-overlay-storage-category 2026-07-02 12:51:58 +01:00
epc_prediction Predict ventilation kind from the cohort mode 🟩 2026-06-26 10:54:11 +00:00
fuel_rates Expose an off-peak meter's standing charge and full day/night blend range 🟩 2026-06-24 17:14:51 +00:00
geospatial feat(geospatial): one-read spatial reference (coords + restrictions) 2026-06-04 17:13:39 +00:00
magicplan Mapper reads 'Individual Trickle Vent' label variant 🟩 2026-06-30 13:44:38 +00:00
modelling Merge pull request #1426 from Hestia-Homes/fix/hhrsh-storage-offpeak-pricing 2026-07-02 12:50:32 +01:00
property feat: thread physical-state-change signal into rebaselining 🟩 2026-06-26 19:15:11 +00:00
property_baseline Persist no Lodged Performance for a predicted Property 🟩 2026-06-30 22:10:57 +00:00
sap10_calculator test(accuracy): ratchet 77.0% -> 77.3% via unsized-cylinder storage-loss fix 2026-07-02 23:02:27 +00:00
sap10_ml test(accuracy): ratchet SAP MAE 0.658 -> 0.647 via wall added-insulation unknown-thickness default 2026-07-02 20:24:56 +00:00
tasks new application to trigger e2e for a single property and scenario 2026-06-22 12:54:53 +00:00
building_geometry.py feat(modelling): floor Recommendation Generator + ground-floor-area geometry 2026-06-03 09:12:29 +00:00
postcode.py get rid of comments 2026-05-20 13:21:11 +00:00