mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
_u_brick_thin_wall_age_a_to_e's `<= 280` check put an uninsulated solid- brick wall of exactly 280mm in the "200 to 280mm -> 1.7" row; RdSAP 10 §5.7 Table 13 (spec PDF p.41) shares 280 as an unlabelled edge between that row and "280 to 420mm -> 1.4", so the table text alone doesn't say which row owns it. Found by building cert 100031768368 (280mm exactly, band C) in Elmhurst and comparing every worksheet line to the calculator: volume/ACH/floor/ doors matched exactly, but the wall didn't (1.70 vs Elmhurst's 1.40) despite an identical input crosswalk. Initially reverted a first attempt at this fix when it appeared to regress an already-pinned cert (217091901, band A, also nominally 280mm, previously "confirmed" at U=1.70) — but that cert's build script never actually set a wall thickness field, so its shared Elmhurst assessment had silently inherited a stale 260mm from an earlier build. Fixed that build script and rebuilt with the correct 280mm entry: Elmhurst's worksheet now also gives U=1.40, matching 100031768368 and confirming the fix rather than contradicting it. Both certs move to (near-)exact lodged matches: 100031768368 59.12 -> 61.21 (lodged 61, within 0.5); 217091901 60.82 -> 61.59 (lodged 62, exact). Corpus gauge 77.8% -> 78.6% within-0.5, MAE 0.636 -> 0.627 (14 corpus certs lodge exactly 280mm solid brick). TDD'd, 46 pins + full suite green (2310 passed). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| tests | ||
| __init__.py | ||
| demand.py | ||
| ecf.py | ||
| envelope.py | ||
| rdsap_uvalues.py | ||
| sap_efficiencies.py | ||
| schema.py | ||
| transform.py | ||
| ucl.py | ||
| ventilation.py | ||