Record ADR-0052: electric boiler/CPSU overrides drag category 2 + conservative Group 1 control 🟪

#1444 Parts A+B for codes 191/192, diagnosed on portfolio 796: 30 of the
first 40 live overrides inherit a replaced system's category (6/4/7) —
suppressing HHRSH or billing direct-acting heat as storage.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Khalim Conn-Kowlessar 2026-07-03 14:04:21 +00:00
parent 41d46e3910
commit 0f091e3ab1

View file

@ -0,0 +1,88 @@
# Electric boiler and CPSU overrides drag category 2 and the conservative Group 1 control
## Status
accepted
## Context
[ADR-0048](0048-heating-override-forces-category-and-control-defers-fuel-and-meter.md)
requires a system-replacing heating override to emit a complete companion set
(category and control archetype-forced, never inherited) and deferred the
electric boiler / CPSU expansion; [ADR-0050](0050-electric-underfloor-override-drags-category-8-and-conservative-group-7-control.md)
completed the underfloor half. This ADR completes the electric-boiler half
(#1444 Parts A+B for codes **191/192** — the archetypes "Direct-acting
electric", "Electric boiler", "Electric CPSU").
A portfolio-796 scan of the 126 live 191/192 overrides found **30 of the first
40 in a suppressed or mis-billed state** from inherited companions:
- **Inherited category 6** (replaced community heating — the bulk): the heating
generator's `is_heat_network_main` gate reads the dwelling as a heat network,
so the **HHRSH bundle is never offered** — only tune-ups. Same class as
ADR-0050's evidence property.
- **Inherited category 4** (replaced heat pump — property 711954): *every*
heating bundle suppressed.
- **Inherited category 7** (replaced storage heaters — property 721912): the
SAP 10.2 Table 12a resolver's category-7 branch bills the direct-acting
boiler as storage — **100% at the off-peak low rate** — the precise
ADR-0048 room-heater mis-billing, resurfaced.
- Stale controls ride along (community 23xx, storage 2401, room-heater 2603),
applying the wrong Table 4e temperature adjustment.
## Decision
The electric-boiler codes (SAP Table 4a **191** direct-acting electric boiler,
**192** electric CPSU) join the forced-companion branches of
`main_heating_system_overlay`:
1. **Category 2** ("boiler system with radiators or underfloor heating") in
`_category_for` — deterministic from SAP Table 4a; the same category the
gas-boiler overlay already stamps. Table 12a billing for these codes is
code-keyed (191 → `DIRECT_ACTING_ELECTRIC_BOILER`, 192 → the deliberate
Appendix-F fallback), so the category change *removes* stale-category
misrouting rather than selecting a new billing row.
2. **Control 2101** (SAP Table 4e **Group 1**, "no time or thermostatic control
of room temperature", **+0.6 °C**) in `_control_for` — the conservative
default within the group the category fixes: the largest Group 1
mean-internal-temperature adjustment, so an unobserved control is never
over-credited (the boiler mirror of storage 2401 / room-heater 2601 /
underfloor 2701). This **supersedes the earlier "direct-acting electric
drags no control" choice** — code 191 is a wet Group-1 boiler, and leaving
the control unset inherits the replaced system's (the ADR-0048 bug class),
which is strictly worse than a conservative assumption.
Deliberate asymmetry with gas boilers: the gas archetypes force **2106**
(full modern controls) because they also assume a modern condensing install
(ADR-0035, decided with Khalim) — the whole system is modelled modern. The
electric-boiler archetypes describe an *existing* system of unknown vintage
modelled at code 191/192's intrinsic efficiency, so the conservative
default applies.
Fuel (electricity 29, ADR-0045) and meter (192 off-peak Dual via §12; 191
Single) were already correct and are unchanged. A forced 2101 also makes the
system tune-up options available (2101 is improvable) — a coherent cheap lever
for these dwellings.
## Consequences
- The suppressed cohort regains its heating pathway: category 6/4 inheritors
become HHRSH-eligible (verified live: 711954 gains the HHRSH option), and
category-7 inheritors stop billing direct-acting heat at the all-night low
rate (721912).
- The "incomplete companion set" error log no longer fires for
Direct-acting electric / Electric boiler / Electric CPSU. Remaining gap-log
archetypes (#1444): heat pumps (Group 2 control), community heating
(Group 3 control — interacts with the Table 4c(3) charging factor, needs an
accredited worksheet), then the log flips to a raise (Part C).
- Overrides re-model with a different (usually lower) baseline where a stale
category was over-crediting — an accuracy correction, not a regression.
### Alternatives rejected
- **Keep "no control" for direct-acting electric.** Rejected: `None` is not
"no control assumed" — by last-wins composition it means *inherit the
replaced system's control*, the silent mis-rating ADR-0048 exists to stop.
- **Force modern controls (2106) like the gas boilers.** Rejected: nothing in
the electric-boiler archetype implies a modern install; assuming full
controls over-credits every dwelling whose controls were never observed.