diff --git a/.claude/skills/expand-sap-accuracy-corpus/worklist.md b/.claude/skills/expand-sap-accuracy-corpus/worklist.md index 0c331804..e4db5aa5 100644 --- a/.claude/skills/expand-sap-accuracy-corpus/worklist.md +++ b/.claude/skills/expand-sap-accuracy-corpus/worklist.md @@ -58,7 +58,7 @@ Skip the 🚩 MVHR / 🚩 heat-pump-fuel and ⛔ sparse certs. - [x] 🔧 10023444324 — SAP-17.0 (full-SAP g/f FLAT, band M, combi PCDB 16211, MEV, AP50 3.2, party wall 6.43) · eng 80 / elm 80 (lodged 82) · PINNED engine 80. Built in Elmhurst (boiler 16211 via search, control CBE/2106, water from primary, MEV on, AP50 Blower Door 3.2, party wall 6.43). Engine EXACTLY matches Elmhurst worksheet (80.13 vs 80); engine-on-Elmhurst-inputs 81.03 ≈ 80 → calculator faithful. −2 vs lodged = full-SAP→RdSAP residual (measured U + MEV). No mapper change beyond coverage. - [⚠] 10092970673 — SAP-17.0 · eng 77 / lodged 86 · 🚩 MVHR idx 500418 not credited (flagged) - [⚠] 10094601287 — SAP-18.0.0 · eng 80 / lodged 84 · 🚩 MVHR idx 500230 not credited (flagged) -- [ ] 10090844932 — RdSAP-20.0.0 · eng 78 / lodged 78 +- [x] 10090844932 — RdSAP-20.0.0 (end-terrace HOUSE 2-storey, band L, combi PCDB 10327, party wall 4.93, 250mm loft) · eng 78 / elm 77 (lodged 78) · PINNED engine 78. Built in Elmhurst (House, boiler 10327 via search, control CBE/2106, water from primary, party wall 4.93 filled). Within ~1 (78.13 vs 77); engine-on-Elmhurst-inputs 77.24 ≈ 77 → faithful. - [⛔] 10090844948 — SAP-16.3 · NOT MAPPABLE (ValueError: RdSapSchema17_1: missing required field ) - [ ] 100090182288 — SAP-16.2 · eng 71 / lodged 71 - [⚠] 10093114053 — SAP-17.0 · eng 93 / lodged 79 · 🚩 heat-pump fuel-39 (flagged) diff --git a/backend/epc_api/json_samples/real_life_examples/RdSAP-Schema-20.0.0/uprn_10090844932/elmhurst_summary.pdf b/backend/epc_api/json_samples/real_life_examples/RdSAP-Schema-20.0.0/uprn_10090844932/elmhurst_summary.pdf new file mode 100644 index 00000000..e6335fd0 Binary files /dev/null and b/backend/epc_api/json_samples/real_life_examples/RdSAP-Schema-20.0.0/uprn_10090844932/elmhurst_summary.pdf differ diff --git a/backend/epc_api/json_samples/real_life_examples/RdSAP-Schema-20.0.0/uprn_10090844932/elmhurst_worksheet.pdf b/backend/epc_api/json_samples/real_life_examples/RdSAP-Schema-20.0.0/uprn_10090844932/elmhurst_worksheet.pdf new file mode 100644 index 00000000..0effc7b7 Binary files /dev/null and b/backend/epc_api/json_samples/real_life_examples/RdSAP-Schema-20.0.0/uprn_10090844932/elmhurst_worksheet.pdf differ diff --git a/scripts/hyde/elmhurst_download.py b/scripts/hyde/elmhurst_download.py index 418d9dbe..3ef55011 100644 --- a/scripts/hyde/elmhurst_download.py +++ b/scripts/hyde/elmhurst_download.py @@ -28,7 +28,7 @@ SESSION_DIR = HERE / ".elmhurst-session" SAMPLE_DIR = ( HERE.parent.parent / "backend/epc_api/json_samples/real_life_examples" - / "SAP-Schema-17.0/uprn_10023444320" + / "RdSAP-Schema-20.0.0/uprn_10090844932" ) ASSESSMENT_GUID = "B44A0DB4-4C08-4241-B818-86F060172105" 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 aa657543..7deb4449 100644 --- a/tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py +++ b/tests/domain/sap10_calculator/test_real_cert_sap_accuracy.py @@ -349,6 +349,21 @@ _EXPECTATIONS: Final[tuple[RealCertExpectation, ...]] = ( cert_num="0868-6045-7331-4376-0914", sap_score=81, ), + # UPRN 10090844932 → cert 0646-3008-6208-0619-6204. RdSAP-Schema-20.0.0 — + # END-TERRACE HOUSE, 2-storey, band L (2012-2022), cavity insulated, pitched + # roof 250 mm loft insulation, mains-gas COMBI (PCDB 10327 Vaillant Ecotec Plus + # 831), double glazed, lodged party wall 4.93 m, TFA 74.7 m². Native RdSAP + # (from_rdsap_schema_20_0_0). Lodged 78; engine 78. Built in Elmhurst RdSAP10 + # (evidence saved): Elmhurst worksheet 77 — engine within ~1 (78.13 vs 77); + # engine-on-Elmhurst-inputs 77.24 ≈ 77 → calculator faithful. Boiler PCDB 10327 + # via search; control 2106 (CBE); water from primary (combi); party wall 4.93 m + # (filled cavity). PINNED to the observed 78 — mapping untuned. + RealCertExpectation( + schema="RdSAP-Schema-20.0.0", + sample="uprn_10090844932", + cert_num="0646-3008-6208-0619-6204", + sap_score=78, + ), )