mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Documents deleted (pre-implementation or superseded): - `docs/sap-spec/CALCULATOR_DESIGN_SKETCH.md` — pre-implementation design sketch referencing SAP 10.3 PDF. Status field said "sketch only — not implemented" but the calculator IS implemented and the active spec target is SAP 10.2 per ADR-0010. Served its purpose. - `docs/sap-spec/HANDOVER_SECTION_6.md` — §6 handover from when §6 was being built. §6 is now Full (per closed cascade pins). Superseded by HANDOVER_NEXT.md. - `docs/sap-spec/PARITY_FINDINGS.md` — log of MAE/RMSE measurements against 100-cert sample. The project has since moved to strict abs=1e-4 per-line-ref pins on 6 deterministic test vectors; MAE/ RMSE on a random sample doesn't carry information value any more. Superseded by the cascade pin scoreboard in HANDOVER_NEXT.md. - `docs/sap-spec/SPEC_COVERAGE.md` — coverage map with status table per-section. Stale: said §3 "Full (non-RR)" but RR detailed is implemented; said §4 "Table 3c pending" but Table 3c landed in slices 6-7; said §14 CO2/primary energy partial — current state lives in HANDOVER_NEXT.md cascade pin scoreboard. Maintenance burden of keeping a static status table in sync with reality made it net-negative. `packages/domain/src/domain/sap/README.md` updates: - Spec reference repointed to SAP 10.2 (14-03-2025) per ADR-0010 (was sap-10-3-full-specification-2026-01-13.pdf). - Added validation contract section pointing to test_section_ cascade_pins.py + test_e2e_elmhurst_sap_score.py with the abs=1e-4 rule. - Window lodgement section: documented per-window u_value path (slice 22) instead of legacy single-avg-U. - §3 "currently only checks invariants" claim removed — all four §3 aggregates pinned at abs=1e-4. - Room-in-roof "one big known gap" claim removed — §3.10 detailed surfaces implemented across slices 13/16/23. U=0.86 external gable variant flagged as the remaining open item. - "Worksheet lines to capture" guidance points at the cascade pin approach + capturing every line through §12. Also added §A.4 to HANDOVER_NEXT.md: the user prefers the fixture × line-ref matrix format for scoreboard reporting (with ✓ for within abs=1e-4 or numeric Δ for finer granularity). Following sections renumbered A.5/A.6. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src/domain | ||
| pyproject.toml | ||
| README.md | ||
domna-domain
Shared domain types — Property, Properties, BaselinePerformance, Plan, PlanPhase, Scenario, ScenarioPhase, ScenarioSnapshot, Recommendation, OptimisedPackage, EpcPropertyData, etc.
Boundary: types only. No persistence, no IO, no business logic. Other packages and services depend on domna-domain; this package depends on nothing internal.
Domain definitions live in ../../CONTEXT.md. New types added here must match the glossary terms.
Layout
src/domain/
├── __init__.py
├── property.py # Property, Properties, PropertyIdentity
├── site_notes.py
├── landlord_overrides.py
├── baseline_performance.py # lodged + effective pair (ADR-0004)
├── plan.py # Plan, PlanPhase, OptimisedPackage
├── scenario.py # Scenario, ScenarioPhase, ScenarioSnapshot (ADR-0005)
├── recommendation.py
├── geospatial.py
├── solar.py
├── anomaly_flags.py
└── ml/
├── __init__.py
├── transform.py # EpcMlTransform (versioned per §8.3)
└── schema.py
When datatypes/epc/domain/ folds in, the EPC schema types move under src/domain/epc/.