mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-27 23:35:01 +00:00
Add `rafter_insulation_thickness` to `EpcBuildingPartModel` (JSONB, matching the sibling thickness columns so Union[str, int] survives) and wire it through `from_domain` / `_to_building_part`. Property 749719 lodges "250mm" -> Table 16 col (2) U 0.23. Dropped, the roof billed at U 2.30 — a 10x error worth -9.8 SAP (lodged 73, calculated 63.2) that moved the dwelling a whole band, C -> D, and drew a 9.63-point loft-insulation recommendation on a roof rated 4/5 by the assessor. The sibling wall/roof/floor_u_value and wall_is_basement fields have the same drop but are deliberately NOT persisted: they are full-SAP artefacts and we re-model as RdSAP, which uses default U-values. Their allow-list entries are re-justified rather than removed — the previous "not read by the calculator" was stale and is what hid this drop. Requires the Drizzle migration in Hestia-Homes/assessment-model to land FIRST; without the column, EPC reads fail outright. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| modelling | ||
| __init__.py | ||
| bulk_address_upload_table.py | ||
| config.py | ||
| engine.py | ||
| epc_property_table.py | ||
| landlord_built_form_type_override_table.py | ||
| landlord_construction_age_band_override_table.py | ||
| landlord_glazing_override_table.py | ||
| landlord_main_fuel_override_table.py | ||
| landlord_main_heating_system_override_table.py | ||
| landlord_override_enums.py | ||
| landlord_property_type_override_table.py | ||
| landlord_roof_type_override_table.py | ||
| landlord_wall_type_override_table.py | ||
| landlord_water_heating_override_table.py | ||
| magic_plan_tables.py | ||
| product_table.py | ||
| property_baseline_performance_table.py | ||
| property_details_spatial_table.py | ||
| property_override_table.py | ||
| property_table.py | ||
| solar_table.py | ||
| subtask_table.py | ||
| task_table.py | ||
| uploaded_file_table.py | ||