mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Add a `source` discriminator (lodged | predicted) to the EPC store so a Property holds a lodged EPC and a predicted one (EPC Prediction gap-fill) at once (ADR-0031). EpcRepository.save gains source="lodged"; idempotent delete is now per-source (a predicted save no longer wipes lodged, and vice versa); get_for_property/get_for_properties filter lodged; new get_predicted_for_property / get_predicted_for_properties read predicted. PropertyPostgresRepository.get + get_many hydrate Property.predicted_epc, so the predicted picture reaches the modelling read (both load via get_many). FakeEpcRepo mirrors the dual slot. EpcPropertyModel gains `source` (default "lodged"); the test DB builds from the SQLModel mirror so this is exercised without the prod migration. The matching Drizzle change (column + per-(property_id,source) uniqueness) is the team's to action before merge — docs/MIGRATION_NOTE_predicted_epc_source.md. 3 store tests (coexist, idempotent predicted re-save leaves lodged, lodged-only has no predicted) + property-repo wiring; 85 pass across affected suites; new code pyright-clean (2 pre-existing wwhrs errors in epc_property_table untouched). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| adr | ||
| backlog | ||
| grill-sessions | ||
| migrations | ||
| HANDOVER_API_ACCURACY_S2.md | ||
| HANDOVER_API_FETCH_AND_REPORT.md | ||
| HANDOVER_API_PROFILING.md | ||
| HANDOVER_ARA_NEXT.md | ||
| HANDOVER_EPC_PREDICTION.md | ||
| HANDOVER_MODELLING.md | ||
| HANDOVER_NEXT_PHASE_PROMPT.md | ||
| HANDOVER_SUMMARY_AUDIT.md | ||
| MIGRATION_NOTE_predicted_epc_source.md | ||
| PR_NOTE_system_built_basement_1177.md | ||