mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Slice 68: party-wall "U Unable" + central_heating_pump_age_str → 1 diff left
Closes 4 of 5 remaining cohort 000474 diffs (5 → 1): **Mapper:** Add "U" → 0 to `_ELMHURST_PARTY_WALL_CODE_TO_SAP10`. The modal cohort lodgement Summary §7 "Party Wall Type: U Unable to determine" was previously falling through to None; the cohort hand- built convention uses 0 as the explicit "unknown" sentinel. The cascade resolves both 0 and None to the same `u_party_wall` default (0.25), so cascade output is unchanged. Closes 3 diffs (one per bp). **Hand-built:** Set `central_heating_pump_age_str="Unknown"` on cohort 000474 Main heating detail (post-construction since the helper doesn't expose the kwarg). Matches the Elmhurst mapper's surfaced value from Summary §14 "Heat pump age: Unknown" — the str dual- encoding internal_gains.py reads. Closes 1 diff. All 66 cohort cascade pins remain GREEN at 1e-4. Pyright 35-error baseline preserved on mapper.py; 0 errors on the hand-built file. Remaining 1 diff on cohort 000474: - `sap_windows: LEN 7 vs 5` — the cohort hand-built collapsed §11 by glazing-type × orientation × bp group (preserving total area, cascade-equivalent but not field-equal); the mapper extracts 1:1 with the worksheet's 7 §11 table rows. Next slice will expand the hand-built to 7 individual SapWindow entries matching the mapper. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
ca39d072be
commit
6baf66cdde
2 changed files with 11 additions and 0 deletions
|
|
@ -1867,6 +1867,12 @@ _ELMHURST_PARTY_WALL_CODE_TO_SAP10: Dict[str, int] = {
|
|||
"CU": 4, # Cavity masonry unfilled — same U=0.5 cascade; Elmhurst
|
||||
# encodes party-wall cavity type with the masonry sub-code
|
||||
# (CU vs CF filled) — observed first on cert 001479 Main.
|
||||
# "U Unable to determine" — the cohort's modal lodgement. The cohort
|
||||
# hand-built convention uses 0 as the explicit "unknown" sentinel
|
||||
# (rather than None) so cross-mapper field parity is preserved; the
|
||||
# cascade resolves 0 to the same `u_party_wall` default (0.25) as
|
||||
# None, so cascade output is unchanged for cohort-style certs.
|
||||
"U": 0,
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -221,6 +221,11 @@ def build_epc() -> EpcPropertyData:
|
|||
epc.sap_heating.shower_outlets = ShowerOutlets(
|
||||
shower_outlet=ShowerOutlet(shower_outlet_type="Non-electric shower"),
|
||||
)
|
||||
# Summary §14 "Heat pump age: Unknown" — surfaced by the Elmhurst
|
||||
# mapper as the str dual-encoding that internal_gains.py reads.
|
||||
# `make_main_heating_detail` doesn't expose the str kwarg, so set
|
||||
# here post-construction for cross-mapper field parity.
|
||||
epc.sap_heating.main_heating_details[0].central_heating_pump_age_str = "Unknown"
|
||||
return epc
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue