Model/tests/domain
Khalim Conn-Kowlessar 398692703f Bill secondary electric heating at the dwelling's §12 tariff, not the meter default 🟩
An electric room/panel-heater dwelling (main SAP code 691) on a Dual meter is a
10-hour tariff by RdSAP 10 §12 Rule 3, so its main heating bills the secondary's
identical electricity at a 0.50-blended 11.09 p/kWh. Its SECONDARY heating,
however, resolved its tariff from the bare meter string — where a Dual meter
defaults to 7-hour (`tariff_from_meter_type`) — and billed at the 7-hour
all-high-rate 15.29 p/kWh. The ~10% secondary fraction was over-priced by ~4 p/kWh,
under-rating SAP by ~1 point across the LRHA WAVE 3 code-691 cohort.

Route the dwelling's resolved `_rdsap_tariff(epc)` into `_secondary_fuel_cost_gbp_
per_kwh` / `_secondary_off_peak_rate_gbp_per_kwh`, exactly as the main-heating cost
path (`_space_heating_fuel_cost_gbp_per_kwh`) and the secondary CO2 path
(`_secondary_heating_co2_factor_kg_per_kwh`) already do — removing the internal
meter-only resolution that diverged from the dwelling's single §12 tariff.

Storage-heater dwellings (7-hour by §12) are unchanged — their secondary correctly
stays at 15.29 p (regression-pinned in test_cert_to_inputs). LRHA WAVE 3 within-0.5
49.5% → 52.4%, MAE 0.977; gov-API, Elmhurst RealCert, Guinness and Wythenshawe
corpora unaffected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 14:04:08 +00:00
..
abri send AM or PM instead of trying to parse morning or afternoon 2026-07-10 10:45:57 +00:00
addresses standardist Address 2026-05-22 10:13:32 +00:00
billing ASHP sizing targets the Appendix-N efficiency peak (realistic installed pump) 🟩 2026-07-03 11:02:13 +00:00
bulk_document_download Scope latest-per-Document-Type per property, each in its own folder 🟩 2026-07-08 09:15:44 +00:00
data_transformation Let a deterministic guard override the fallback classifier per description 🟥 2026-07-01 09:39:16 +00:00
epc A community override keeps an assessor-observed Group 3 control 🟥 2026-07-03 16:33:40 +00:00
epc_prediction Re-baseline epc-prediction gates for the #1669 ground-truth change 🟩 2026-07-22 15:34:12 +00:00
fuel_rates Expose an off-peak meter's standing charge and full day/night blend range 🟩 2026-06-24 17:14:51 +00:00
magicplan Mapper reads 'Individual Trickle Vent' label variant 🟥 2026-06-30 13:43:48 +00:00
modelling Gate the loft top-up strictly below the 270mm building-regs depth 🟩 2026-07-10 16:07:48 +00:00
pashub_fetcher Move the PasHub fetcher into the DDD layer structure 🟪 2026-07-22 13:35:54 +00:00
property feat: thread physical-state-change signal into rebaselining 🟩 2026-06-26 19:15:11 +00:00
property_baseline ASHP sizing targets the Appendix-N efficiency peak (realistic installed pump) 🟩 2026-07-03 11:02:13 +00:00
sap10_calculator Bill secondary electric heating at the dwelling's §12 tariff, not the meter default 🟩 2026-07-24 14:04:08 +00:00
scenario_export Source export fabric from structured SAP fields; fix stale-cert selection 2026-07-18 19:38:12 +00:00
tasks A recorded batch failure carries structured details onto the sub_task outputs 🟥 2026-07-07 11:49:56 +00:00
__init__.py added postcode splitter rewrite to ddd 2026-05-19 16:35:09 +00:00
test_building_geometry.py feat(modelling): floor Recommendation Generator + ground-floor-area geometry 2026-06-03 09:12:29 +00:00
test_postcode.py Add UK-postcode format validity to the Postcode value object 🟩 2026-06-29 15:24:18 +00:00