mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Cert 000565 reveals a coupling between two SAP 10.2 cascade gaps
that prevents an isolated fix to either:
1. `_space_heating_fuel_cost_gbp_per_kwh` applies the E7 low-rate
override to any electric main on a Dual meter. Per Table 12a,
heat pumps on E7 use a ~33% high / 67% low split (cert 000565
empirically) — NOT 100% low. The current binary all-low/all-high
biases space-heating cost £-1.1k / £+1.3k respectively.
2. `_PUMPS_FANS_KWH_BY_MAIN_CATEGORY[4] = 0` for HPs (Table 4f says
the circulation pump is in the COP). But certs with MEV / flue
fans / solar HW pumps have those components added on top — cert
000565's worksheet pin = 127.5 MEV + 45 flue + 80 solar = 252.5
kWh, none of which the cascade currently sums.
Probed a fix that derives `main_heating_category=4` from
`sap_main_heating_code in {211-227, 521-527}` (the Table 4a HP
rows) and exempts category=4 from the off-peak override. The
mapper change is architecturally correct but coupling to (1) +
(2) leaves residuals worse at HEAD than at the prior commit — so
both edits are reverted and the spec rationale is folded into
TODO docstrings on the two helpers:
- `_elmhurst_main_heating_category` (mapper) — flags the deferred
HP SAP code route + the two cascade prerequisites
- `_space_heating_fuel_cost_gbp_per_kwh` (cascade) — flags the
Table 12a high/low split as a future cascade slice
Cohort regression check: 192 pass + 10 expected 000565 fails —
identical baseline to S0380.59. Docs-only, pyright net-zero.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| domain | ||
| loaders | ||
| schema | ||
| search | ||
| surveys | ||
| __init__.py | ||
| construction_age_band.py | ||
| efficiency.py | ||
| floor.py | ||
| fuel.py | ||
| heating_controls.py | ||
| hotwater.py | ||
| main_heating.py | ||
| property_type_built_form.py | ||
| roof.py | ||
| walls.py | ||
| windows.py | ||