Model/scripts/hyde
Jun-te Kim 8e33a8de53 test(accuracy): ratchet 77.3% -> 77.7% via flat-roof insulation-thickness fix (Elmhurst-validated)
A FLAT roof lodges its insulation thickness in the DEDICATED gov-EPC API
`flat_roof_insulation_thickness` field (e.g. "75mm"), leaving
`roof_insulation_thickness` None (that field is for pitched-loft joists).
`heat_transmission_from_cert` read only the latter, so a measured
flat-roof thickness was ignored and the roof billed at the uninsulated
age-band flat default (age E = 1.5) instead of its Table-16 insulated U.

Fixed by preferring `flat_roof_insulation_thickness` when the part is a
flat roof — the exact mirror of the existing rafter-thickness branch.
An "AB"/"NI" (as-built/unknown) value parses to None and keeps the
age-band default, unchanged; only measured thicknesses move.

PER-CERT ELMHURST VALIDATION (cert 47084930, top-floor flat, flat roof
75 mm): built on the lodged inputs in accredited Elmhurst RdSAP10-Online
(evidence saved: elmhurst_summary.pdf / elmhurst_worksheet.pdf). The
worksheet bills "insulated flat roof" at U 0.5 (floor 0.70 + wall 0.25
also matching the engine). The fix takes the engine roof 96.4 -> 32.1 W/K
(= 64.26 x 0.5, Elmhurst-exact), PE +47 -> +0.2, SAP 69.51 -> 74.34 =
lodged 74.

Gauge: within 77.3% -> 77.7%, SAP MAE 0.648 -> 0.641, CO2 0.074 -> 0.072,
PE 3.1 -> 2.97. Unit-pinned in test_heat_transmission
(flat_roof_insulation_thickness -> U 0.5); RealCertExpectation 47084930
= 74 (Elmhurst-validated). Also adds the build script build_47084930.py.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:27:57 +00:00
..
elmhurst_dom more examples 2026-06-19 09:51:49 +00:00
autonomous_run_findings.md Annotate full worklist with autonomous-run triage results 2026-06-16 20:36:28 +00:00
build_22086693.py test(accuracy): pin RdSAP-20.0.0 PV semi uprn_22086693 (PV-list fix corpus) 2026-06-23 16:13:34 +00:00
build_47084930.py test(accuracy): ratchet 77.3% -> 77.7% via flat-roof insulation-thickness fix (Elmhurst-validated) 2026-07-02 23:27:57 +00:00
build_10070004512.py test(accuracy): pin SAP-16.0 storage-flat uprn_10070004512 (built_form fix corpus) 2026-06-23 15:35:06 +00:00
build_200004296092.py docs(elmhurst): validate slice-5 wall fix against accredited Elmhurst worksheet (uprn 200004296092) 2026-07-02 20:49:58 +00:00
build_property_overrides.py landlord override data added 2026-06-20 12:57:54 +00:00
case_a_population_sweep.py docs: full-SAP baseline-downgrade follow-ups + Case A population sweep tool 2026-06-25 21:45:44 +00:00
elmhurst_download.py sap fixes 2026-06-23 16:48:04 +00:00
elmhurst_explore.py Checkpoint: UPRN 10093116543 Elmhurst build + devcontainer VNC/Playwright + perms 2026-06-16 15:21:56 +00:00
elmhurst_fill.py Checkpoint: UPRN 10093116543 Elmhurst build + devcontainer VNC/Playwright + perms 2026-06-16 15:21:56 +00:00
elmhurst_lib.py Merge pull request #1288 from Hestia-Homes/feature/per-cert-mapper-validation 2026-06-24 12:04:00 +01:00
elmhurst_README.md Checkpoint: UPRN 10093116543 Elmhurst build + devcontainer VNC/Playwright + perms 2026-06-16 15:21:56 +00:00
elmhurst_session.py Checkpoint: UPRN 10093116543 Elmhurst build + devcontainer VNC/Playwright + perms 2026-06-16 15:21:56 +00:00
full_sap_17_1_remapper_handoff.md Checkpoint: UPRN 10093116543 Elmhurst build + devcontainer VNC/Playwright + perms 2026-06-16 15:21:56 +00:00
main.py Checkpoint: UPRN 10093116543 Elmhurst build + devcontainer VNC/Playwright + perms 2026-06-16 15:21:56 +00:00
mapping_decisions.md Checkpoint: UPRN 10093116543 Elmhurst build + devcontainer VNC/Playwright + perms 2026-06-16 15:21:56 +00:00
perimeter_decision.md Checkpoint: UPRN 10093116543 Elmhurst build + devcontainer VNC/Playwright + perms 2026-06-16 15:21:56 +00:00
RESUME_AFTER_KHALIM.md Add resume prompt to finish portfolio-796 run after Khalim review 📝 2026-06-19 19:58:53 +00:00
start_viewer.sh Checkpoint: UPRN 10093116543 Elmhurst build + devcontainer VNC/Playwright + perms 2026-06-16 15:21:56 +00:00
unknowns_review.md Add Hyde portfolio-796 unknowns review doc for Khalim sign-off 📝 2026-06-19 19:57:34 +00:00