mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Mirrors S16a for 000516 — the second Simplified-Type-1 fallback fixture in the cohort. PDF lodges detailed §3.10 RR + exposed Main floor + 2 doors; fixture previously lodged only `SapRoomInRoof( floor_area=19.02)` Simplified fallback + `is_exposed_floor=False` + `door_count=1`. Lodgement changes: - `detailed_surfaces` on the Main RR: 7 surfaces per PDF §3 lines (30)/(32) — 1 flat ceiling 3.56 m² uninsulated, 2 stud walls 3.88 m² @ 100mm mineral_wool (Table 17 col 3a → U=0.36), 2 slopes 6.41 m² uninsulated (U=2.30), 2 gable walls 13.11 m² treated as party at U=0.25. - `is_exposed_floor=True` on Main floor=0 (28b "Exposed floor Main 35.76 × U=1.20"). Floor sits over an unheated space, not earth. - `roof_insulation_thickness=0` on Main — PDF (30) "External roof Main 15.56 × U=2.30" UNINSULATED Table 16 "none" row. - `door_count` 1 → 2 to match PDF (26) total area 3.70 m² = 2 × 1.85. Impact on §3 cascade pins: pin | before slice 23 | after slice 23 ----------|-----------------|--------------- LINE_31 | +20.37 m² Δ | +0.0025 m² Δ (sub-display) LINE_33 | -6.75 W/K Δ | -0.82 W/K Δ (rooflight gap, slice 25) LINE_36 | +3.06 W/K Δ | +0.0004 W/K Δ (sub-display) LINE_37 | -6.75 W/K Δ | -0.82 W/K Δ Remaining 0.82 W/K LINE_33 gap is the rooflight: PDF lodges a 1.18 m² roof window on line (27a) at U_eff=2.9930 (Table 24 metal-frame pre-2002 raw 3.4 + curtain). Our §3 cascade doesn't yet incorporate roof windows — they're defined in SECTION_6_ROOF_WINDOWS for solar gains but not in the heat-transmission path. Slice 25 will add (27a) line-ref handling. §3 cascade pin count unchanged at 23 FAIL / 1 PASS — the 000516 residuals dropped 10× but still > abs=1e-4. The downstream §4-§12 cascade for 000516 likely tightens once §3 closes. 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/.