diff --git a/docs/HANDOVER_API_PROFILING.md b/docs/HANDOVER_API_PROFILING.md index 1dcb4d42..7776af24 100644 --- a/docs/HANDOVER_API_PROFILING.md +++ b/docs/HANDOVER_API_PROFILING.md @@ -13,16 +13,29 @@ deproven approaches + the meter/shower data-fidelity findings), and the earlier `energy_rating_current`. Headline gauge: `PYTHONPATH=/workspaces/model python scripts/eval_api_sap_accuracy.py`. -| metric | session-5 (`19235d11`) | session-6 (`a7761ea8`) | session-7 (`3e05c95e`) | **session-8 (`71b378b9`)** | +| metric | session-6 (`a7761ea8`) | session-7 (`3e05c95e`) | session-8 (`71b378b9`) | **session-8b (`e7af6fda`)** | |--------|------------------|------------------|------------------|------------------| -| **% \|err\| < 0.5** | 53.1% | 53.14% | 54.24% | **55.01%** | -| % \|err\| < 1.0 | 68.0% | 67.99% | 69.64% | **70.08%** | -| % \|err\| < 2.0 | ~81% | 81.85% | 83.50% | **~83.6%** | -| mean \|err\| | 1.329 | 1.312 | 1.248 | **1.233** | -| median \|err\| | 0.467 | 0.467 | 0.457 | **0.448** | +| **% \|err\| < 0.5** | 53.14% | 54.24% | 55.01% | **55.12%** | +| % \|err\| < 1.0 | 67.99% | 69.64% | 70.08% | **70.08%** | +| % \|err\| < 2.0 | 81.85% | 83.50% | ~83.6% | **~83.6%** | +| mean \|err\| | 1.312 | 1.248 | 1.233 | **1.232** | +| median \|err\| | 0.467 | 0.457 | 0.448 | **0.446** | | computed / raises | 909 / 0 | 909 / 0 | 909 / 0 | **909 / 0** | | unsupported_schema | 100 (deferred) | 100 (deferred) | 100 (deferred) | 100 (deferred) | +### SESSION-8b — MEV fan electricity (PCDB index plumbed), `e7af6fda` +Follow-up to 8: the +0.9 residual on MEV after the §2 heat-loss fix was the FAN +electricity (§5 Table 4f (230a) `SFPav × 1.22 × V`, PCDB Tables 322/329). +`_mev_decentralised_kwh_per_yr_from_cert` already composes it but reads +`epc.mechanical_ventilation_index_number` + `mechanical_vent_duct_type`, which the +API builder never set → `pcdf_id is None` zeroed the fan energy on every API cert. +Wired both through the 21.0.1 construction. The 9 MEV certs with a PCDB index +closed +0.90 → +0.13; the **11 index-less MEV certs still sit at +1.36** — they +need the SAP Table 4h DEFAULT specific fan power (no PCDB record), a clean next +slice (verify the default SFP value against spec first). New e2e test + golden +fixture (cert 1300, dMEV index 500777). NB the 21.0.0 API builder didn't get the +8/8b ventilation edits (only 21.0.1, the corpus schema). + ### SESSION-8 — API `mechanical_ventilation` enum never mapped, `71b378b9` Re-profiling after the sheltering fix surfaced `mechanical_ventilation=2` as a clean systematic over-rate (n=20, signed +1.90, 5% within 0.5, every cert