Model/backend/documents_parser/tests
Khalim Conn-Kowlessar 7a9a8b7ebe Slice 57: Pre-1950 Elmhurst sloping-ceiling roofs map to thickness=0
Cert 001479 Ext2 §8 lodges:
  Type: PS Pitched, sloping ceiling
  Insulation: S Sloping ceiling insulation
  Insulation Thickness: As Built
  age C (1930-49)

The Summary's "As Built" thickness encodes "the dwelling as originally
constructed" — for pre-1950 sloping-ceiling roofs that's uninsulated
(no roof insulation in original 1930s construction). The worksheet's
§3 row pins U=2.30 (Table 16 row 0, uninsulated).

Pre-slice the mapper passed thickness=None through, routing to
`u_roof`'s Table 18 col 1 default (0.40 W/m²K for age C). That table
assumes joist insulation accessible from the loft — wrong geometry for
PS (Pitched, sloping ceiling) which has no loft access for retrofit.

Add `_resolve_sloping_ceiling_thickness`: when roof_type starts with
"PS" + lodged thickness is None + age ∈ {A,B,C,D} → thickness=0.
Other ages leave None (cascade default), matching Ext1's worksheet
U=0.15 at age M.

Cascade SAP 61.93 → 61.39 (−0.54, expected — uninsulated roof adds
heat loss); cohort 6 certs all green at 1e-4 (none have PS+age≤D);
pyright net-zero baseline preserved.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-24 22:39:13 +00:00
..
fixtures Slice 54: Elmhurst mapper sets extensions_count from len(survey.extensions) 2026-05-24 22:15:47 +00:00
__init__.py Map to RdSapSiteNotes from site notes JSON 🟥 2026-04-16 13:54:03 +00:00
test_elmhurst_end_to_end.py Slice 51: Summary_000516 chain pins SAP at 1e-4; roof-window separation 2026-05-24 21:16:46 +00:00
test_elmhurst_extractor.py extract window frame details from elmhurst site notes 🟥 2026-04-27 15:50:25 +00:00
test_end_to_end.py P6.1 follow-on: unbox BuildingPartIdentifier at backend boundaries 2026-05-20 09:58:23 +00:00
test_extractor.py Handle wall thickness "Unmeasurable" 🟩 2026-04-30 16:41:16 +00:00
test_pdf.py rename example site notes to PasHub_ and add Elmhurst example 2026-04-24 13:01:51 +00:00
test_summary_pdf_mapper_chain.py Slice 57: Pre-1950 Elmhurst sloping-ceiling roofs map to thickness=0 2026-05-24 22:39:13 +00:00