Model/datatypes/epc
Khalim Conn-Kowlessar 307fdfb270 refactor(overlay): band uses cert-native anchors, not a synthesis field
Reviewer feedback: seasonal_efficiency_override_pct had no lodged-cert analogue
and polluted the EpcPropertyData/MainHeatingDetail cert datatype. Replace it with
the cert-native efficiency anchors a real cert already uses:
- C–G  -> sap_main_heating_code = the band's Table 4b code (combi/regular
  preserved by the code itself); resolved by the existing Table 4b path.
- A/B  -> main_heating_index_number = a type-matched representative PCDB product;
  resolved by the existing PCDB Appendix D2.1 path (winter+summer+combi-loss).
  _fold_heating clears the base code, so the effective cert reads as a real PCDB
  cert. Ready for future user-supplied product -> PCDB id.

Deletes seasonal_efficiency_override_pct from MainHeatingDetail, HeatingOverlay
and _MAIN_HEATING_FIELDS, and REVERTS both cert_to_inputs branches — those four
files are now byte-identical to main (no synthesis on the cert type, no new
calculator branch). Each A/B PCDB id is CI-guarded to its accredited (winter,
summer) so a PCDB refresh fails loudly. Oil A-combi (no >90% product, ≈0 homes)
keeps its code-130 default. Real certs: A-combi +2.06 SAP (idx 18964), D-regular
-0.98 (code 106); corpus unmoved; 810 tests green (ADR-0068).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-30 13:06:18 +00:00
..
domain refactor(overlay): band uses cert-native anchors, not a synthesis field 2026-07-30 13:06:18 +00:00
loaders demo generated for use in address2uprn 2026-05-08 14:48:15 +00:00
schema Map full-SAP water-only community DHW heat source onto the domain 🟩 2026-07-29 14:11:52 +00:00
search bolstering testing 2026-04-28 13:46:09 +00:00
surveys Model a PasHub dwelling's second main heating system 🟩 2026-07-24 15:45:47 +00:00
__init__.py testing out rebaselining 2026-02-12 22:25:03 +00:00
construction_age_band.py testing out rebaselining 2026-02-12 22:25:03 +00:00
efficiency.py beginning to assembly the parity class 2026-02-04 18:34:59 +00:00
floor.py preparing partiy class 2026-02-05 08:54:27 +00:00
fuel.py beginning to assembly the parity class 2026-02-04 18:34:59 +00:00
heating_controls.py beginning to assembly the parity class 2026-02-04 18:34:59 +00:00
hotwater.py beginning to assembly the parity class 2026-02-04 18:34:59 +00:00
main_heating.py beginning to assembly the parity class 2026-02-04 18:34:59 +00:00
property_type_built_form.py beginning to assembly the parity class 2026-02-04 18:34:59 +00:00
roof.py beginning to assembly the parity class 2026-02-04 18:34:59 +00:00
walls.py beginning to assembly the parity class 2026-02-04 18:34:59 +00:00
windows.py testing out rebaselining 2026-02-12 22:25:03 +00:00