Model/domain
Khalim Conn-Kowlessar d529f91a8e Slice 100b: API TFA — include per-bp RR floor area in continuous TFA
`_total_floor_area_from_building_parts` previously summed only
`sap_floor_dimensions[*].total_floor_area`; the RR floor area lives
under `sap_room_in_roof.floor_area` per RdSAP §3.9 convention and
was dropped from the per-bp TFA sum. Cert 9501 (113.08 m² real
TFA, of which 31.8 m² is RR) showed TFA 81.28 on the API path —
the cascade then under-computed occupancy N (Appendix J), HW kWh
(Appendix J), lighting kWh (Appendix L), and internal gains.

Add the RR contribution to the sum. The top-level
`schema.total_floor_area` scalar (integer-rounded for cert 9501:
113 vs raw 113.08) is still the fallback when no per-bp dims are
lodged.

Re-pinned residuals (improvements — TFA now includes the previously-
dropped RR storey):
- 0240: SAP -15 → -14, PE +15.69 → +12.49, CO2 +0.90 → +0.70
- 6035: PE +49.51 → +48.30, CO2 +1.14 → +1.10

Effect on cert 9501 API path: TFA 81.28 → 113.08 (= worksheet
113.08 exact). SAP delta still -9.32 vs worksheet — the remaining
gap is dominated by the missing PV credit (£250 — next slice).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 16:28:45 +00:00
..
addresses standardist Address 2026-05-22 10:13:32 +00:00
data_transformation moved classifier data transformation to an easy one 2026-06-01 14:53:34 +00:00
epc pr review, move domain and orhcestration 2026-06-01 14:00:31 +00:00
sap10_calculator Slice 100b: API TFA — include per-bp RR floor area in continuous TFA 2026-06-01 16:28:45 +00:00
sap10_ml Slice 96: flat-roof U-value defaults — RdSAP 10 §5.11 Table 18 col (3) 2026-06-01 16:28:45 +00:00
tasks added postcode splitter rewrite to ddd 2026-05-19 16:35:09 +00:00
postcode.py get rid of comments 2026-05-20 13:21:11 +00:00