mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Second silently-dropped field from the 2130 audit: the schema-21 SapBuildingPart never declared `wall_insulation_thermal_conductivity`, so `from_dict` discarded it. Captured it through schema 21.0.0/21.0.1 → domain SapBuildingPart → API mapper, and wired it into u_wall's RdSAP 10 §5.8 documentary-evidence R-value calc (both the solid-brick §5.7/§5.8 path and the cavity-composite path), replacing the bare 0.04 λ constant with a resolved λ. Resolver: absent / "Unknown" → the §5.8 default 0.04 W/m·K (mineral wool / EPS); a mapped code → its λ; an unmapped integer code RAISES so the enum is confirmed against a worksheet rather than silently mis-factored (same incremental-coverage discipline as the glazing-type map). Only code 1 (= the default 0.04) is mapped — the sole observed value (cert 2130 Ext1). Zero cascade effect today: the λ path fires only for solid-brick/cavity walls with a *measured* wall thickness, and 2130 Ext1 lodges no wall thickness, so its conductivity is captured-but-unused; all existing §5.8 certs lodge no conductivity → 0.04 default unchanged. The point is to stop dropping lodged data and make λ correct when a future cert exercises it. Suite: 2523 passed (1 pre-existing TFA fail); sap10_ml 237 passed (2 pre-existing stone-formula fails). Zero new pyright errors (46=46). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| tests | ||
| __init__.py | ||
| demand.py | ||
| ecf.py | ||
| envelope.py | ||
| rdsap_uvalues.py | ||
| sap_efficiencies.py | ||
| schema.py | ||
| transform.py | ||
| ucl.py | ||
| ventilation.py | ||