Model/domain/epc/property_overrides
Jun-te Kim deec22302a Resolve dominant double/triple glazing when the era is stated
Addresses PR #1402 review: the guard only claimed dominant-single, leaving
the symmetric bug open — the LLM can flatten a dominant-double/triple split
onto its minority single (e.g. "96% Double glazing 2002 or later, 4% Single").

A dominant double/triple whose era is explicit ("pre-2002" / "2002 or later")
is just as fully determined as era-free single, so the guard now claims it via
_DOMINANT_MEMBER. Only a genuinely ambiguous era ("unknown age", unstated) still
defers to the LLM — the "96% double -> None" contract now holds solely for the
era-unknown case, not the era-stated one.

Backfill script reuses the same guard, so it now corrects any dominant split;
renamed reclassify_dominant_single_glazing.py -> reclassify_dominant_glazing.py
to match. Tests cover double/triple x pre-2002/2002-or-later and the still-
deferred unknown-age case; 14 green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-02 08:07:13 +00:00
..
__init__.py Group landlord property-override enums under domain/epc/property_overrides 🟪 2026-06-19 14:49:58 +00:00
built_form_type.py Group landlord property-override enums under domain/epc/property_overrides 🟪 2026-06-19 14:49:58 +00:00
construction_age_band.py Group landlord property-override enums under domain/epc/property_overrides 🟪 2026-06-19 14:49:58 +00:00
glazing_mix_guard.py Resolve dominant double/triple glazing when the era is stated 2026-07-02 08:07:13 +00:00
glazing_type.py Classify an aggregate-mix glazing description as MIXED 🟥 2026-07-01 11:03:28 +00:00
main_fuel_type.py Group landlord property-override enums under domain/epc/property_overrides 🟪 2026-06-19 14:49:58 +00:00
main_heating_guard.py Deterministically guard the high-heat-retention storage description 🟩 2026-07-01 14:30:40 +00:00
main_heating_system_type.py Resolve a high-heat-retention storage override to SAP code 409 🟩 2026-07-01 14:27:30 +00:00
override_code_mapping.py Group landlord property-override enums under domain/epc/property_overrides 🟪 2026-06-19 14:49:58 +00:00
property_type.py Group landlord property-override enums under domain/epc/property_overrides 🟪 2026-06-19 14:49:58 +00:00
roof_party_ceiling_guard.py Resolve every party-ceiling marker variant to its member 🟩 2026-07-01 09:37:41 +00:00
roof_type.py Add flat-roof insulation-thickness taxonomy members lock-step with the overlay 🟩 2026-07-01 10:16:35 +00:00
wall_type.py Group landlord property-override enums under domain/epc/property_overrides 🟪 2026-06-19 14:49:58 +00:00
wall_type_construction_dates.py Group landlord property-override enums under domain/epc/property_overrides 🟪 2026-06-19 14:49:58 +00:00
water_heating_guard.py Deterministically guard structured biomass and immersion water-heating descriptions 🟩 2026-07-01 13:06:52 +00:00
water_heating_type.py Resolve biomass, dual-fuel and biodiesel water-heating overrides off house coal 🟩 2026-07-01 13:03:28 +00:00