mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Follow-on to the slope/stud slice. A Detailed RR (RdSAP 10 §3.9.2) can also lodge `common_wall_*` — the wall separating the room-in-roof from the rest of the cold roof void. Those fields were undeclared → `from_dict` dropped them → `_api_rir_detailed_surfaces` omitted the common walls → the RR undercounted wall heat loss → over-rate. Fix: declare `common_wall_length/height_1/2` on `RoomInRoofDetails` (21_0_0 + 21_0_1) and build `kind="common_wall"` surfaces (raw L × H area to 2 d.p.). The cascade's Detailed-RR branch already bills common walls at the storey-below main-wall U (Table 4 p.22 "Common wall") and deducts their area from the §3.10.1 residual roof — no calculator change. No insulation thickness is read: common walls take the main-wall U, not a Table 17 RR-element U. 6 /tmp certs carry detailed `common_wall_length_1`: cohort mean|err| 2.43 -> 1.25 (all were over-rating; e.g. 2877-3059 +4.55 -> +2.79). Gauges: corpus within-0.5 67.5% -> 67.6% (MAE 0.987 -> 0.979); /tmp 71.6% -> 71.7% (MAE 0.846 -> 0.838). Harness 47/47 0 raised; regression = the 3 pre-existing fails; pyright net-zero (65=65). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| domain | ||
| loaders | ||
| schema | ||
| search | ||
| surveys | ||
| __init__.py | ||
| construction_age_band.py | ||
| efficiency.py | ||
| floor.py | ||
| fuel.py | ||
| heating_controls.py | ||
| hotwater.py | ||
| main_heating.py | ||
| property_type_built_form.py | ||
| roof.py | ||
| walls.py | ||
| windows.py | ||