From 1bcb55784a811d1dc44fb0d8e93e4f89dff4cc6b Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Fri, 3 Jul 2026 16:37:20 +0000 Subject: [PATCH] =?UTF-8?q?Amend=20ADR-0053:=20community=20default=202313?= =?UTF-8?q?=20with=20keep-observed=20Group=203=20controls=20=F0=9F=9F=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- ...taxonomy-complete-incomplete-set-raises.md | 58 +++++++++++++------ 1 file changed, 39 insertions(+), 19 deletions(-) diff --git a/docs/adr/0053-heating-override-companion-taxonomy-complete-incomplete-set-raises.md b/docs/adr/0053-heating-override-companion-taxonomy-complete-incomplete-set-raises.md index 152e19224..0f1ca0cd7 100644 --- a/docs/adr/0053-heating-override-companion-taxonomy-complete-incomplete-set-raises.md +++ b/docs/adr/0053-heating-override-companion-taxonomy-complete-incomplete-set-raises.md @@ -42,15 +42,27 @@ gap-log, and with them Part C stayed blocked: a modern end-state (ADR-0024); a landlord override describes an existing pump whose control was never observed, so the conservative default applies. -2. **Community heating (301/302) drags control 2301** — Table 4e Group 3 - "flat rate charging, no thermostatic control of room temperature". It is - the never-over-crediting default on **both** axes the control drives: the - largest Group 3 temperature adjustment (**+0.3 °C**, tied with 2302) and - the worst Table 4c(3) charging factors (space **1.10**, DHW **1.05** — an - unobserved charging arrangement is never assumed to be usage-linked). - As with every forced companion (ADR-0035/0048 pattern), this overwrites a - better control lodged for the replaced system: the override asserts the - system afresh and synthesis owns coherence. +2. **Community heating (301/302) defaults to control 2313, keeping an + assessor-observed Group 3 control** (decided with Khalim, revising the + first-cut 2301). The control encodes two independent unknowns and the + default is chosen per axis: + - **Kit axis** (thermostat/TRVs): community schemes skew modern, and the + portfolio's own lodged community certs are overwhelmingly thermostatted + (modal control 2306; none lodge 2301) — so 2313 ("flat rate charging, + room thermostat and TRVs", temperature adjustment 0.0) concedes this + axis to the evidence. + - **Charging axis** (flat rate vs usage-linked): the billing arrangement + is scheme paperwork an override genuinely cannot see, so flat rate + (Table 4c(3) space **1.05**, DHW **1.05**) is retained — the + usage-linked credit (1.0/1.0) is never assumed. + - **Keep-observed**: when the cert already lodges a Group 3 control the + override is confirming a community system, not replacing one — the + assessor observed that control, and stamping any default over it + destroys real information (a usage-linked 2306 is worth ~1-2 SAP over + flat-rate). The overlay opts in via + `keep_existing_heat_network_control` (the control mirror of ADR-0035's + `keep_existing_off_peak_meter`); only a stale cross-family control (the + boiler-2110 / storage-2401 inheritances) is replaced by 2313. 3. **An incomplete companion set now raises** (`ValueError`) instead of logging. Every archetype in `_MAIN_HEATING_CODES` resolves a complete @@ -65,22 +77,30 @@ gap-log, and with them Part C stayed blocked: ## Consequences - The companion-gap error log is gone; #1444 closes. -- Community overrides re-model against the conservative 2301: dwellings whose - replaced-system control was inherited converge on one defensible assumption. - Live sample (portfolio 796, 12 properties): baseline shifts of **0 to −3 - SAP** (typically −1 to −2). The inherited controls were unobserved - usage-linked credits (2306/2307/2309) or outright group-incoherent — two - dwellings carried a Group-1 *boiler* zone control (2110) on a heat network — - so the shift removes credit that was never evidenced. +- Community overrides converge on defensible controls with minimal score + churn. Live sample (portfolio 796, 12 properties): the ten dwellings with + assessor-observed Group 3 controls (2306/2307/2309) shift **±0.0** — their + observed controls survive the override — and only the two group-incoherent + dwellings (a Group-1 *boiler* zone control 2110 riding on a heat network) + move, **−1.0** each onto the 2313 default. Contrast the first-cut 2301 + design, which shifted the whole sample 0 to −3. - Adding a heating archetype now *requires* choosing its category + control (or extending the family sets) — the raise turns the ADR-0048 checklist into an enforced contract. ### Alternatives rejected -- **A zero-adjustment / usage-linked community default (2307+).** Rejected: - credits a charging arrangement and thermostat the landlord never reported; - the conservative default is the established pattern. +- **The maximally conservative community default (2301).** The first cut. + Rejected on evidence: no lodged community cert in the portfolio carries + 2301, so it under-rates the typical (modern, thermostatted) scheme and + shifted the sampled cohort 0 to −3 SAP for no informational gain. +- **A usage-linked community default (2306/2312/2314).** Rejected: credits a + billing arrangement the landlord never reported — the charging axis is the + one the override genuinely cannot observe, so it stays flat-rate. +- **Stamping the default over an observed Group 3 control.** Rejected: the + ADR-0035 "always stamp" pattern exists to kill *stale* companions; an + in-group control on a confirmed community cert is observed data, and + overwriting it is information destruction, not coherence. - **Keep log-and-continue indefinitely.** Rejected: the log was the interim mitigation while the taxonomy was incomplete; leaving it means the next archetype ships the ADR-0048 inheritance bug silently again.