Model/domain/modelling
Khalim Conn-Kowlessar f06a048a6f feat(modelling): ASHP option carries the composite per-dwelling cost
Slice 9 of ADR-0025 costing. _ashp_option now prices via Products.ashp_bundle_
cost(ashp_cost_inputs(epc)) instead of the flat catalogue scalar; the catalogue
row is still read for its material_id. Pinned on boiler-3: gas reuse dwelling
composes to 15600.60 (decommission 720 + pump 9720 + cylinder 2382.60 + reuse
distribution 2778) with 25% contingency.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-06 21:17:06 +00:00
..
generators feat(modelling): ASHP option carries the composite per-dwelling cost 2026-06-06 21:17:06 +00:00
optimisation feat(modelling): ventilation-aware selection — price the forced dependency in 2026-06-03 16:16:26 +00:00
scoring test(modelling): ASHP before/after cascade pin (001431) at 1e-4 2026-06-06 17:01:40 +00:00
__init__.py feat(modelling): Overlay Applicator folds EpcSimulation onto EpcPropertyData 2026-06-02 22:13:51 +00:00
contingencies.py feat(modelling): wire the ASHP bundle into the candidate pool 2026-06-06 17:12:07 +00:00
plan.py feat(modelling): wire Valuation Uplift onto the Plan 2026-06-04 08:59:04 +00:00
portfolio_goal.py refactor(modelling): move PortfolioGoal to domain/modelling/ 2026-06-03 22:44:48 +00:00
product.py feat(modelling): persist recommendation.material_id from the catalogue 2026-06-04 08:26:58 +00:00
products.py feat(modelling): ASHP decommission fallbacks for off-sheet systems 2026-06-06 20:42:14 +00:00
recommendation.py feat(modelling): persist recommendation.material_id from the catalogue 2026-06-04 08:26:58 +00:00
scenario.py feat(modelling): domain Scenario + ScenarioPostgresRepository (#1157) 2026-06-03 11:19:52 +00:00
simulation.py test(modelling): HHRSH before/after cascade pins (001431) at 1e-4 2026-06-05 19:09:23 +00:00
valuation.py feat(modelling): ValuationUplift domain class (percentage-primary) 2026-06-04 08:33:19 +00:00