Model/infrastructure/postgres
Khalim Conn-Kowlessar 3580d059ec feat(modelling): drive measure scoping from the Scenario's exclusions
The measures a run considers should come from the Scenario, not a CLI flag.
The live scenario table persists exclusions only (no inclusions column), as a
Postgres text-array of exact MeasureType values.

- Scenario gains `exclusions: frozenset[MeasureType]` + `considered_measures()`
  (all measures minus the excluded ones, or None when none are excluded).
- ScenarioModel.to_domain parses the `{a,b,c}` exclusions array into
  MeasureTypes, raising on a token that is not an exact MeasureType value
  (no high-level category expansion), per the strict-enum convention.
- ModellingOrchestrator._plan_for derives the allowlist from the Scenario's
  exclusions, combined (intersection) with any explicit considered_measures
  override via the new `combine_considered_measures`.
- run_modelling_e2e sources the allowlist from the Scenario; --measures /
  --exclude-measures become optional overlays (e.g. the technical
  secondary_heating_removal exclusion the catalogue cannot yet stock).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 15:26:25 +00:00
..
modelling feat(modelling): drive measure scoping from the Scenario's exclusions 2026-06-16 15:26:25 +00:00
__init__.py added postcode splitter rewrite to ddd 2026-05-19 16:35:09 +00:00
bulk_address_upload_table.py tests files 2026-06-04 11:47:42 +00:00
config.py added postcode splitter rewrite to ddd 2026-05-19 16:35:09 +00:00
engine.py tests wrong environemnt 2026-05-29 16:17:06 +00:00
epc_property_table.py feat(epc-prediction): slice-5c predicted-EPC persistence slot 2026-06-16 03:50:19 +00:00
landlord_built_form_type_override_table.py pr review, move domain and orhcestration 2026-06-01 14:00:31 +00:00
landlord_override_enums.py landlord overrid orchestration 2026-05-26 15:27:45 +00:00
landlord_property_type_override_table.py pr review, move domain and orhcestration 2026-06-01 14:00:31 +00:00
landlord_roof_type_override_table.py pr review, move domain and orhcestration 2026-06-01 14:00:31 +00:00
landlord_wall_type_override_table.py pr review, move domain and orhcestration 2026-06-01 14:00:31 +00:00
magic_plan_tables.py Window carries no opening_type — ventilation table is the sole persistence point 🟩 2026-06-08 09:45:15 +00:00
product_table.py feat(modelling): ProductRepository + Postgres materials-table source 2026-06-03 08:32:38 +00:00
property_baseline_performance_table.py 17.1 and 18 done by claude 2026-06-12 12:52:36 +00:00
property_details_spatial_table.py feat(spatial): per-UPRN cache repo for the OS spatial reference 2026-06-04 17:15:51 +00:00
property_override_table.py property override 2026-06-05 12:18:13 +00:00
property_table.py tests files 2026-06-04 11:47:42 +00:00
solar_table.py 17.1 and 18 done by claude 2026-06-12 12:52:36 +00:00
subtask_table.py added postcode splitter rewrite to ddd 2026-05-19 16:35:09 +00:00
task_table.py added postcode splitter rewrite to ddd 2026-05-19 16:35:09 +00:00
uploaded_file_table.py UploadedFile, FileTypeEnum, FileSourceEnum importable from infrastructure.postgres.uploaded_file_table 🟩 2026-06-09 11:50:51 +00:00