Model/domain
Jun-te Kim dee72bbdfa fix(rdsap): §5 (12) floor infiltration falls back to floors[].description
_has_suspended_timber_floor_per_spec only read the Main bp's per-part
floor_construction_type lodgement; the gov-API mapper frequently leaves
that None even when the global epc.floors[].description carries an
explicit "Suspended, ..." observation. _main_floor_u_value already fell
back to this joined description for the U-value calc — the infiltration
rule did not, so a genuinely suspended-timber floor silently entered
(12)=0 instead of 0.2 unsealed. Extracted the shared
_effective_floor_description helper and added a tri-state resolver
(explicit lodgement -> description, excluding "not timber" -> Table 19
footnote-1 age-A/B default) so both paths agree.

Cert 100061275133 (Elmhurst-validated build, PR #1439 handoff): engine
77.24 -> 76.33, now an exact match to lodged (76). Corpus gauge 77.7% ->
77.8% within-0.5, MAE 0.637 -> 0.636; floors ratcheted.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 09:12:19 +00:00
..
addresses standardist Address 2026-05-22 10:13:32 +00:00
billing Route an off-peak meter's electric end uses to the day/night carrier 🟩 2026-06-24 17:38:37 +00:00
data_transformation Let a deterministic guard override the fallback classifier per description 🟩 2026-07-01 09:39:50 +00:00
elmhurst more examples 2026-06-19 09:51:49 +00:00
epc Merge pull request #1429 from Hestia-Homes/fix/property-overlay-storage-category 2026-07-02 12:51:58 +01:00
epc_prediction Predict ventilation kind from the cohort mode 🟩 2026-06-26 10:54:11 +00:00
fuel_rates Expose an off-peak meter's standing charge and full day/night blend range 🟩 2026-06-24 17:14:51 +00:00
geospatial feat(geospatial): one-read spatial reference (coords + restrictions) 2026-06-04 17:13:39 +00:00
magicplan Mapper reads 'Individual Trickle Vent' label variant 🟩 2026-06-30 13:44:38 +00:00
modelling Merge pull request #1426 from Hestia-Homes/fix/hhrsh-storage-offpeak-pricing 2026-07-02 12:50:32 +01:00
property feat: thread physical-state-change signal into rebaselining 🟩 2026-06-26 19:15:11 +00:00
property_baseline Persist no Lodged Performance for a predicted Property 🟩 2026-06-30 22:10:57 +00:00
sap10_calculator fix(rdsap): §5 (12) floor infiltration falls back to floors[].description 2026-07-03 09:12:19 +00:00
sap10_ml fix(rdsap): thin present wall-insulation no longer maps to uninsulated bucket 2026-07-03 05:54:47 +00:00
tasks new application to trigger e2e for a single property and scenario 2026-06-22 12:54:53 +00:00
building_geometry.py feat(modelling): floor Recommendation Generator + ground-floor-area geometry 2026-06-03 09:12:29 +00:00
postcode.py get rid of comments 2026-05-20 13:21:11 +00:00