mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Completes the MEV fan-electricity thread. The PCDB-index slice closed the 9 MEV certs carrying a Table 322 record; the other 11 (mostly gas houses) lodge mechanical_ventilation=2 with NO PCDB index, so `_mev_decentralised_kwh_per_yr_from_cert` returned 0 and billed no fan running cost — a tight +2.2 SAP over-rate (signed +1.23, median +2.19). SAP 10.2 §2.6.3 / Table 4g note 1 (PDF p.176) prescribes a DEFAULT specific fan power of 0.8 W/(l/s) for an MEV system whose fans are not in the PCDB, used directly as SFPav in the §5 Table 4f (230a) formula (SFPav × 1.22 × V). Restructure the helper: when no Table 322 record resolves, fall back to the default for a mechanical-extract system (`mechanical_ventilation_kind == EXTRACT_OR_PIV_OUTSIDE`); natural / balanced (MVHR / MV) systems still contribute nothing. Index-less extract cohort closed +1.23 -> +0.18 signed (each gains ~1.1 SAP of fan electricity). This is a spec-correct fix that improves the aggregate but is a HEADLINE TRADE-OFF: within-2.0 83.6% -> 84.6%, within-1.0 70.08% -> 70.19%, mean|err| 1.232 -> 1.224, but within-0.5 55.12% -> 54.90% (-2) — the fan energy is only ~half each cert's over-rate, so the cohort lands at ~+1.0 (still outside 0.5) while two borderline certs with offsetting errors cross out. Applied uniformly per the determinism principle ([[feedback_software_no_special_handling]]): the unmasked residual (~+1.0 on gas-house MEV) is the next lead. 1 AAA test (default SFP 0.8 × 1.22 × V for index-less MEV, 0 for natural). Goldens + full calc/epc regression green (000565 MEV uses its resolvable PCDB record, unaffected); pyright net-zero. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| applications | ||
| domain | ||
| infrastructure | ||
| orchestration | ||
| repositories | ||
| utilities | ||
| __init__.py | ||
| conftest.py | ||
| test_lambda_packaging.py | ||