Model/docs
Khalim Conn-Kowlessar 760e25dea9 §4 HW slice 1: PCDB Table 3b combi-loss override
Closes the dominant ~92% of the 000474 HW kWh +14.4% residual that
the post-§10a Table 32 cost-side fix exposed (pre-§10a wrong prices
had been masking it). 000474 HW fuel kWh tightens 2622 → 2320 (+1.2%
over PDF 2292); remaining +1.2% closes when slice 2 (Eq D1 monthly
cascade) lands. 000490 unaffected — PCDB 10328 lodges separate_dhw_
tests=0 (no Table 3b/3c data), falls through to existing Table 3a
default.

- tables/pcdb/parser.py: GasOilBoilerRecord gains 7 typed fields per
  BRE PCDF Spec v1.0 §7.11 — subsidiary_type (field 16), store_type
  (field 39), separate_dhw_tests (field 48), rejected_energy_
  proportion_r1 (field 51), loss_factor_f1_kwh_per_day (field 52),
  loss_factor_f2_kwh_per_day (field 56), rejected_factor_f3_per_
  litre (field 57). Field positions cross-verified against PDF Σ(61)
  = 337.27 vs 000474 worksheet pin 337.19 (Δ 0.02%).
- worksheet/water_heating.py: combi_loss_monthly_kwh_table_3b_row_1_
  instantaneous(r1, F1, energy_content (45)m, daily HW (44)m) — SAP10.2
  Appendix J Table 3b row 1 formula (61)m = (45)m × r1 × fu + F1 × n_m.
  Other Table 3b rows (storage variants) and Table 3c (two-profile)
  deferred until a fixture exercises.
- rdsap/cert_to_inputs.py: _pcdb_table_3b_combi_loss_override builds
  the (61)m override from the PCDB record when separate_dhw_tests=1
  + subsidiary=0 + store_type=0 (instantaneous non-storage path).
  _hot_water_fuel_kwh_per_yr threaded with pcdb_record kwarg; calls
  water_heating_from_cert with the override when present.
- docs/sap-spec/pcdb_table_105_gas_oil_boilers.jsonl: regenerated via
  the ETL to surface the new typed fields alongside the existing
  efficiency columns.

484 tests passing (was 479). e2e ceilings hold: 000474 SAP delta
4 → 3 (within current ceiling of 4 — will tighten further after
slice 2 Eq D1 cascade lands).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-21 22:26:41 +00:00
..
adr docs: §10a slice 3 — ADR-0010 amendment + SPEC_COVERAGE row 2026-05-21 20:11:37 +00:00
sap-spec §4 HW slice 1: PCDB Table 3b combi-loss override 2026-05-21 22:26:41 +00:00