mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Don't offer a like-for-like gas boiler swap to a dwelling whose existing gas boiler is already at least as efficient as the new condensing boiler (SAP 10.2 Table 4b codes 102/104 = 84% winter) — it gains nothing, and the dwelling gets the tune-up (cylinder + controls) instead. `_already_condensing` compares the existing code's Table 4b winter efficiency to 84%; a non-Table-4b code (solid fuel) has no comparable efficiency and is never treated as already-condensing. The gate is GAS-ONLY: a non-gas boiler → gas is a fuel switch whose value (cost / carbon) is not captured by winter efficiency, so oil/LPG/coal → gas is never suppressed on efficiency grounds (only gated on the mains-gas connection). This correctly demotes the gas-with-cylinder example (cert lodges code 114 "Regular, condensing", 84% winter) to a tune-up case — confirming that 114→102 is ~0 boiler-efficiency gain in both our calc and Elmhurst (both Table 4b 84%); Elmhurst's uplift there came from the cylinder + flue, not the boiler. The boiler-with-cylinder overlay stays validated by the lpg pin (code 115, non- condensing + cylinder) and by recasting the 114 fixtures' code to a pre-1998 non-condensing boiler (110) in the boiler tests — the overlay overwrites the code to 102 regardless, so only eligibility changes, not the delta-0 result. New tests: an already-condensing gas boiler yields no boiler upgrade (but a tune-up); an oil condensing boiler is not gated (the fuel switch survives). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| floor_recommendation.py | ||
| glazing_recommendation.py | ||
| heating_recommendation.py | ||
| lighting_recommendation.py | ||
| roof_recommendation.py | ||
| solar_recommendation.py | ||
| solid_wall_recommendation.py | ||
| ventilation_recommendation.py | ||
| wall_recommendation.py | ||