mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-27 23:35:01 +00:00
Clears the three non-table-add blocks tracked in #1639 plus a latent age-band bug they surfaced. LRHA WAVE 3 cohort: 77 → 103 of 104 computing. Block A (exact cylinder volume): a measured cylinder lodges its litres on a separate "Exact cylinder volume:" line; parse it in the extractor, carry it on WaterHeating.cylinder_volume_measured_l, route the "Exact cylinder volume" band to SAP cylinder-size code 6, and thread the litres into SapHeating (the calculator reads them only when the code is 6). Verified end-to-end on the real 166 L fixture. Block B (Controls line-wrap): PasHub wraps a long "Controls:" value across two PDF lines and _get_in read only the first, truncating the label so the mapper missed its Table 4e code. Re-join the continuation when the value ends on a conjunction/comma (grammatically incomplete) so "…room thermostat and TRVs" matches the existing code 2314. Scoped to Controls: — the shared _get_in is unchanged; a wider truncation audit is tracked separately. Age-band normalisation: the heat_network_age_band '2007 - 2011' block was one facet of a broader bug — PasHub lodges the construction age band in mixed templates ("K: …" prefixed, tight "1991-1995", space-padded "2007 - 2011") and only the letter form was normalised, so bare year ranges were SILENTLY MIS-RATED by the age-band-keyed U-value/DLF cascades. Normalise every template to its RdSAP letter in _extract_age_band: unblocks the heat-network dwellings AND corrects ~30 already-computing fixtures (within-0.5 42.9% → 49.5%, MAE 3.05 → 1.02). Sibling Guinness cohort unchanged (82.9% / 0.36). Block C (gable 'None') was already resolved on main — no change needed. Fixture 461178278096 lodges no main heating at all (MissingMainFuelType); tolerated as a known gap in the harness and ticketed (#1680) for the modelling decision. LRHA ratchets re-baselined to the corrected cohort (0.49 / 1.05). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| fixtures | ||
| __init__.py | ||
| test_elmhurst_end_to_end.py | ||
| test_elmhurst_extractor.py | ||
| test_end_to_end.py | ||
| test_extractor.py | ||
| test_heating_systems_corpus.py | ||
| test_pashub_sap_accuracy.py | ||
| test_pashub_sap_accuracy_lrha_wave3.py | ||
| test_pashub_sap_accuracy_wythenshawe.py | ||
| test_pdf.py | ||
| test_room_heater_worksheet_001431.py | ||
| test_summary_pdf_mapper_chain.py | ||