mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
PRD #1385, building-part fabric family. The 17.0 mapper hardcoded floor_insulation_thickness / sap_room_in_roof to None and omitted flat_roof_insulation_thickness, all of which the 17.0 schema lodges and the 19.0/20.0/21.x paths read: * floor_insulation_thickness: "NI" (no measured thickness) -> None so u_floor reaches its age-band default, else pass through (mirrors the 19.0 note). * flat_roof_insulation_thickness: pass through (was dropped). * sap_room_in_roof: map to SapRoomInRoof(floor_area, construction_age_band), None if absent (mirrors 19.0). 17.0-only: the 17.1 SapBuildingPart schema has none of these fields, so its None there is correct (verified against the dataclass). roof_insulation_thickness is intentionally left raw -- the sloping-ceiling resolve helper moves roof U-values and is a separate follow-up. Verification: new test 3 passed; test_mapper_corpus 6002 passed; SAP-accuracy / RealCertExpectation regressions pass; pyright unchanged (39 -> 39, pre-existing). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| epc | ||
| __init__.py | ||
| datatypes.py | ||
| enums.py | ||