mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-08-03 05:18:22 +00:00
The two new `SapHeating` fields were mapped from the API but dropped by `EpcPostgresRepository._compose`, which the ADR-0036 structural guard caught. Allow-listing them would have been wrong. `PropertyBaselineOrchestrator.run` (applications/modelling_e2e/handler.py:885) always re-derives the persisted baseline from the composed object, so an unpersisted field means the deployed baseline keeps pricing heat-pump DHW as direct electric — the Dovestone cert would still land at SAP 67 even with the mapper fix in place. Several plan paths read the stored EPC too (refetch_epc=False, no lodged cert, stored cert newer, stored survey wins). Round-trip fidelity also matters for churn: `_reconcile_lodged` compares `fetched != stored`, so a field that survives the API mapper but not `_compose` makes that inequality permanently true and re-saves every public cert forever. Needs the matching Drizzle columns in assessment-model before deploy. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| abri | ||
| chatgpt | ||
| condition | ||
| epc_client | ||
| hubspot | ||
| landlord_overrides | ||
| magic_plan | ||
| openai | ||
| pashub_fetcher | ||
| postcodes_io | ||
| postgres | ||
| s3 | ||
| solar | ||
| xlsx | ||
| __init__.py | ||
| address2uprn_queue_client.py | ||
| http_retry.py | ||
| sqs_client.py | ||