From d9aee9b9c4cd13fffc908f922bffbf8780def525 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Tue, 26 May 2026 17:37:34 +0000 Subject: [PATCH] =?UTF-8?q?chore:=20stage=20cert=200380=20fixtures=20(HP?= =?UTF-8?q?=20pilot=20=E2=80=94=20deferred=20workstream)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds the (API JSON + Summary PDF) fixtures for cert 0380-2471-3250-2596-8761 — the Air Source Heat Pump pilot identified in the handover. Property: 16 Beech Lea, WIGTON CA7 5JY (semi-detached bungalow, ASHP PCDB idx 104568). Source: API JSON fetched via EpcClientService. Summary PDF copied from `sap worksheets/Additional data with api/ 0380-2471-3250-2596-8761/Summary_000899.pdf`. Worksheet target: SAP 88.5104 (continuous), from `dr87-0001-000899 .pdf`. **This is the HP pilot, intentionally deferred.** Initial probe on these fixtures (uncommitted before this slice): - Summary mapper cascade SAP: 18.08 (Δ -70.43 vs worksheet) - API mapper cascade SAP: 70.14 (Δ -18.37 vs worksheet) Both paths are catastrophically RED. The mapper has never been validated against an ASHP cert and there's substantial cascade plumbing required: - API mapper correctly identifies the HP (COP 2.3) but fabric HLC is 104 W/K vs the ~50 W/K needed for SAP 88.51. - Summary mapper misreads the HP as an 80%-efficient boiler (catastrophic). - 7 of 9 newly-staged certs are ASHPs (6 share PCDB idx 104568, cert 9418 uses 102421), so a shared HP-cascade fix will likely close most of them at once. Stashed here so the next agent can pick up the HP workstream without needing to refetch from the EPB API. Recommend not attempting these slices until the boiler workflow (cert 0330) is proven; the boiler cascade is the reference shape and HP work should build on a known-good baseline. Handover §"Heat-pump workstream sketch" outlines the likely 15-30 slice queue. Co-Authored-By: Claude Opus 4.7 --- .../tests/fixtures/Summary_000899.pdf | Bin 0 -> 78971 bytes .../golden/0380-2471-3250-2596-8761.json | 355 ++++++++++++++++++ 2 files changed, 355 insertions(+) create mode 100644 backend/documents_parser/tests/fixtures/Summary_000899.pdf create mode 100644 domain/sap10_calculator/rdsap/tests/fixtures/golden/0380-2471-3250-2596-8761.json diff --git a/backend/documents_parser/tests/fixtures/Summary_000899.pdf b/backend/documents_parser/tests/fixtures/Summary_000899.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d037fdc25d7893d6e8e04e1aac7fa528cbf14927 GIT binary patch literal 78971 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 q%@d1XdBv;Y