mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
_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> |
||
|---|---|---|
| .. | ||
| chatgpt | ||
| epc_client | ||
| magic_plan | ||
| postcodes_io | ||
| postgres | ||
| solar | ||
| __init__.py | ||
| conftest.py | ||
| test_address2uprn_queue_client.py | ||
| test_csv_s3_client.py | ||
| test_http_retry.py | ||
| test_s3_client.py | ||
| test_s3_uri.py | ||
| test_sqs_client.py | ||