Locate a band's floor on the continuous SAP scale 🟩

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Khalim Conn-Kowlessar 2026-07-21 10:03:54 +00:00
parent 1e4526f33f
commit 31ad9448d2

View file

@ -48,4 +48,13 @@ class Epc(Enum):
return bounds[self]
def sap_lower_bound_continuous(self) -> float:
raise NotImplementedError
"""The band floor on the **continuous** SAP scale — the lowest un-rounded
rating whose *published* rating falls in this band (C 68.5).
A dwelling is in a band by its published rating, which is the continuous
score rounded half up, so the published rating enters the band half a
point below the integer floor. Anything judging "has this dwelling
reached band X?" against a continuous score must compare with this, not
with `sap_lower_bound`: a dwelling at a continuous 68.6 publishes as SAP
69 and *is* band C, but reads as 0.4 short of an integer floor of 69."""
return self.sap_lower_bound() - 0.5