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 | ||
| applications | ||
| backend | ||
| condition | ||
| datatypes | ||
| domain | ||
| e2e | ||
| fixtures | ||
| harness | ||
| infrastructure | ||
| lambdas | ||
| magic_plan | ||
| orchestration | ||
| repositories | ||
| scripts | ||
| utilities | ||
| utils | ||
| __init__.py | ||
| conftest.py | ||
| test_lambda_packaging.py | ||