From 570df834590d90b6f7de9bf5d1fab2c43b09573a Mon Sep 17 00:00:00 2001 From: Khalim Conn-Kowlessar Date: Wed, 3 Jun 2026 11:41:16 +0000 Subject: [PATCH] =?UTF-8?q?S0380.197:=20simulated=20case=205=20e2e=20fixtu?= =?UTF-8?q?re=20=E2=80=94=20detached=20sandstone=20RR=20validates=20S0380.?= =?UTF-8?q?196=20(RdSAP=2010=20=C2=A73.9.1=20+=20Table=204=20p.22)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Promotes user-simulated "case 5" (detached, sandstone-walled, room-in-roof cousin of golden cert 0240) to an e2e worksheet fixture pinning the WHOLE extractor → mapper → calculator pipeline at abs=1e-4 on all 11 Block-1 line refs. Its worksheet prints the exact RR-gable routing S0380.196 implements, validating that fix against ground truth: Roof room Main Gable Wall 1 15.68 U=0.35 (29a) Exposed → walls @ main-wall U Roof room Main remaining area 61.73 U=0.30 (30) A_RR shell − Σ gables External roof Main 14.52 U=0.11 (30) loft residual Roof room Main Gable Wall 2 15.68 U=0.25 (32) Party → party @ 0.25 gable area = 6.40 × 2.45 (§3.9.1 default RR storey height); A_RR remaining = 12.5√(83.2/1.5) − 2×15.68 = 93.09 − 31.36 = 61.73 (RdSAP 10 §3.9.1(e)). Confirms a DETACHED dwelling can lodge a Party RR gable (Table 4 p.22 row 2) — so my S0380.196 mapping (gable_wall_type 0=Party, 1=Exposed) is correct; do not flip it. Two extractor/mapper gaps surfaced and fixed (case 5 is the forcing test): - Sandstone wall label "SS Stone: sandstone or limestone" had no `_ELMHURST_WALL_CODE_TO_SAP10` entry (raised UnmappedElmhurstLabel). Added "SS" → 2 (WALL_STONE_SANDSTONE), matching 0240's API wall_construction=2 (cross-mapper parity). - Roof "Insulation Thickness 400+ mm" was silently dropped: the four thickness parsers used `.split()[0].isdigit()`, which rejects the trailing "+" → None → u_roof fell back to the age-J default 0.16 instead of 0.11 (+1.09 W/K roof, the whole 0.12 SAP gap). Added `_parse_thickness_mm` (strips to leading digits) and applied it at all four sites (walls / alt-wall / roof / floor). The only existing fixture with "400+ mm" (000565 Stud Wall) routes via the RIR regex, unaffected. Result: case 5 cascade ≡ worksheet at 1e-4 on SAP/ECF/cost/CO2 + every energy stream. Neither gap affects 0240 (its API path captures both the sandstone code and "400mm+"); 0240's residual is therefore non-fabric. Suite: 2353 passed, 1 skipped. New code: 0 pyright errors. Co-Authored-By: Claude Opus 4.8 --- .../documents_parser/elmhurst_extractor.py | 38 +++--- .../tests/fixtures/Summary_001431_case5.pdf | Bin 0 -> 80735 bytes datatypes/epc/domain/mapper.py | 4 + ...60-0001-001431 - 2026-06-03T115608.865.pdf | Bin 0 -> 46528 bytes .../simulated case 5/Summary_001431 (1).pdf | Bin 0 -> 80735 bytes .../_elmhurst_worksheet_001431_case5.py | 122 ++++++++++++++++++ .../worksheet/test_e2e_elmhurst_sap_score.py | 21 +++ 7 files changed, 167 insertions(+), 18 deletions(-) create mode 100644 backend/documents_parser/tests/fixtures/Summary_001431_case5.pdf create mode 100644 sap worksheets/golden fixture debugging/simulated case 5/P960-0001-001431 - 2026-06-03T115608.865.pdf create mode 100644 sap worksheets/golden fixture debugging/simulated case 5/Summary_001431 (1).pdf create mode 100644 tests/domain/sap10_calculator/worksheet/_elmhurst_worksheet_001431_case5.py diff --git a/backend/documents_parser/elmhurst_extractor.py b/backend/documents_parser/elmhurst_extractor.py index b3fde06b..00aaf045 100644 --- a/backend/documents_parser/elmhurst_extractor.py +++ b/backend/documents_parser/elmhurst_extractor.py @@ -281,11 +281,7 @@ class ElmhurstSiteNotesExtractor: # with the §8 Roofs / §9 Floors blocks. None when the PDF # omits the line (no retrofit lodged). ins_thickness_raw = self._local_val(lines, "Insulation Thickness") - insulation_thickness_mm = ( - int(ins_thickness_raw.split()[0]) - if ins_thickness_raw and ins_thickness_raw.split()[0].isdigit() - else None - ) + insulation_thickness_mm = self._parse_thickness_mm(ins_thickness_raw) return WallDetails( wall_type=self._local_str(lines, "Type"), insulation=self._local_str(lines, "Insulation"), @@ -323,11 +319,7 @@ class ElmhurstSiteNotesExtractor: if area <= 0: continue thickness_raw = self._local_val(lines, f"Alternative Wall {n} Thickness") - thickness_mm = ( - int(thickness_raw.split()[0]) - if thickness_raw and thickness_raw.split()[0].isdigit() - else None - ) + thickness_mm = self._parse_thickness_mm(thickness_raw) result.append(AlternativeWall( area_m2=area, wall_type=self._local_str(lines, f"Alternative Wall {n} Type"), @@ -356,11 +348,25 @@ class ElmhurstSiteNotesExtractor: lines = [l.strip() for l in main_body.splitlines() if l.strip()] return self._wall_details_from_lines(lines) + @staticmethod + def _parse_thickness_mm(raw: Optional[str]) -> Optional[int]: + """Parse an Elmhurst "Insulation Thickness" cell ("100 mm", + "400+ mm") to integer mm. The bucket-cap "400+ mm" (Table 17/18 + max tabulated row) carries a trailing "+" that a bare + `.split()[0].isdigit()` test rejects — strip to the leading + digits so the cap parses through to the cascade with its numeric + value (simulated case 5: roof "400+ mm" was silently dropped → + u_roof fell back to the age-J default 0.16 instead of the + 300mm+ value 0.11). Returns None when the cell is absent or + carries no leading number ("As Built", "N None").""" + if not raw: + return None + match = re.match(r"\d+", raw.strip()) + return int(match.group()) if match else None + def _roof_details_from_lines(self, lines: List[str]) -> RoofDetails: thickness_raw = self._local_val(lines, "Insulation Thickness") - thickness_mm = ( - int(thickness_raw.split()[0]) if thickness_raw and thickness_raw.split()[0].isdigit() else None - ) + thickness_mm = self._parse_thickness_mm(thickness_raw) insulation = self._local_str(lines, "Insulation") # The Summary PDF omits the "Insulation Thickness" line entirely # when no retrofit insulation is lodged (e.g. "Insulation: N None" @@ -391,11 +397,7 @@ class ElmhurstSiteNotesExtractor: # via the per-thickness column. Mirror of the §8 roof extractor # at `_roof_details_from_lines`. thickness_raw = self._local_val(lines, "Insulation Thickness") - thickness_mm = ( - int(thickness_raw.split()[0]) - if thickness_raw and thickness_raw.split()[0].isdigit() - else None - ) + thickness_mm = self._parse_thickness_mm(thickness_raw) return FloorDetails( location=self._local_str(lines, "Location"), floor_type=self._local_str(lines, "Type"), diff --git a/backend/documents_parser/tests/fixtures/Summary_001431_case5.pdf b/backend/documents_parser/tests/fixtures/Summary_001431_case5.pdf new file mode 100644 index 0000000000000000000000000000000000000000..335e62428d6a52c924e63541ea6612d5d962752f GIT binary patch literal 80735 zcmeF)1ymf(z9{+#5?q2L1W)kb9^Bn!f(`BtgIjCw__uv*hKyY^r`i5`I z*=O(j_Pcw(b=uvKqpKq%oY3HFrtC(&Ry4@_j-cD!WHO7M1%&AN5XhPZ%~LbpAv00 zYd*=EoUkaIXvzR}Zyp^>-SWJ5Zfj?z zDy+5*2B^$;LebZbF+6!uSW@o+$_8fP)+NzH$?)543=z>ma8o z{SrC%^gciKJL5%2KQQHD%o-`{)X(_^J(poz3usjT$=CM zUSB`z?_$w%r^@p>mN1;lZ@C5!`9N(C!zU(}6f=*^TLz*8)PHn3zhKVIHrA8$K2nvU zxQySKeb;#XKC#8#J_`ugrB}tQfu~y6JK2D zmE%OXwLG)qW!FmE304x)S(DdGyxPWUhF38?jJku;d_?H@ALX5P=i1}K2a7)^Nm9z3 z<2Nf>srNy+v}>=eK0F)wdCwc#Wn+E71#TL~Y_xc3*XZz_AQko>JRy|O;c*XLkap`) z9~u6`>;Hu>(TeO+VyBc(Z?BsevDTO4h92xU?-4XTcYWH3ETR6&{hFtzTO}_&xbSYP z?&xr=UE0Xflq&R$S>MhXz2(}k(0^aCm4w_jGr@g4?kD} zl(-1>y-7(fk4ju9H9} z56$5=XzMs+Y;lLcdD)lBrLAZzXfM&7{8b8FvpI7`y`$YDo1T@>Xm)OlzL#?tW1qR9 z)N8_a@M~(|m8Ney_q}mrM3!w6JlxiA^UK&qZXVW)J?WEbqr3h=RwwP|I4zU|x95`wU7u=RHt%H?mDn=UiPqlut-4@OU3Mcd6^vp#Xz7A0t&6W^xauh~X^$hhrp>hgiZBob66u`5P_iq?4Sw&rvX zC#Tk#wMmd6OB~h=*`1?Pbh*FwI4gM$Pm!3W0iNG^g$fnbbN|G~Rx`rKtTs1O0@oPz zT-?_yA#dN&5}YM7bL9yse^x&}wynul-SjeaiG*q9^qiR6r57yb#>KXL?jk{{Hmsu4r^U6(vs(#|qQA?r*MfKec93Os{<)WU1Q| zdQpg(nBO@bL&jEc57l&H@0PQ(Myrhtm;bjC-GbvH`Vh|KI)LS+;iJEGN$ao!(q zpZG`P(X1KpJUZjnP%XW|r2n{$M}9=_l=Sk@!ufaAf?dI2Qk8PR0A0c6c?F*}c+hUI z{;DJUGo!Fn_iApZ@0U|p#7(y8e{E!kmhP+x%G6jj^JSjXwLEF~;I5Hi2s;%|e@;Sz zE+6SMEh&~)ykY?#B7YUjbQoWc!`4hzw%;+luldZRoG0oaSmOl&3kgi=Vh|h*Ak^n6 zU1f&f<){oPo0zoI{kmK$x;ij%sS46eo0=v(?fT}{RZ1}LIcC@w$$wMP?Yx1$bzMDl zPkRe?D>&&BRh7Z*$1bakFmHd3eVw025gYZbPxm^{R0Z#P{{-0&pVE$iF>jF0nXwgT z5|b!kW+q*g%=V>3u>RmNt-*qdSrvFsHkezUtDj&uoQkhc*V<~Vc-WuR$9Y3&vuUeD zC#R>V>8PK6g#Hz{*fn*FKQtI5sNXN5;(f}xD!xv1JMRt07Trfu)&Fw3kSRAg0STI? z%dpe(429fZ-Q@Y!ku*s_TO5dtXKa%D|t&jymN%KMr&qW*fIN(v4qzA|w3f z#QmhdsIQuY*-Nih$%5piKa=^(7soR>9D5$ZJ|-vEyTb-Cd}e_ojn#bey>GX~5R;Sk)r!tYC3)E{aGw*m8dltd!A=YB?Y^&eJCQjAo)jlPY zHPwE{A$CyPk&1RE$1ih*rs5-NJ}#co+~|Yy0e4ilsMkaA!+9p%_`2vrL!oTEElfM*eN|)p6rQdCrOpFC&!9y zIPQz~kI(c;BXjjKlEfSCojx5%5e;m-D*iGnK@!oO__`rq+Vu=9WW<^*b>OR0(~vRC zwgkI~W;ooHCSmh?*zIbT50mzhLl*|*@H~v#>BcSM9u;Y8%)Z_Ih7C~_R&SlYDfvC{ zf?}LKI?GLocdeI{t=U;b=-W5?I%3O__*xu7827%FVe9Y2B0&$AWQ#@) zp6pIRyDw~ysLkgZ$#UtMY!g7O-Rira^ncND>o1uEsFHQmi;lGxVH_Xpi#dnw&pXAb z?EE_H$clzt2Vob%gS)Oh!JWO`IE8|qymmyBjnkW9(~a>`E%oAbJEOSUtGWW^lC@?AiuvM>8F+o0)Klrf<@wb{MIrMN{7Q<)8e(T#W70SNa+l*t$F%WL#o;Ti z6q(xRSTqBLdApjvk)E+_vj&u4p&iWpU8}>FHO4fIkIOA}&t2s2H@aI+r<}xo97zY3 z%D?u~a10$BkPeJd?UByfCY(UmO>)JJ?4dc)g)W{mlf%hYNP5aSbG>KSz<%FxGV>!W zW)QaF)(~Tna3jo4US~j++7sdH*`%X7P{A|fu%{AmTxd2DN_|y*6TD1a*~tg z=%It({aqx06Sqawp8hMhGkxPD{GKDS%!b-Mo1sHsqoGb^fB)$8xk3#SHqy-j>x9ecMGVap>osJg0~O&V9X#+DA1~PO&%UXEnPm#{PcZ zo~j%-4_XO$*zv}}-aSE^X=f|9w-kSo6a2d&6YGQg-Kbc1^;P{6Ly7=#@+vA@ z)1MXCc%)JDLId7Wk5ixJNt#vTA{;FVHY&$@Wnt2OFbyinjR!lyE&Qh^i2wZYlI~TC z?&MEo9F=ZjSeovQ`ZST=D5&y zR>b+_0fSZ+MBj^KP&za?6KjLW>X)lA3DT?(DZ!i#$xAvLFVCh*51XW;FTKae7L9g< zh_{BW-b>pUk+4$=#&8g>lhNH7ayouBZzps!KLQuLM~S_%l$)1-J9z8Q3XOLfM5sDD zia@6ml{2)fbEofD!Y$~s-y)idJT(-3z^yAEJtrLIAHkGEyrCL|I?_^56_aaFd!$`MzH-wmpHn_w?~ z6b5u8{5V#HVu~MHOmTK?2Idzp`1DSw4aJ6cOK5|t@!AaHq*RNC<8pJaH1*8)C&w{) z?sIRfD#VXiaX1m{t4j)v1gUA+BOXy3(Sy|NsSI&DHJ4imgzrQZao8my19A#J!7Wdu ztC$UE?ZZywQc?(DGmCQu>iPWA?hRKg@Vjj%qFV;z>`e2#P~p?8vj*SQD0SVqFDW_q z#VxPX%Noh+eBo%mezvP9AY8=v*Kvtl6w#3RD*WSf;;hgNj0>-qA;0gBA%;f%4G%R~!- z&XI}8c#Hs^Mp=|;I;>8u5Le)9vT37;hbGPlpX~S zYe_yIE}+}Q)bVQMUgQS$uFZn)$SFyaU>m_7XFk$qFYa!{=t(>VNKmZ_->_c-!AM8@vEHU zPa90S#1e0zn-0v^UcJ`y--T{d1(m-DuizF7ROi0AF?K-~auYjYzb;{p?=2Q&6pAyL zI1+69Qr>+|>qS%t3I&tm9$X>X&8#ol1*Na4c>U^QHIne&m$jzx9GAu`@#fKeJyrc9SDtpa^gDsX0y>)Xk zT6FvLXr_dpGS%v%Fi6z_VHx)fsUByxd7&r~adb&>h=!H9=iBnv!;oE?X^AsFFX>)f zu<()tNeruq7eD#h%#XP@Y2HrFg5HwxpLRba5RQ~M@<0CsioXWGg?_(fOlg^0!L`gt zcAYSMkDnVQ&I0wEd}&teMP8T&=7T0}7v5mH?f89*c8U?)`O>N1|NVO>VXRo@VaS!x zQOWAl3Ph)TBeslWgNt2vqRSNjr>u2Q+gMx$-4UGM351QJo*j(Hm{61AHQb{RwIQgz;f%79sl-ZY{091sE>3#@l94c-LikLVI=x< zs3dukFjefR`^~Z18n>M1-fNH9>qAd2qX=T*MHKA0ycnU4w$$UVKebBriKe0sL8&Y7 z%WBH8+^^Cb4N5$SM6G0onS5b4fS^a6Y}**mp)t*?KD%xl*Yj})rvh!6{K*NC@?`mf z{GlDH3LFD?;z7kk(PY_)9k!t$BP;YldTMU1^ClA-|ItpmQ`Fhq3-r44s~J$7Da!6( zBVK8vZ)3Mf>=XYjwMjHs{re*VDuX(rAZOp~XAEekdu;_A*(Be4aCG)BPg{)vAADjW zF@{jG^DHq%g)fvi>_`@Yn_5?5p3sRwxg#bDXuESGGU967bOf1F>Y+2OIrHPB(F_Un z$-d5_m$tr}vKkXVkCCOQPFbaRyT-^Uvzt7kBbCchh$O3>!7F^!y+3sH{Oo?ceWR}k zrl3&xu*tA2+pf}Oj;neevC~nM^X(3U=Se))Rrn-@Ua^q<7zj5eeVam7iGS*D7>oM8Y;7W2uAAO`!i?J7cJ5wYjPA%`EpV?0T>iH%;=x*FHbNpYhAa z=cco~Q~n^^@Ipn#-=f~ZKdJ5-+j(TOE%1LvjU}lXYj7W~BjoJgX{jIx-{0HY7ii;k zlC4BU!eLfiba1dcL@Z$~^Kg{ff(!K*A>C{!f5K*Yji}|~I{esBS71^2JlT_0iX)`= zraaho?Qp^G^GPHF9xhvra19Q#*P*uhL}qh)b%2uyUa7ZxTbmHVz~e-{GKB!N*-tY(+*2MkiX5c?Jc0aUT{~OKIu$Jn7t$CXHpEOT% zvavJ$r{-xy$g8QiiFE6k&vF$WjoiU5Q%yYbsYa2p)5^PCHZeab`s3*}0-7$6)yrIz za2k*ch08h1e4C!XdEbhF4aXx?_9N5-L6%oOzf$AxzP;G|rw&>~hI9Ta2?0)+uJWByEU$n1?tuVySOtnWeg zsCU(5<>is#{Fauoa_yBkhB=cj?4v)V&q?&}GKcSR4H4JXj^pN(Q8B-JM~j0T6cn`4 zEsDkmkFO;_OAIkN*Vs6pS!OL=N%``4stflkieEcrS#9kzDz3K(+Dp@is;d3HtHe&V z!X_DL$~FS@blc!@N@}T(k^tRK}Z_`Mn`ev?XPQsmLC(kTzEoU+j+vwidz0H;3 zE797R^z4zJN@!nbot{qY1kXDL1Z;5Ge$vSbXR8{khs3-aMjzxjfW*=4Iv2wpNrhQt zNKkQ!Zb}LKc5Vs7%bpN~NhP|P#fZ_8jPC;UiG}l9Au7`oi5VFQ9O@tGaOUxHtLra0 znl-ssQ^rl{WlD%UMDGfPLNsx{+e3r&iA;J#2fd8JWF zg@FR`pbeKRb?RO6fx*GvS49mzQ_U-jmp-_{ByJ$rDT}jF<@z5oa0^8)&Q~VX zy9B7na9&MKD=RCE6j5Ji8rBPF}$%@?}SpmbX8ynvDe0V z@9_zIjdS^0fp)sw@3F*GvhFx-1{3{t;nSVMnKkRQ4pij;gdo>?kFbcag@cM(?b51T zHDT?WTLv?zp|c4>n8m7H)V77CmX>B_m0qp5xOk3^KAAv!*=`1_$AHn*LNslVXGaP~ zQo_9-_?CP+SEKd-`J&T#;fX7}vWCX{FY6Z#Z+R)u*w5$^7#0uwnk8UyBPeWJ84e%t z3oeD=RWMwHJpqAxmjg<5=*Wp(fLA;ENrgna7XJtLgwv*tQ_VI%3Kt745bt)Ydw1Ox z{2PhM%GrSH=?>1CJ-pVU)(?(D5%RA)USBj6$FJi(7g84tOxIRbQnT`=+U#~aLNo&5GM zO3QLiD#S;d;hHIb@JPZtw>iVJH`AYgV8qHHkC7RKvLl~U9LrU2;8BBV5K#k~ONn38 zd-0&`ZSBXO`;Q^_qy`19v`E`_h)sA!{7KjXY4#&RILyqd5KfDd^7ykb8t3{-ai zU4YfmWtr`#yR-V_T4;h@)pTM?9Bv$oG9GAXxIeNP8y5@Ddu8@a+k}DOv#iE(j7l$n)!R zaTVlHE~3oN&9)M=HB*))* z46B|^(jv59UtbkwD6ulL9Uq+|IPO|m4X3`dHkB!Y79|Wxbz8NknPmzGz=}Q`SvOYnlQW$?xrlSub-VAdt#cO3c}PxJ3F&R)8X|lQW-oU zc7mo_a_OlZ6<{l4QOXqA>1roj;n5;I4{6?!jCn3|SW^tCu=W_sJqVoG&N zk|p+tmX|GTf0dVqM@#kn<=zz47Y5y}y)CiM@YizTa*w_5>NRJ3rFy?>D1q&_JEa6j z7CCI@22N4GPma$&MR_Fc;o-i7)60$o&dtmDWoxToTQzQa6t8d5Z4)jRrf}%WixXnu z;pX}Ur&oh1rGS+`?x%yhW^!|cjgEEN>azj-?~&*5!9^um=GNu`iRhDsMUK|z&l&=) zGmC;65RUZv6iq$9P?n{BM(+)eMJ*194pNbMsZSKOT)c1__Y#bH0(^Q;onG21 zsjIQR1v#N85nLDaWYAUbuTilYBNX)vgq8-mp`lPB% zpcWYy=5Fhp@x#BVz>BISt%#ST>T0+efdgTv;g#Fm+}tq@ir?v;5l^GhIij>v_db<- zl|D2S7>J+G^prISi9aVdPdefQ$n2WQpn8&nWk}wS*Mwmq8;jYW>Liei0l3f%8g(h>XCWUga;9=Vp^VomY0`M^ z*Nv!qm8#Yx-FWW&q9_zAS{mW{S57f~al5c^uurcmd@%aZrTg`OtO8vlx+*i7nAl)Pj)ym!r;vrlY}DwT8zP{|0ZBoHZ+YKG^tx7c&aI@UzIa24WYZTlOz$LMUs6q9u? zK)0do`|!c##~XY$QCB^;CRFI}NW9cHE`*YnXw_*bxZ%4=qB9$cc)%nY?fqg;+C-&q zNf&HoShr3+4w2hmKqKFZ@Py?D7otM#bv01_iEcVBm2WPe-d9vOOnr>v5PnmE z`V2Y{X6zQ=df4q`9AaygliU?kpNwNd)f9Y6QveKj@{{fwcm}WlusJm z+%O#z;h>vJqlLBA3cC|x*_nWbVLDxEcu{s6?mIe%fc;cc z?df3>hu^!_DNsS$oQpL6`>Lf36ap#T3^q(Sb4v^6N=Ma}P`=ipniE{GJSJ zC2LSG?D`lGN3p{orzC@cir)Hg7)W)f5j6})uP%CnSQ&0dH$gw&KFx~eHY3M73) z#uG5!>U&X>KjVcD#`-=y$jZTljD{XfSXfv%IzBqT{u`B=Ew-(ouoMB>%5dl@0=9qU zRuaC)&yHBEaZk}f7ulUJRC19PaWi->KJ!a~V=7gx5JM9C*G43lj?{e|Djpu* z5Io!nQJM=ql(vuV*U#t6&%evp+3|leG2B`Gbvf@wfrG4*xN|9r(I`}<_P`U_@B zbryXefk*EsC@9yBOta3h_%PdR$Pc2HCtyI6ew?$q|CvDc`gyTkgn;zp2VjAKW zeYAM7y)~Ye8YgK3=CQp2gO&)OH%|%8oV~nusK0r*2Ivj84-oFHo$t*Z|He8ZgNtZ* zX=$xr_znuIjJ6j!IXU@$@m^?-$x<+Sy*}g26dyrq z^1eq6np&FQT_@%sJT-SA@H?hH8E-n=+bXxrua6TJtL~SHW|_^E$(l@#&N=T0id@vy zig7zX#0OGpKh>-c6G=@>`~b)2w48Iw#Na3TY2n*v)veTqAdqWU^8!B;0p`Y-_{!v_ znUQPfR_x-k`AT_zkH1l)A8nv$(3{w#*UWC$9J?{qfhOBm64B|&dHE$fYfHgX5)iJ% z19nQLlr3}f-)?TAea0+prHwy-h8#PLq=f10h3kZeqwTY|)EM7N8$fSdBYix!_HG@z zk++;v|*Y73^vehS|fC#Qs3?hdAK&v3sCLp|&n8@Smm9Dm&GZI&1_ zQ1CUW9Leg*LRzOU0s`E!zO#!{EN+{mp{L_6*R)vt1vw-oY%zvE)?TjWtd@;1J=O8DMx*!Rrjeqdiu6&@>555>Nlm;t zD__a&LU!f}Dv79ffDeDtjw=A-YY|u5p>dY7$EqK?7djTksG_KVVX3B977I{_OT!p z*TAT8JGU}dNp$CPSnU)26a#Y+4+m#@d^aU`xwgGsI5~Vbht&L={hS^AGlXw6)QFDH zRY(|Z8=JcV#C{KCs?(>S(QWT<2deCILO=9{grFjbB!fi#CdjANG?j(lPPE0=;d7Kq z6%PbrvQ9=K8LrKpUve%T>~r#w*%n8g&w1KSuZ5PI&mh@;)w9P z?Cj|-e{{(hfQSwILqGGvLZil*H)SY=1!Ym2pUpOo>$Sv%rzPmW`s~gh|46{+=h8b5 z7d8wyH7#<9bWKau&EY_B`&9Pr+eao$23rveGAw;VeWAxiUmY^tB1Ts&=WZ~>x1det zM`zda61XuI^u%mF*Q?xvJmeNyQ9&qZXlRAY3kYfj6#5`FZxyhypTry^BlZa?%`(V5AC8Y50#zmALkem0=_`Z>tG9F`(|K;<*X#pw$n*4c`dX^(DX4kvHV+O! z*tjvrA-&=B$M#FNihEbSPfe(Bj<@;pAG$Tgxm_Grw6O;U22LR^E{E>|KekV(sd?-s zB*eo#eVXR!?W4Qshdf#%`E%yejpT|0%A?*7dPMpSo&)^s>=Wbj;}bLNyu6+gqtqS8 z#}y&bcVA!7PMW%WDgK7zo3%}gQurpJYrycbn%6M#c3HQiMVWg30u~fe-ViJI@f3U~ z7nh*GkJvjnH(s}!@eV#~epNiSb^E;?3L1|tQ_pGPpr4}ponTwRm1l>X6K zIi${V;n14M%IxR-(S*CZM>I`0v8`jv%U$2UPfj+V2+;NQ@y+v{IzfUdyy4)U2ua#K z8|q2gRdr2i zX@*$Xc^df`xj(TA-(ry!>b^>P`<=%b`OPGqICLj4$)=ixrkAFE_T3Z|ytBRgu~&HH zo%4>my?%67y0@!YqU`!Fl(tTxM0OMv$FeV_r8W=<4wZbEf~uPO*48Gtxj^p_J^>At z%hbT^b6Ol9^@~*9MBVFh-ZnjLtK#^21mXb5`tRRvGLE5|=dl4Km)@UW44xjO7VBpEg$)lm8)d5!w;l{C4BUw95Swwa;*GQ}-3J~zo-bJkBQ_{EU6Eq6xZ zbA#fHN5;ksa%`vPPA)Xq?91(^O2J~|rBRwe4E`q@PogERzK8E{{vwYXkQRRKSXLQ( zg93&%2Ync;#o45feR;Qk#XdF-CycT`F_9!+e1^@{wB1SIfqQ;w3lICXS+m2`0rE#16OG z?#B~kSNIB+Ed-#_U8nxc%F5?^?j57&s0dG`!N;~14j}<*Nrw> z3$5Riz^-(Vgw~P0L*vZb)E^5daLYE`%XDiA22*7v^lx)*OB#y_Lr`#HhPBm|LpDfP zEJz-;)~&dG6)*YuHT8TN+oflc#QWt%=HLmphxu_GoJ$P&I8HxaEk#sxK5qIY!yFHcz+Nw}Ifh;DZ8?XuG<4U+O0qNuxqMKL6|{VtEA3 zF{BeshESPm%Sj1c_AN{@(4FiLEoDBIr=flOxyAK^?jzZPV`Rbdj>+Bu#OI;Zj7h1T z3zTCX`h0q|e9UbFy}nDDJIbV{AbqgCy^XQmxHsSWicgisPS?9l&r?{vW}$+Im!+<* z395vr%DnIkc4mEpWD_coo2CR&{d{Vr9}u;KYX!=yRS7Nr>=7^@FKgjvgUD?06?bsd!QN&Gzvcif>2_xtkvB>Z3YnKtcJ2TJ6}f32pQ((MfWK=jQp$qM0tS zGxvGUy6uxOe@-pJf!9BFO@?QmKrvTd|D02$frCz4Ro{U0$;e)H6Y%lz$)iUct8d=a zos7jUwHb>RqP=pm=6mtsr{5B}`aZQ02)B|wYkIi+H&u_{f=~Z(%GBEh@2R8l-WfTC z;9}#cSJ141Ra&zzv2jjodhjq=zd4#z#9Ixby&RE5_&(@ z%&T^tvyqz2*8bcrE?(^v-E^yaoJMOx+>voTkd)GLANo6(icL3|hD?VcAC7gLRUI$B zFCn$x5T((=!itT9jezukKPCtp%M~{fvcy(A zR|;%fLE0t;R}t!^ILV)Td3FV#T7RtK81z<&&4jqd#YH2%3+~)u`32Y0Q*#!i=Zvxc zv(CR-Ll=~gkb>fz`-aMtX{?`B3#v}=QuRi!Wv`)%$XcuUa(nx0TDbLxjEorGr?!~<;MT&{!YwDxx zqiwaD`#rSJc2)o3nii$_ea(TcufM754aXImnFis=N$ERZOWNy|*0>0*gQ&FV+1XheUK>;U#?|l3m=d1Q@H(Vr_{*!R8i8j|{T5%V z8bJ@mU$H$~ddYSS|=M5F*+FB|7&ri+RYi6dl3YD?M=m
  • O5aYWFK%uc3!{Ti1HT<_ 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 A&j0`b literal 0 HcmV?d00001 diff --git a/sap worksheets/golden fixture debugging/simulated case 5/Summary_001431 (1).pdf b/sap worksheets/golden fixture debugging/simulated case 5/Summary_001431 (1).pdf new file mode 100644 index 0000000000000000000000000000000000000000..335e62428d6a52c924e63541ea6612d5d962752f GIT binary patch literal 80735 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
  • O5aYWFK%uc3!{Ti1HT<_ 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 list[str]: + """Convert a Summary PDF into the per-page text format the + ElmhurstSiteNotesExtractor expects (label\\nvalue sequences). + + Mirror of the helper in `test_summary_pdf_mapper_chain.py` / + `_elmhurst_worksheet_000565.py`. + """ + info = subprocess.run( + ["pdfinfo", str(pdf_path)], capture_output=True, text=True, check=True, + ).stdout + m = re.search(r"Pages:\s+(\d+)", info) + if m is None: + raise RuntimeError(f"Could not parse page count from {pdf_path}") + page_count = int(m.group(1)) + + pages: list[str] = [] + for i in range(1, page_count + 1): + layout = subprocess.run( + [ + "pdftotext", "-layout", "-f", str(i), "-l", str(i), + str(pdf_path), "-", + ], + capture_output=True, text=True, check=True, + ).stdout + tokens: list[str] = [] + for line in layout.splitlines(): + if not line.strip(): + tokens.append("") + continue + parts = [p for p in re.split(r"\s{2,}", line.strip()) if p] + tokens.extend(parts) + pages.append("\n".join(tokens)) + return pages + + +def build_epc() -> EpcPropertyData: + """Route the simulated case-5 Summary through extractor + mapper. + + No hand-built EpcPropertyData — the extractor and mapper are part of + the test target. Exercises the S0380.196 RR-gable deduction, the + S0380.197 sandstone-wall-label + "400+ mm" roof-thickness fixes. + """ + pages = _summary_pdf_to_textract_style_pages(_SUMMARY_PDF) + site_notes = ElmhurstSiteNotesExtractor(pages).extract() + return EpcPropertyDataMapper.from_elmhurst_site_notes(site_notes) diff --git a/tests/domain/sap10_calculator/worksheet/test_e2e_elmhurst_sap_score.py b/tests/domain/sap10_calculator/worksheet/test_e2e_elmhurst_sap_score.py index 1091c013..1dbee580 100644 --- a/tests/domain/sap10_calculator/worksheet/test_e2e_elmhurst_sap_score.py +++ b/tests/domain/sap10_calculator/worksheet/test_e2e_elmhurst_sap_score.py @@ -41,6 +41,7 @@ from tests.domain.sap10_calculator.worksheet import ( _elmhurst_worksheet_001431_rr as _w001431_rr, _elmhurst_worksheet_001431_rr8 as _w001431_rr8, _elmhurst_worksheet_001431_6035 as _w001431_6035, + _elmhurst_worksheet_001431_case5 as _w001431_case5, ) from tests.domain.sap10_calculator.worksheet._elmhurst_fixtures import ( ALL_FIXTURES as _ELMHURST_FIXTURES, @@ -217,6 +218,25 @@ _FIXTURE_PINS: Final[dict[str, FixtureCascadePins]] = { lighting_kwh_per_yr=262.0885, pumps_fans_kwh_per_yr=86.0, ), + # Mapper-driven cohort entry — Summary_001431_case5.pdf → extractor → + # mapper → calculator. DETACHED, SANDSTONE-walled cousin of cert 0240: + # Main + Extension + room-in-roof (floor 83.2 m², one Exposed + one + # Party gable L=6.40), age J, oil combi (SAP 901), no PV. Validates + # S0380.196 (RR gable deduction) against a real worksheet — the + # worksheet prints Gable 1 (Exposed) at (29a) U=0.35, Gable 2 (Party) + # at (32) U=0.25, remaining area = shell − Σ gables at (30). Also pins + # the S0380.197 sandstone "SS" wall label + "400+ mm" roof-thickness + # extractor fixes (without the latter, roof U fell to 0.16 not 0.11). + "001431_case5": FixtureCascadePins( + sap_score=61, sap_score_continuous=61.3255, ecf=2.7724, + total_fuel_cost_gbp=1586.4549, co2_kg_per_yr=8387.6229, + space_heating_kwh_per_yr=12838.6489, + main_heating_fuel_kwh_per_yr=21397.7480, + secondary_heating_fuel_kwh_per_yr=0.0, + hot_water_kwh_per_yr=6498.2518, + lighting_kwh_per_yr=381.4601, + pumps_fans_kwh_per_yr=141.0, + ), } @@ -232,6 +252,7 @@ _FIXTURE_MODULES: Final[dict[str, ModuleType]] = { "001431_rr": _w001431_rr, "001431_rr8": _w001431_rr8, "001431_6035": _w001431_6035, + "001431_case5": _w001431_case5, }