Model/docs/sap-spec
Khalim Conn-Kowlessar 1e9654ce28 Slice 26b: §6 solar gains cascade pin + SapRoofWindow solar attrs
Added `solar_gains_section_from_cert` and 12 strict pin cases for §6
LINE_83 (total solar W) and LINE_84 (total internal + solar gains).

Extended SapRoofWindow with the solar attrs needed for line (82) roof-
window monthly gain: `orientation` (SAP10.2 code 1..8), `pitch_deg`,
`g_perpendicular`, `frame_factor`. Defaults match the modal RdSAP roof
window (45° pitch, DG g⊥=0.76, PVC FF=0.70, N). 000516 lodges
orientation=2 (NE) + pitch=45 from the U985 cert.

Plumbed `_roof_windows_for_solar_gains` through both `solar_gains_
section_from_cert` and the internal `cert_to_inputs` cascade so the
production §6 cascade now picks up 000516's NE roof window contribution
to (82). Exposed `ORIENTATION_BY_SAP10_CODE` from solar_gains for the
SAP10.2 code → Orientation enum mapping the cascade needs.

§6 cascade (LINE_83 monthly):
  fixture | LINE_83 | LINE_84
  000474  |    ✓    |    ✓
  000477  |    ✓    |    ✗ (cascaded §4 LINE_65 → §5 LINE_72/73)
  000480  |    ✓    |    ✓
  000487  |    ✓    |    ✗ (cascaded HW lodgement defect, slice 25)
  000490  |    ✓    |    ✓
  000516  |    ✓    |    ✓ (roof window now feeding (82))

Scoreboard:
  section_cascade_pins: 220 → 230 PASS (+10; 12 new tests, 2 fail)
  e2e SapResult:        30 →  32 PASS (+2, downstream of §6 closure)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 21:41:58 +00:00
..
HANDOVER_NEXT.md Slice 26b: §6 solar gains cascade pin + SapRoofWindow solar attrs 2026-05-23 21:41:58 +00:00
pcdb10.dat pcdb slice 1: pcdb10.dat ETL → 8 per-table NDJSON files + parser + 8 tests 2026-05-21 09:43:41 +00:00
pcdb_table_105_gas_oil_boilers.jsonl §4 HW slice 1: PCDB Table 3b combi-loss override 2026-05-21 22:26:41 +00:00
pcdb_table_122_solid_fuel_boilers.jsonl pcdb slice 1: pcdb10.dat ETL → 8 per-table NDJSON files + parser + 8 tests 2026-05-21 09:43:41 +00:00
pcdb_table_143_micro_cogen.jsonl pcdb slice 1: pcdb10.dat ETL → 8 per-table NDJSON files + parser + 8 tests 2026-05-21 09:43:41 +00:00
pcdb_table_313_flue_gas_heat_recovery.jsonl pcdb slice 1: pcdb10.dat ETL → 8 per-table NDJSON files + parser + 8 tests 2026-05-21 09:43:41 +00:00
pcdb_table_353_waste_water_heat_recovery.jsonl pcdb slice 1: pcdb10.dat ETL → 8 per-table NDJSON files + parser + 8 tests 2026-05-21 09:43:41 +00:00
pcdb_table_362_heat_pumps.jsonl pcdb slice 1: pcdb10.dat ETL → 8 per-table NDJSON files + parser + 8 tests 2026-05-21 09:43:41 +00:00
pcdb_table_391_high_heat_retention_storage_heaters.jsonl pcdb slice 1: pcdb10.dat ETL → 8 per-table NDJSON files + parser + 8 tests 2026-05-21 09:43:41 +00:00
pcdb_table_506_heat_interface_units.jsonl pcdb slice 1: pcdb10.dat ETL → 8 per-table NDJSON files + parser + 8 tests 2026-05-21 09:43:41 +00:00
rdsap-10-specification-2025-06-10.pdf ADR-0009: pivot to deterministic SAP 10.3 calculator (Accepted) 2026-05-17 21:27:21 +00:00
sap-10-2-full-specification-2025-03-14.pdf slice S-B9: SAP 10.2/10.3 Table 12 spec-correct prices + Table 12a fix 2026-05-18 15:14:11 +00:00
sap-10-3-full-specification-2026-01-13.pdf ADR-0009: pivot to deterministic SAP 10.3 calculator (Accepted) 2026-05-17 21:27:21 +00:00