From d0f57a0e945bbbdc5ae50c2715267b90eb3d6893 Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Sun, 7 Jun 2026 22:26:21 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20session-4=20handover=20=E2=80=94=20floo?= =?UTF-8?q?r=5Fheat=5Floss=3D3=20resolved=20(U=3D0.7),=207536=20re-pinned?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- docs/HANDOVER_API_PROFILING.md | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/docs/HANDOVER_API_PROFILING.md b/docs/HANDOVER_API_PROFILING.md index e3b9e6d4..9fd1527c 100644 --- a/docs/HANDOVER_API_PROFILING.md +++ b/docs/HANDOVER_API_PROFILING.md @@ -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.