mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
User clarified end-of-session: mapper is a thin enum-and-shape translation; when residuals remain after closing mapper coverage gaps, the gap is in the **calculator cascade**. This unlocks an Elmhurst-only fixture path that doesn't need API JSON at all. The fixture shape mirrors the 6 historical Elmhurst U985 fixtures (000474, 000477, 000480, 000487, 000490, 000516) at `domain/sap10_calculator/worksheet/tests/_elmhurst_worksheet_NNNNNN.py` + `test_e2e_elmhurst_sap_score.py`: build_epc() → cert_to_inputs → calculate_sap_from_inputs ↳ every SapResult field pinned at abs=1e-4 against U985 line refs Any failing pin is definitionally a calculator bug. The user generates certs in Elmhurst SAP and exports Summary + worksheet ZIPs — no gov.uk EPB lodgement required. Extended test case (000565) ready at `sap worksheets/extended test case/`: - Summary_000565.pdf (input) - U985-0001-000565.pdf (worksheet ground-truth) Cert 000565 is a wacky stress-test that exercises 3-4 zero-coverage cascade paths in one cert: Main + 4 extensions, age mix A through J, RR on every part with mixed ages, conservatory with fixed heaters, curtain-wall Ext2 post-2023, mixed wall types (solid brick + stone + curtain wall), mixed party walls (CU + CF + Unable to determine). After this cert lands, the user has agreed to generate single-feature certs (oil only, LPG only, solid fuel only, electric direct only, multi-main-heating, basement) to surface single-cause calculator gaps. Handover doc now has implementation outline (mirror _elmhurst_worksheet_000474.py shape) and a coverage-paths table showing which targets each fuel-type/config exercises. |
||
|---|---|---|
| .. | ||
| addresses | ||
| data_transformation | ||
| epc | ||
| sap10_calculator | ||
| sap10_ml | ||
| tasks | ||
| postcode.py | ||