mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-30 13:10:47 +00:00
Map full-SAP certs end-to-end through the dispatch ladder and pin observed score 🟩
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
acd0ed485d
commit
c035d17f2b
2 changed files with 18 additions and 7 deletions
|
|
@ -2499,6 +2499,13 @@ class EpcPropertyDataMapper:
|
||||||
from_dict(RdSapSchema17_0, data)
|
from_dict(RdSapSchema17_0, data)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
if schema == "SAP-Schema-17.1":
|
||||||
|
# Full SAP (not RdSAP). D8: _clear_basement_flag_when_system_built is
|
||||||
|
# an RdSAP code-6 disambiguation; full SAP lodges explicit wall types
|
||||||
|
# (no code-6 basement ambiguity), so it's a no-op and is skipped.
|
||||||
|
return EpcPropertyDataMapper.from_sap_schema_17_1(
|
||||||
|
from_dict(SapSchema17_1, data)
|
||||||
|
)
|
||||||
|
|
||||||
raise ValueError(f"Unsupported EPC schema: {schema!r}")
|
raise ValueError(f"Unsupported EPC schema: {schema!r}")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -88,17 +88,21 @@ _EXPECTATIONS: Final[tuple[RealCertExpectation, ...]] = (
|
||||||
sap_score=73,
|
sap_score=73,
|
||||||
),
|
),
|
||||||
# UPRN 10092973954 → cert 0862-3892-7875-2690-2325. SAP-Schema-17.1 —
|
# UPRN 10092973954 → cert 0862-3892-7875-2690-2325. SAP-Schema-17.1 —
|
||||||
# a FULL-SAP cert (new-build/on-construction), NOT RdSAP. The mapper
|
# a FULL-SAP cert (new-build/on-construction), NOT RdSAP. Full-SAP mapper
|
||||||
# only supports RdSAP schemas, so the chain raises `Unsupported EPC
|
# support has landed (datatypes/epc/domain/mapper.py from_sap_schema_17_1;
|
||||||
# schema` today. Kept as a strict-xfail boundary case: lodged rating
|
# design: scripts/hyde/mapping_decisions.md), so the chain now runs through
|
||||||
# is 83, and when full-SAP mapper support lands this xfail flips to a
|
# the RdSAP SAP-10 engine end-to-end. Lodged rating is 83; the engine
|
||||||
# failure prompting us to fill in the real expected score.
|
# produces 81 (−2) — a small, expected residual: full SAP carries measured
|
||||||
|
# fabric the RdSAP engine partly re-derives, plus the mapper fabricates
|
||||||
|
# RdSAP proxies absent from full SAP (age band, habitable-room count back-
|
||||||
|
# solved from the measured living area). PINNED TO THE OBSERVED 81, not the
|
||||||
|
# lodged 83 — the mapping is deliberately not tuned to hit the lodged value;
|
||||||
|
# the −2 is to be reconciled with the domain expert against a worksheet.
|
||||||
RealCertExpectation(
|
RealCertExpectation(
|
||||||
schema="SAP-Schema-17.1",
|
schema="SAP-Schema-17.1",
|
||||||
sample="uprn_10092973954",
|
sample="uprn_10092973954",
|
||||||
cert_num="0862-3892-7875-2690-2325",
|
cert_num="0862-3892-7875-2690-2325",
|
||||||
sap_score=83,
|
sap_score=81,
|
||||||
unsupported_schema=True,
|
|
||||||
),
|
),
|
||||||
# UPRN 10002468137 → cert 0215-2818-7357-9703-2145. RdSAP-Schema-17.1,
|
# UPRN 10002468137 → cert 0215-2818-7357-9703-2145. RdSAP-Schema-17.1,
|
||||||
# all-electric high-heat-retention storage heaters on Economy 7, solid-
|
# all-electric high-heat-retention storage heaters on Economy 7, solid-
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue