Correct the DHW-energy residual note: no cylinder loss on communal DHW 🟪

The dwelling has no hot-water cylinder (has_hot_water_cylinder false), so the
2675-vs-1839 kWh DHW-energy gap is not a cylinder storage loss as previously
stated — it is an un-root-caused SAP §4.3 community-DHW demand/distribution-loss
difference. No behaviour change; comment accuracy only.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DX8oAGsGkBHq3U4dsxYRzz
This commit is contained in:
Jun-te Kim 2026-07-27 18:05:47 +00:00
parent db274adcb3
commit 6e6c27076e

View file

@ -1414,11 +1414,13 @@ _EXPECTATIONS: Final[tuple[RealCertExpectation, ...]] = (
# engine uses the cert's MEASURED U-values (wall 0.19, floor 0.17) + MVHR
# (PCDB 500167) → space heat 1039 kWh, where Elmhurst RdSAP uses age-band-M
# proxies + a residual build AP50 (4.88 vs the cert's 3.2) → 1676 kWh. A
# KNOWN residual pulls the OTHER way (~-2): the engine still adds an in-
# dwelling cylinder storage loss (2675 vs the worksheet's cylinder-free 1839
# kWh) though the network cylinder is not in the dwelling — a follow-up DHW-
# energy refinement. PINNED TO THE OBSERVED 80 — mapping deliberately
# untuned; the Elmhurst delta is the full-SAP→RdSAP residual, NOT a bug.
# KNOWN residual pulls the OTHER way (~-2): the engine's communal-DHW energy
# (2675 kWh) exceeds the worksheet's (1839 kWh = (64) × 1.05 × 1.50). This is
# NOT a cylinder loss — the dwelling has no cylinder (has_hot_water_cylinder
# false); it is an un-root-caused SAP §4.3 community-DHW demand/distribution-
# loss reconciliation, deferred as a follow-up. PINNED TO THE OBSERVED 80 —
# mapping deliberately untuned; the Elmhurst delta is the full-SAP→RdSAP
# residual, NOT a bug.
RealCertExpectation(
schema="SAP-Schema-18.0.0",
sample="uprn_10094112770",