diff --git a/.claude/skills/expand-sap-accuracy-corpus/worklist.md b/.claude/skills/expand-sap-accuracy-corpus/worklist.md index cd57d30c..114602a3 100644 --- a/.claude/skills/expand-sap-accuracy-corpus/worklist.md +++ b/.claude/skills/expand-sap-accuracy-corpus/worklist.md @@ -26,6 +26,15 @@ UPRNs needed for end-to-end testing (also tracked in The 100 below). **All 7 e2e UPRNs now map and produce engine SAP scores.** Schema coverage added this session: SAP-16.2, SAP-16.3 (reduced-field → RdSAP-17.1 path), SAP-17.0 (full-SAP → 17.1 path). +## Strategy note (2026-06-17) +Doing the **similar certs first** for speed: the `10093116xxx` series are all +2017 Emsworth new-builds (full-SAP, mains-gas combi, measured U-values), so the +Elmhurst assessment config (House/Semi or bungalow · band L · cavity/As-Built · +pitched/Unknown roof · combi/no-cylinder) is reused per cert — each build is +fast. Pattern is rock-solid: engine ≈ lodged−1, Elmhurst worksheet ≈ engine−4/5 +(documented full-SAP→RdSAP residual). Pin the engine value. DONE: 528/543/529/324. +Skip the 🚩 MVHR / 🚩 heat-pump-fuel and ⛔ sparse certs. + ## The 100 - [x] 🔧 10093116528 — SAP-17.1 (full-SAP semi) · eng 82 / elm 81 · 🔧 air-perm AP50 fix: q50 Blower-Door routed to (18)=AP50/20 not the AP4/Pulse formula (was eng 78). Residual +1 = lodged-U vs RdSAP age-band-U; FGHRS (60031) omitted both sides. Worked-ref 10092973954 re-pinned 77→80 by same fix. @@ -70,7 +79,7 @@ UPRNs needed for end-to-end testing (also tracked in The 100 below). - [ ] 10093049867 — SAP-17.0 · eng 81 / lodged 87 - [ ] 10093116336 — SAP-17.1 · eng 83 / lodged 84 - [ ] 100020235156 — SAP-16.2 · eng 75 / lodged 74 -- [ ] 10093116334 — SAP-17.1 · eng 81 / lodged 82 +- [x] 10093116334 — SAP-17.1 (2017 gas-combi semi-detached BUNGALOW, TFA 52, sibling of 324) · eng 81 / elm 77 (lodged 82) · PINNED engine 81. +4 = documented full-SAP→RdSAP residual (measured U + PCDB combi 17505 88.5% vs RdSAP band-L defaults + generic 84%). Build clean. No mapper change. - [⛔] 10014314853 — SAP-16.3 · NOT MAPPABLE (ValueError: RdSapSchema17_1: missing required field ) - [ ] 10013924849 — RdSAP-21.0.1 · eng 82 / lodged 80 - [ ] 100062116493 — SAP-16.2 · eng 69 / lodged 68 diff --git a/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116334/elmhurst_summary.pdf b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116334/elmhurst_summary.pdf new file mode 100644 index 00000000..887c3cbd Binary files /dev/null and b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116334/elmhurst_summary.pdf differ diff --git a/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116334/elmhurst_worksheet.pdf b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116334/elmhurst_worksheet.pdf new file mode 100644 index 00000000..6a823d3b Binary files /dev/null and b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116334/elmhurst_worksheet.pdf differ diff --git a/tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py b/tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py index 5cab70a5..bb1cf82a 100644 --- a/tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py +++ b/tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py @@ -203,6 +203,19 @@ _EXPECTATIONS: Final[tuple[RealCertExpectation, ...]] = ( cert_num="0455-3835-7888-9493-2531", sap_score=79, ), + # UPRN 10093116334 — SAP-Schema-17.1, FULL-SAP 2017 mains-gas combi + # SEMI-DETACHED BUNGALOW (Emsworth, TFA 52 m²), sibling of 10093116324 (same + # street, same boiler PCDB 17505). Lodged 82; engine 81. Elmhurst worksheet 77 + # (evidence saved). The +4 (81 vs 77) is the same documented full-SAP→RdSAP + # residual: engine uses the cert's measured U-values + PCDB combi 88.5%; + # Elmhurst forces RdSAP band-L defaults + generic 84% combi. Build verified + # clean (storeys=1, no phantom conservatory). PINNED to the observed 81. + RealCertExpectation( + schema="SAP-Schema-17.1", + sample="uprn_10093116334", + cert_num="8926-7436-5650-8360-6972", + sap_score=81, + ), # UPRN 10002468137 → cert 0215-2818-7357-9703-2145. RdSAP-Schema-17.1, # all-electric high-heat-retention storage heaters on Economy 7, solid- # brick uninsulated end-terrace. Validated against Elmhurst RdSAP10 on