mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
`_ELMHURST_PARTY_WALL_CODE_TO_SAP10` only recognised the bare "C" and "S" leading codes. Cert 001479 Main §7 lodges "Party Wall Type: CU Cavity masonry unfilled" — the leading token is "CU", which fell through to None and made `u_party_wall` apply the unknown-default U=0.25 instead of the worksheet's lodged U=0.50. Add "CU" → 4 (SAP10 WALL_CAVITY); `u_party_wall(4) = 0.5 W/m²K` matches the worksheet's §3 `Party walls Main … 0.50` row exactly. This widens the chain residual on cert 001479 (cascade SAP 63.17 → 61.90 vs target 69.0094) — not a regression: pre-slice the cascade was UNDER-counting party-wall heat loss (U=0.25 vs the lodged 0.50), which masked over-counting elsewhere. The party-wall U-value is now worksheet-accurate; remaining 7.1 SAP gap will narrow as the other mapper gaps (Ext2 exposed floor, roof insulation thickness, secondary heating SAP code, etc.) land in follow-up slices. All 10 chain tests green (6 cohort + 2 cert-001479 structural pins). Pyright net-zero (35-error baseline preserved on mapper.py). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| handler | ||
| tests | ||
| __init__.py | ||
| db_writer.py | ||
| elmhurst_extractor.py | ||
| extractor.py | ||
| local_runner.py | ||
| parser.py | ||
| pdf.py | ||