diff --git a/.claude/skills/expand-sap-accuracy-corpus/worklist.md b/.claude/skills/expand-sap-accuracy-corpus/worklist.md index 57c40f10..cd57d30c 100644 --- a/.claude/skills/expand-sap-accuracy-corpus/worklist.md +++ b/.claude/skills/expand-sap-accuracy-corpus/worklist.md @@ -63,7 +63,7 @@ UPRNs needed for end-to-end testing (also tracked in The 100 below). - [⚠] 10094601280 — SAP-18.0.0 · eng 81 / lodged 84 · 🚩 MVHR idx 500230 not credited (flagged) - [⚠] 10093386418 — SAP-17.1 · eng 81 / lodged 82 · 🚩 MVHR idx 500230 not credited (flagged) - [⚠] 100090108846 — RdSAP-20.0.0 · eng 64 / lodged 79 · 🚩 heat-pump fuel-39 (flagged) -- [ ] 10093116324 — SAP-17.1 · eng 79 / lodged 80 +- [x] 10093116324 — SAP-17.1 (2017 gas-combi semi-detached BUNGALOW, TFA 52) · eng 79 / elm 74 (lodged 80) · PINNED engine 79. +5 = documented full-SAP→RdSAP residual (measured wall 0.19/floor 0.12/roof 0.12 + PCDB combi 17505 88.5% vs Elmhurst RdSAP band-L defaults + generic 84%). Build clean (storeys=1, no conservatory). No mapper change. - [ ] 10094895444 — SAP-18.0.0 · eng 82 / lodged 85 - [⚠] 10092973960 — SAP-17.1 · eng 80 / lodged 84 · 🚩 MVHR idx 500229 not credited (flagged) - [ ] 10012028763 — SAP-17.1 · eng 85 / lodged 83 diff --git a/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116324/elmhurst_summary.pdf b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116324/elmhurst_summary.pdf new file mode 100644 index 00000000..b1da059e Binary files /dev/null and b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116324/elmhurst_summary.pdf differ diff --git a/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116324/elmhurst_worksheet.pdf b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116324/elmhurst_worksheet.pdf new file mode 100644 index 00000000..4e7a398a Binary files /dev/null and b/backend/epc_api/json_samples/real_life_examples/SAP-Schema-17.1/uprn_10093116324/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 f39e0168..5cab70a5 100644 --- a/tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py +++ b/tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py @@ -185,6 +185,24 @@ _EXPECTATIONS: Final[tuple[RealCertExpectation, ...]] = ( cert_num="8178-7436-5600-9809-0906", sap_score=81, ), + # UPRN 10093116324 → cert (SAP-Schema-17.1). FULL-SAP 2017 mains-gas combi + # SEMI-DETACHED BUNGALOW (single storey, Emsworth, TFA 52 m²), forced through + # the RdSAP SAP-10 engine. Lodged 80; engine produces 79. Built in Elmhurst + # RdSAP10 on the lodged inputs (evidence saved: elmhurst_summary.pdf / + # elmhurst_worksheet.pdf): Elmhurst worksheet SAP 74. The +5 (79 vs 74) is the + # same full-SAP→RdSAP methodology gap as the sibling certs 10093116543/529: + # the engine uses the cert's MEASURED U-values (wall 0.19, floor 0.12, roof + # 0.12) + PCDB combi 17505 (88.5%); Elmhurst RdSAP forces band-L defaults + + # the generic 84% BGW combi (PCDB search disabled). Build verified clean + # (no phantom conservatory, TFA 52/51.9, storeys=1, party wall 6.37). PINNED + # TO THE OBSERVED 79 — mapping untuned; the Elmhurst delta is the documented + # full-SAP residual, not a bug. + RealCertExpectation( + schema="SAP-Schema-17.1", + sample="uprn_10093116324", + cert_num="0455-3835-7888-9493-2531", + sap_score=79, + ), # 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