mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Slice 3b — closes #1160. ModellingOrchestrator._plan_for now runs the full ADR-0016 flow instead of a single cavity measure: generate wall + roof + floor Recommendations → score each Option independently (role 1) into grouped ScoredOptions → optimise_package (grouped knapsack within budget + whole-package re-score + greedy repair toward the Scenario's SAP target) → attribute the selected set via the best-practice marginal cascade (role 3) → persist the Plan with its Plan Measures. The repair target comes from the goal: INCREASING_EPC → the goal_value band floor via Epc.sap_lower_bound(); other goals carry no SAP target yet (later slice). Best-practice order walls → roof → floor. Integration test: an uninsulated cavity wall + suspended floor (000490) driven directly through the Modelling stage off a repo-seeded EPC (the calculator fixture has no lodged recorded-performance fields, so Baseline can't run it) persists a Plan with two attributed, priced Plan Measures. The existing first-run test keeps full-pipeline coverage and now exercises real modelling (its sample EPC's uninsulated solid floor yields a floor measure). Replaces the single-measure cavity integration test (subsumed). 138 pass; pyright strict clean. Multi-phase remains descoped (ADR-0005); single-phase optimiser. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| applications | ||
| datatypes | ||
| domain | ||
| infrastructure | ||
| orchestration | ||
| repositories | ||
| utilities | ||
| __init__.py | ||
| conftest.py | ||
| test_lambda_packaging.py | ||