docs: session-4 handover — floor_heat_loss=3 resolved (U=0.7), 7536 re-pinned

Code 3 = "(other premises below)" = above partially heated space (§3.12 →
U=0.7), confirmed 9/9 on single-BP certs (the diagnostic that dodged the
lossy-floors[] contamination). Records the 7536 re-pin and the lesson that
"irreducible residual" golden notes can mask a real mapper bug.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Khalim Conn-Kowlessar 2026-06-07 22:26:21 +00:00
parent 8741fbdfac
commit d0f57a0e94

View file

@ -39,21 +39,26 @@ profile-surfaced buckets below.
(4)(5)(6) cleared **all 4 raises** — eval now has zero raises.
7. `(profiler)` **`scripts/profile_api_error.py`** — the new diagnostic (below).
## SESSION-4 UPDATE (HEAD `b40e0f67`) — read before re-working the leads below
- **Lead #1 `floor_codes=3` is NOT clean — worked it, enum UNCONFIRMED.** It's bimodal
(mid-floor flats over-rate, top-floor maisonettes 0434/0761 want ~zero floor loss) and
confounded (9763 +19.48 is a WALL bug: walls=8.19 W/K for 59.8 m²). The 48 paired
API+Summary worksheet certs (`sap worksheets/Additional data with api/` + `additional with
api 2/`, folder=API cert id) confirm **code 7↔"G Ground", code 1↔"E To external air",
code 6↔no-heat-loss** but **NONE cover code 2 or 3** → code 3 is genuinely unmapped.
RdSAP §3.12 (p.25) flat floor categories: exposed→Table20, semi-exposed(unheated)→Table20,
above-partial(non-domestic)→0.7, ground→ISO13370. **NEXT: get a worksheet for
`0380-2087-8190-2996-3075`** (mid-floor flat, single BP, roof correctly party so the floor
is the ONLY heat-loss unknown; lodged 66, we +3.71). Tried Table-20 for codes 2/3: overshoots
(9494 +0.56→-3.67), reverted — and picking ground-U-vs-Table20 by eval score is a data-fit.
## SESSION-4 UPDATE (HEAD `8741fbdf`) — read before re-working the leads below
- **Lead #1 `floor_codes=3` RESOLVED — the code IS authoritative.** The diagnostic that cracked
it: join each **single-BP** cert's `floor_heat_loss` code to its independent
`floors[].description` (the multi-BP tally was contaminated because a cert's `floors[]` summary
is LOSSY — it drops some BPs' descriptions). Single-BP gives a perfect 1:1 enum: code 1↔"To
external air"(exposed), 2↔"To unheated space"(semi-exposed), **3↔"(other premises below)"
(9/9)**, 6↔"(another dwelling below)"(party), 7↔Solid/Suspended(ground). Per RdSAP §3.12
(p.25) code 3 = "above a partially heated space" (non-domestic premises below) → §5.14 constant
**U=0.7** (NOT Table-20 semi-exposed, NOT ground). SHIPPED `8741fbdf`.
- **SHIPPED `b40e0f67`:** exposed-floor-on-flats (code 1) area fix — §3.12. A flat's code-1
floor was area-zeroed by `_dwelling_exposure`; now the per-BP `is_exposed_floor` overrides the
flat suppression upward (mirrors the "another dwelling below" party override). 45.1→45.3%.
flat suppression upward (mirrors the "another dwelling below" party override).
- **SHIPPED `8741fbdf`:** code 3 → `is_above_partially_heated_space` (U=0.7) + area override.
**RE-PINNED golden 7536-3827** — its Ext2(bp3) code-3 floor was mis-read as "ground U=1.12" by
a prior agent (the lossy floors[] dropped its description), who declared the residual an
"irreducible register-rounding artifact, DO NOT chase". It was this bug: U 1.12→0.70, PE/CO2
residuals moved toward 0. **LESSON: "irreducible residual" golden notes are suspect — a real
mapper bug can hide there.** Eval (both slices): 45.1→45.3%, mean|err| 1.702→1.659, <1.0
59.5→60.2%. User is generating a fresh `0380-2087-8190-2996-3075` worksheet to independently
confirm U=0.7 (0380 now 0.63) — validate when it lands.
- **Leads re-checked, NOT clean:** `immersion_type=2` (+1.86) is high-scatter (mean|err| 3.71,
bidirectional). `main_control=2107` (+1.63) is correctly mapped ("Programmer, TRVs and bypass"
type 2 Table 4c(2)) — over-rate is diffuse gas-boiler/flat-fabric, not a dispatch bug.