Model/tests/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 Pin end-to-end off-peak day/night bill regression 🟩 2026-06-24 18:05:33 +00:00
data_transformation Let a deterministic guard override the fallback classifier per description 🟥 2026-07-01 09:39:16 +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 Re-baseline pins for full-SAP PV + tariff mapper fixes 🟩 2026-06-30 09:18:39 +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
magicplan Mapper reads 'Individual Trickle Vent' label variant 🟥 2026-06-30 13:43:48 +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 test: portfolio-796 override-rebaseline regression (the 7 properties) 🟩 2026-06-26 19:22:32 +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
tasks tests framework completed 2026-05-20 14:00:19 +00:00
__init__.py added postcode splitter rewrite to ddd 2026-05-19 16:35:09 +00:00
test_building_geometry.py feat(modelling): floor Recommendation Generator + ground-floor-area geometry 2026-06-03 09:12:29 +00:00
test_postcode.py tests framework completed 2026-05-20 14:00:19 +00:00