mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
The ADR-0036 guard only inspected EpcPropertyData's top-level fields, so a dropped field on a NESTED object (the PV-array list, the floor heat-loss flags) slipped straight through. Generalise it to walk every domain dataclass reachable from EpcPropertyData and check each field is reconstructed by a _compose/_to_* mapper or allow-listed (per-field or whole-class), keyed by Class.field. Surfaced 14 pre-existing nested gaps the old guard was blind to: 7 are calculator-read with no FE column (scoring-relevant silent-drop, same class as the PV bug — tracked follow-up), the rest dormant or awaiting FE tables. Each is now explicit and justified. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_epc_bulk_read.py | ||
| test_epc_idempotent_save.py | ||
| test_epc_persistence_field_coverage.py | ||
| test_epc_predicted_slot.py | ||
| test_epc_round_trip.py | ||