S0380.185: record CH6 pin-forever proof — distribution-loss is a Summary-export gap

CH6's P960 worksheet input lodges Distribution Loss = "Two adjoining
dwellings sharing a single heating system" → (306) DLF = 1.0000, vs CH4's
"Calculated" → 1.5 → (306) = 1.4500. That DLF choice swings SAP/cost/CO2/PE
materially, but it is NOT present in the Summary PDF that the corpus pipeline
consumes (Summary → ElmhurstSiteNotesExtractor → mapper → calculator).

Proven empirically with a user-supplied controlled pair (CH adjoined
dwellings/Summary_001431 (1) vs (2)): the two Summaries are byte-identical
across every RdSAP INPUT field, differing only in the derived header
(SAP 80 vs 75, bill £954 vs £1237, emissions 5.407 vs 7.394 t). A
case-insensitive scan of the CH6 Summary for "distribution"/"adjoin" returns
0 hits. Since CH4/CH6 Summaries are themselves identical bar fuel type, no
Summary-derivable rule can yield CH4=1.45 AND CH6=1.0.

Doc-only change (comment in _EXPECTATIONS); 20/20 community-heating corpus
tests pass. Closes the CH6 re-litigation: pin held.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Khalim Conn-Kowlessar 2026-06-02 19:21:28 +00:00
parent 82f7315f8d
commit 57241322ea

View file

@ -740,6 +740,24 @@ _EXPECTATIONS: tuple[_CorpusExpectation, ...] = (
# and PE 249.32→0.0000 (× (1.55691.501)) now EXACT. Non-electric
# heat networks (CH1 gas 51, CH6 coal 54) have no monthly factor set
# → unchanged.
#
# CH6 — PROVEN PIN-FOREVER (Summary-export gap, not a mapper miss).
# CH6's P960 *worksheet input* lodges Distribution Loss = "Two
# adjoining dwellings sharing a single heating system" → Value 0.0 →
# (306) DLF = 1.0000, whereas CH4 lodges "Calculated" → 1.5 → (306) =
# 1.4500. That DLF choice swings SAP / cost / CO2 / PE materially.
# But it is NOT in the Summary PDF: a controlled pair differing ONLY
# by the adjoining-dwellings setting (`CH adjoined dwellings/Summary_
# 001431 (1) vs (2).pdf`) is byte-identical across every RdSAP INPUT
# field — the two Summaries differ solely in the derived header
# (SAP 80 vs 75, bill £954 vs £1237, emissions 5.407 vs 7.394 t). A
# case-insensitive scan of the CH6 Summary for "distribution"/"adjoin"
# returns 0 hits. Since CH4 and CH6 Summaries are themselves identical
# bar fuel type, no Summary-derivable rule can yield CH4=1.45 AND
# CH6=1.0. Closing CH6 would require the P960 worksheet as a mapper
# input or an Elmhurst Summary-export change — neither is available.
# Pin held; do not re-litigate (verified 2026-06-02 with the
# user-supplied adjoining-dwellings pair).
_CorpusExpectation(variant='community heating 1', block='11b', expected_sap_resid=+0.0000, expected_cost_resid_gbp=-0.0000, expected_co2_resid_kg=-0.0000, expected_pe_resid_kwh=+0.0000),
_CorpusExpectation(variant='community heating 2', block='11b', expected_sap_resid=-0.0000, expected_cost_resid_gbp=-0.0000, expected_co2_resid_kg=+0.0000, expected_pe_resid_kwh=+0.0000),
_CorpusExpectation(variant='community heating 3', block='11b', expected_sap_resid=+0.0000, expected_cost_resid_gbp=-0.0000, expected_co2_resid_kg=+0.0000, expected_pe_resid_kwh=-0.0000),