Model/tests/domain/epc
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 Map landlord-override property type and built form to gov EPC codes 🟩 2026-06-16 15:07:09 +00:00
test_attribute_overlay.py move overlas to its own thing 2026-06-18 10:04:14 +00:00
test_construction_age_band_overlay.py Group landlord property-override enums under domain/epc/property_overrides 🟪 2026-06-19 14:49:58 +00:00
test_glazing_mix_guard.py Resolve dominant double/triple glazing when the era is stated 2026-07-02 08:07:13 +00:00
test_glazing_overlay.py Resolve a MIXED glazing override to no overlay, keeping the cert per-window glazing 🟩 2026-07-01 11:06:50 +00:00
test_main_fuel_overlay.py Rename SapEnergySource.mains_gas to gas_connection_available 🟩 2026-07-01 10:59:21 +00:00
test_main_heating_guard.py Deterministically guard the high-heat-retention storage description 🟥 2026-07-01 14:30:13 +00:00
test_main_heating_system_overlay.py Drag HHRSH's intrinsic control, electricity fuel and off-peak meter 🟥 2026-07-01 14:27:59 +00:00
test_override_code_mapping.py Group landlord property-override enums under domain/epc/property_overrides 🟪 2026-06-19 14:49:58 +00:00
test_roof_party_ceiling_guard.py Leave a genuine (non-party-ceiling) roof description to the LLM classifier 🟩 2026-07-01 09:38:03 +00:00
test_roof_type_overlay.py Add flat-roof insulation-thickness taxonomy members lock-step with the overlay 🟩 2026-07-01 10:16:35 +00:00
test_wall_type_overlay.py Stop a System-built landlord override being mis-read as a basement 🟥 2026-06-29 19:30:25 +00:00
test_water_heating_guard.py Deterministically guard structured biomass and immersion water-heating descriptions 🟥 2026-07-01 13:05:47 +00:00
test_water_heating_overlay.py Resolve biomass, dual-fuel and biodiesel water-heating overrides off house coal 🟥 2026-07-01 13:02:38 +00:00