Model/backend/epc_api/json_samples
Jun-te Kim 5c11fd35c8 Validate SAP calculator vs Elmhurst; fix reduced-field window U; add accuracy harness
Reduced-field window U: heat_transmission derived the synthesised-window
raw U from u_window(all None) -> the 2.5 placeholder regardless of glazing.
Now routes the (uniform) glazing_type code through u_window (RdSAP Table 24)
so e.g. double pre-2002 reads 2.8, not 2.5. Only the pre-SAP10 reduced-field
path is affected (21.0.1 certs carry per-window U upstream) — the RdSAP-21.0.1
corpus gauge is unchanged at 66.9% within-0.5.

test_real_cert_sap_accuracy: pin uprn_10002468137 (RdSAP-17.1, all-electric
storage heaters) at SAP 61, validated against Elmhurst on identical inputs
(dual off-peak immersion, 110 L cylinder, 2 baths). Our engine reproduces
Elmhurst's fuel cost to the penny; lodged 55 is the old SAP-2012 schema.

Tooling to grow the accuracy corpus:
- scripts/fetch_real_life_epc_sample.py — capture a cert by UPRN into the corpus.
- scripts/compare_epc_paths.py — diff gov-API vs Elmhurst-summary EpcPropertyData
  and run both through the engine, localising mapper vs calculator differences.
- skill validate-cert-sap-accuracy — the end-to-end loop (capture -> Elmhurst
  inputs -> human builds -> compare -> reconcile -> pin in the test).
- skill epc-to-elmhurst-rdsap-inputs reference: corrected immersion (code 1=dual),
  cylinder size (code 2 = Normal/110 L), and bath-count (WWHRS sub-tab) mappings.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 15:26:11 +00:00
..
CEPC-7.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
CEPC-7.1 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
CEPC-8.0.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
RdSAP-Schema-17.0 Map RdSAP-Schema-17.0 certs to EpcPropertyData 🟥 2026-06-12 12:40:04 +00:00
RdSAP-Schema-17.1 Dispatch and map RdSAP-Schema-18.0 certs end-to-end 🟥 2026-06-11 11:12:53 +00:00
RdSAP-Schema-18.0 Dispatch and map RdSAP-Schema-18.0 certs end-to-end 🟥 2026-06-11 11:12:53 +00:00
RdSAP-Schema-19.0 Map RdSAP-Schema-19.0 certs to EpcPropertyData 🟥 2026-06-12 12:19:16 +00:00
RdSAP-Schema-20.0.0 added test for a 1000 examples 2026-06-09 16:02:21 +00:00
RdSAP-Schema-21.0.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
RdSAP-Schema-21.0.1 added test for a 1000 examples 2026-06-09 16:02:21 +00:00
real_life_examples Validate SAP calculator vs Elmhurst; fix reduced-field window U; add accuracy harness 2026-06-15 15:26:11 +00:00
SAP-Schema-16.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-16.1 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-16.2 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-16.3 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-17.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-17.1 inviestigation with hyde values 2026-06-15 12:13:11 +00:00
SAP-Schema-18.0.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-19.0.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-19.1.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00
SAP-Schema-19.2.0 adding hacky handling for matching on lmk key or uprn 2026-04-09 14:47:54 +01:00