fix regression tests

This commit is contained in:
Jun-te Kim 2026-06-23 13:17:23 +00:00
parent 666cf30437
commit 60ec922430

View file

@ -67,10 +67,19 @@ prediction, and the skipped certs surface for follow-up:
cert numbers, so the gaps can be closed deliberately. +3 tests; 0 new pyright.
Live-verified on BN11 4EP: cohort now builds 35 + records the 1 skip.
**✅ DONE — 2 safe generic mapper fixes (+regression tests, 0 new pyright):**
**✅ DONE — generic mapper fixes (+regression tests, 0 new pyright):**
- `_normalize_sap_schema_16_x`: `setdefault("insulated_door_count", 0)` (the
original prod crash) AND `setdefault("multiple_glazed_proportion", 100)` (16.3
cert 0418-3986-7250-2884-7970; ML-only field the SAP calc ignores; modal 100).
original prod crash).
- ⚠️ REVERTED `setdefault("multiple_glazed_proportion", 100)` — it made an
otherwise-unmappable 16.3 cert (0418-3986-7250-2884-7970) join the EPC-prediction
**frozen-fixture donor pool** and tipped near-tie similarity matches, regressing
the component-accuracy gate (`has_hot_water_cylinder` 30→29/36; `door_count`
residual 23→25/36 — both ≫ the gate's 1e-3 float tolerance). The field is ML-only
(SAP calc never reads it) and the cohort skip-and-report path handles the cert,
so we leave it fail-loud instead of synthesising a value. Re-baselining the gate
was rejected (loosens a tighten-only gate for a real regression). For Khalim: if
16.x certs missing `multiple_glazed_proportion` should map, derive it (single→0 /
double→100) rather than a flat default, and re-measure the gate.
- `_with_recorded_performance` co2/consumption/rating: `float(co2)` → crashed on
certs lodging `co2_emissions_current` as a Measurement dict `{'value':3.5,
'quantity':'tonnes per year'}` (16.x cert 2308-4997-7262-0137-9930, surfaced as