mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Three load-bearing files that the post-Slice-95 tests and docs cite but were never tracked: 1. `packages/domain/src/domain/sap/rdsap/tests/fixtures/golden/ 0535-9020-6509-0821-6222.json` — API JSON for cert 001479 (Elmhurst worksheet P960-0001-001479, lodged 31 Oct 2025). Required by `test_api_001479_full_chain_sap_matches_worksheet_pdf_ exactly` (Slice 95's Layer 4 1e-4 gate) and by `test_golden_cert_residual_matches_pin` (residual-from-integer pin path). Without this committed, both tests fail to find the fixture file. 2. `docs/sap-spec/RdSAP 10 Specification 10-06-2025.pdf` — replaces the previously-tracked `rdsap-10-specification-2025-06-10.pdf` (same content, cleaner filename). Cited from 5 source files (`table_32.py`, `pcdb/parser.py`, README.md, SAP_CALCULATOR.md, NEXT_AGENT_PROMPT.md) and every spec-citation commit message in Slices 87-95. Git auto-detected the rename. 3. `docs/sap-spec/PCDF_Spec_Rev-06b_12_May_2021.pdf` — cited from `pcdb/parser.py:69` and the §4-water-heating combi-loss docstrings; needed to validate the PCDB Table 3a/3b/3c routing logic. Also fixes the one stale reference in `test_dimensions.py:471` that still pointed to the old `rdsap-10-specification-2025-06-10 .pdf` filename — now points to the renamed file. 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/.