From 75c561e9dbd5ebbed218ffd8cf25e3ebd742e13f Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Mon, 13 Jul 2026 15:10:08 +0000 Subject: [PATCH] =?UTF-8?q?Summarise=20a=20Calico=20load=20as=20a=20four-c?= =?UTF-8?q?ount=20reconciliation=20report=20=F0=9F=9F=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit LoadReport.from_calico_load reports loaded observations alongside the three drop reasons (unmatched-to-portfolio, null-uprn, blank-placeholder) so every Calico row is accounted for. Co-Authored-By: Claude Opus 4.8 (1M context) --- applications/condition/load_report.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/applications/condition/load_report.py b/applications/condition/load_report.py index eedba9c78..bf0f2fc73 100644 --- a/applications/condition/load_report.py +++ b/applications/condition/load_report.py @@ -22,4 +22,10 @@ class LoadReport: unmatched_reference_count: int, null_uprn_references: List[str], ) -> "LoadReport": - raise NotImplementedError + loaded = sum(len(prop.assets) for prop in properties) + return cls( + loaded=loaded, + unmatched_to_portfolio=unmatched_reference_count, + null_uprn=len(null_uprn_references), + blank_placeholder=blank_placeholder_count, + )