Re-pin the trigger-attributes fixture to one that still buys lighting 🟪

0390's floor+ASHP package reaches post 68.772, which publishes as 69 = band C,
so under ADR-0064 it now meets the goal and stops before low-energy lighting —
the same over-purchase the ADR removes, one level up at the package. 0380 fires
the same three measures with identical trigger attributes, so every assertion
stands unchanged, and it lands at post 74.4, clear of a band floor.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Khalim Conn-Kowlessar 2026-07-21 16:57:22 +00:00
parent 223ef7c196
commit a80d6cad05

View file

@ -30,13 +30,20 @@ _GOLDEN = (
_WITHIN_TOLERANCE = "0036-6325-1100-0063-1226"
_DIVERGENT = "0240-0200-5706-2365-8010"
# 0390 fires three measures — an uninsulated solid floor, low-energy lighting,
# 0380 fires three measures — an uninsulated solid floor, low-energy lighting,
# and the ASHP bundle — so every fired measure's trigger attributes are
# exercised together. (0330, the previous fixture, now reaches band C on the
# correctly-sized ASHP alone: ADR-0049 sizes the pump to the dwelling's design
# heat loss, so the undersized-pump-era companion solid_floor_insulation is no
# longer needed there.)
_THREE_MEASURES = "0390-2254-6420-2126-5561"
# exercised together.
#
# Fixture history, both times because the *package* changed rather than the
# trigger logic under test:
# 0330 -> 0390: ADR-0049 sizes the pump to the dwelling's design heat loss, so
# the undersized-pump-era companion solid_floor_insulation stopped firing.
# 0390 -> 0380: ADR-0064 judges the goal band on the *published* rating, so
# 0390's floor+ASHP package (post 68.772, published 69 = band C) now meets
# the target and no longer buys low-energy lighting to clear an integer 69.
# 0380 reaches band C at post 74.4 — clear of a band floor, so it does not ride
# on the rounding rule it is standing in for.
_THREE_MEASURES = "0380-2530-6150-2326-4161"
def _triggers_by_measure(report: PropertyReport) -> dict[str, MeasureTrigger]: