Model/docs/adr
Khalim Conn-Kowlessar af501fce0e feat(modelling): ventilation-aware selection — price the forced dependency in
The warm-start (and max-gain fallback) now price each forced Measure Dependency
the candidate triggers, not just inject it afterwards: optimise/optimise_min_cost
fold dependencies into each candidate's cost+gain via _augmented_cost_gain, and
optimise_package scores each dependency's true role-1 signal (_with_role1_signals)
instead of the 0.0 placeholder. This stops the min-cost objective (i) ignoring the
~£900 a wall drags in (a wall-free package reaching target can be cheaper) and
(ii) picking a small-gain wall whose mandatory ventilation (down to -5 SAP) makes
it net-negative, which repair cannot un-pick.

Budget is now a hard envelope: the constraint applies to the augmented (measure +
its ventilation) cost, so a wall that fits alone but whose ventilation would bust
the budget is DROPPED rather than forced over budget. This reverses the earlier
'forced regardless of budget' call (which made sense when selection was
ventilation-blind). Safety invariant intact — presence still injected on every
path; we just never recommend a wall we can't afford to ventilate. ADR-0016
amendment updated. 94 modelling+orchestration tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 16:16:26 +00:00
..
0001-two-source-paths.md added architechtural decisions, added to prd 2026-05-13 21:26:18 +00:00
0002-property-aggregate-root.md added architechtural decisions, added to prd 2026-05-13 21:26:18 +00:00
0003-python-writes-landlord-overrides-directly.md move landlord overrides 2026-06-01 15:46:46 +00:00
0003-strict-ingestion-modelling-separation.md docs(ara): composable stage-orchestrator design (ADR-0011 + ADR-0003 amend + CONTEXT) 2026-06-01 16:28:48 +00:00
0004-baseline-performance-lodged-effective-pair.md refactor(property-baseline): rename baseline → property_baseline aggregate (PR #1139 review) 2026-06-01 16:28:48 +00:00
0005-multi-phase-scenarios-per-phase-recompute.md docs(modelling): #1157 Plan-persistence design review 2026-06-03 11:12:54 +00:00
0006-deterministic-kwh-no-baseline-ml.md scaffolding for ml pipeline 2026-05-16 14:15:56 +00:00
0007-kwh-as-ml-target.md scaffolding for ml pipeline 2026-05-16 14:15:56 +00:00
0008-physics-as-feature.md docs: ADR-0008 physics-as-feature + v16.0.0 schema bump 2026-05-17 11:20:40 +00:00
0009-deterministic-sap-calculator.md docs(modelling): #1157 Plan-persistence design review 2026-06-03 11:12:54 +00:00
0010-sap10-calculator-spec-target-and-validation.md refactor: move docs/sap-spec/ contents into domain/sap10_calculator/ 2026-05-26 13:17:18 +00:00
0011-composable-stage-orchestrators.md docs(ara): composable stage-orchestrator design (ADR-0011 + ADR-0003 amend + CONTEXT) 2026-06-01 16:28:48 +00:00
0012-unit-of-work-per-stage-batch-transaction.md refactor(orchestration): wire stages onto the UnitOfWork; per-stage commit (#1138) 2026-06-01 16:28:48 +00:00
0013-calculator-produces-effective-performance-shadow-first.md docs(baseline): Bill Derivation design — fuel as calculator output + rebaselining is assemble-and-score 2026-06-02 18:04:55 +00:00
0014-bill-derivation-from-real-fuel-rates.md feat(baseline): EnergyBreakdown.from_sap_result + COOLING section 2026-06-02 18:28:22 +00:00
0015-mappers-own-cert-normalization.md docs(baseline): Bill Derivation design — fuel as calculator output + rebaselining is assemble-and-score 2026-06-02 18:04:55 +00:00
0016-package-rescore-over-warm-start-optimisation.md feat(modelling): ventilation-aware selection — price the forced dependency in 2026-06-03 16:16:26 +00:00
0017-plan-persistence-evolve-live-tables.md docs(modelling): #1157 Plan-persistence design review 2026-06-03 11:12:54 +00:00