docs: SPEC_COVERAGE — rooflight Z_L=1.0 closed, §5 to ≤5e-3 W everywhere

Slice 13 (380115e2) closed the only remaining §5 conformance bias.
Promote that item from "remaining" → "done" in the §5 slice progress
table, tighten the conformance summary to "every line ≤5e-3 W", and
shift "rooflight derivation from cert" up as a forward-looking item
(orchestrator accepts the arg but cert_to_inputs always passes 0).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Khalim Conn-Kowlessar 2026-05-20 19:26:28 +00:00
parent 380115e244
commit 52a11f5e74

View file

@ -108,12 +108,13 @@ Status now: 100-cert MAE 4.49, 300-cert MAE 5.45, bias near zero (±0.2). Worksh
| — | `internal_gains_from_cert` orchestrator | ✅ | `f81e744b` |
| — | 6-fixture ALL_FIXTURES conformance | ✅ | `99e5c2cd` |
| — | `cert_to_inputs` wiring + calculator.py wiring | ✅ | `bf6a7e04` |
| — | Rooflight Z_L=1.0 (Table 6d note 2) | ✅ | `380115e2` |
**Six Elmhurst fixtures conform end-to-end on §5 to ≤0.2 W on (73)** with the only meaningful residual on (67) (~0.2 W lighting bias from rooflight Z_L=1.0 being approximated as AVERAGE Z_L=0.83 — Table 6d note 2).
**Six Elmhurst fixtures conform end-to-end on §5 to ≤5e-3 W on every line** — display-rounding territory across the board.
### Remaining §5 work
1. **Rooflight Z_L=1.0** per Table 6d note 2 (currently a single AVERAGE Z_L applies to all windows including rooflights).
2. **Table 5a fan / PIV / HIU branches** are implemented as leaf functions but not yet derived from cert inputs in `internal_gains_from_cert`. Pump dispatch is wired; non-pump rows always emit 0 W. MVHR / MEV correctly produces zero gain.
3. **Per-window `frame_material` / `glazing_type` strings** — current orchestrator uses cert numeric codes; needs a robust mapping for site-notes-sourced certs.
1. **Table 5a fan / PIV / HIU branches** are implemented as leaf functions but not yet derived from cert inputs in `internal_gains_from_cert`. Pump dispatch is wired; non-pump rows always emit 0 W. MVHR / MEV correctly produces zero gain.
2. **Per-window `frame_material` / `glazing_type` strings** — current orchestrator uses cert numeric codes; needs a robust mapping for site-notes-sourced certs.
3. **Rooflight derivation from cert** — orchestrator accepts `rooflight_total_area_m2` but `cert_to_inputs` doesn't yet detect rooflights (defaults to 0). Needs the `SapWindow.window_location` enum that's TODO'd in the domain model.
4. **Column B reduced-gain forms** (L12a / L16) for new-build DPER/TPER calculations — deferred until we onboard a new-build cert.