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> |
||
|---|---|---|
| .. | ||
| domain | ||
| fetchers | ||
| repos | ||
| utils | ||
| README.md | ||
Shared packages
Workspace packages consumed by services/*. Each package is its own Python distribution with its own pyproject.toml; services import via the workspace dependency mechanism ({ workspace = true }).
| Package | Purpose |
|---|---|
domain/ |
Shared domain types — Property, BaselinePerformance, Plan, Scenario, EpcPropertyData, etc. No persistence, no IO, no business logic. |
repos/ |
Persistence layer — one repo per aggregate. Owns the SQL. Depends on domain. |
fetchers/ |
External API clients (gov EPC, Ofgem, Google Solar, etc.). Depend on domain for response shapes. |
utils/ |
Cross-cutting infra — logging, S3, CloudWatch URL builders, SQS task helpers. |
Adding a new shared package
Only when a real second consumer materialises. Don't pre-shatter (repos-epc, repos-property, ...) — split when a deployment needs to drop a dep, not before.
See ../ara_backend_design.md §11 for the broader monorepo layout and ../CONTEXT.md for the domain glossary that names the types living in domain/.