mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-30 13:10:47 +00:00
Slice 65: add shower_outlets + number_baths to cohort 000474 hand-built
Closes 2 of 14 remaining diffs by populating Appendix J inputs the Elmhurst mapper surfaces from Summary §16: - `sap_heating.number_baths=1` (passed via make_sap_heating kwarg) - `sap_heating.shower_outlets = ShowerOutlets(Non-electric)` (set post-construction because the helper doesn't expose the field; added the dataclass imports for SCM completeness) Cascade-equivalent: number_baths=1 and one non-electric mixer outlet without WWHRS are the implicit Appendix J defaults when nothing is lodged. All 11 cohort 000474 cascade pins remain GREEN at 1e-4. Diff count: 14 → 12. Pyright net-zero (0 errors). Remaining 12 diffs split: - 7 mapper-needs-to-surface (country_code, water_heating_fuel, boiler_flue_type, emitter_temperature, main_heating_number, has_draught_lobby, central_heating_pump_age int↔str) - 3 party_wall_construction sentinel (None vs 0) across bps - 1 sap_windows: LEN 7 vs 5 (collapse vs 1:1 structural decision) - 1 dwelling_type / built_form casing nuance (resolved in Slice 64 bulk-update; remaining 1 was for one bp's encoding) Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
b5cbfe83de
commit
4997039f1a
1 changed files with 16 additions and 0 deletions
|
|
@ -28,6 +28,8 @@ from datatypes.epc.domain.epc_property_data import (
|
||||||
SapFloorDimension,
|
SapFloorDimension,
|
||||||
SapVentilation,
|
SapVentilation,
|
||||||
SapWindow,
|
SapWindow,
|
||||||
|
ShowerOutlet,
|
||||||
|
ShowerOutlets,
|
||||||
)
|
)
|
||||||
from domain.ml.tests._fixtures import (
|
from domain.ml.tests._fixtures import (
|
||||||
make_main_heating_detail,
|
make_main_heating_detail,
|
||||||
|
|
@ -195,6 +197,12 @@ def build_epc() -> EpcPropertyData:
|
||||||
main_heating_data_source=1,
|
main_heating_data_source=1,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
# Summary §15 / §16 lodgement the mapper surfaces — adding
|
||||||
|
# for field-level parity with `from_elmhurst_site_notes`.
|
||||||
|
# Cascade-equivalent: number_baths=1 is exactly what Appendix
|
||||||
|
# J §1a defaults to when nothing is lodged, so the 1e-4
|
||||||
|
# cascade pin is preserved.
|
||||||
|
number_baths=1,
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
# Top-level cert-lodgement booleans / counts the Elmhurst mapper
|
# Top-level cert-lodgement booleans / counts the Elmhurst mapper
|
||||||
|
|
@ -205,6 +213,14 @@ def build_epc() -> EpcPropertyData:
|
||||||
epc.number_of_storeys = 2
|
epc.number_of_storeys = 2
|
||||||
epc.hydro = False
|
epc.hydro = False
|
||||||
epc.photovoltaic_array = False
|
epc.photovoltaic_array = False
|
||||||
|
# `make_sap_heating` doesn't expose `shower_outlets` as a kwarg; the
|
||||||
|
# Elmhurst mapper surfaces it from Summary §16. Setting here for
|
||||||
|
# cross-mapper field parity. Cascade-equivalent: a non-electric
|
||||||
|
# mixer outlet with no WWHRS is Appendix J's default when the cert
|
||||||
|
# lodges a bath without explicit shower data.
|
||||||
|
epc.sap_heating.shower_outlets = ShowerOutlets(
|
||||||
|
shower_outlet=ShowerOutlet(shower_outlet_type="Non-electric shower"),
|
||||||
|
)
|
||||||
return epc
|
return epc
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue