Model/applications
Khalim Conn-Kowlessar 72f3e3a72d Add default-plan export selection + plan_name column (ADR-0065)
A second export selection alongside the per-Scenario one, chosen by
`plan_selection` on the export request:

- "scenario" (default, unchanged): one sheet per Scenario, freshest Plan per
  (property, scenario); scenario_ids required.
- "default" (new): a single "Default Plans" sheet of each home's is_default
  Plan (one-per-property across all Scenarios, ADR-0012/0017) — the portfolio's
  current state, one row per home; scenario_ids ignored.

Repository gains `default_rows_for(portfolio_id, property_ids)`: same read-model
and Effective-EPC join as `rows_for`, with the plan-selection WHERE swapped from
`scenario_id = :scenario_id` to `is_default = TRUE`. Orchestrator branches on
plan_selection; the router validates it and only requires scenario_ids for the
scenario selection. A recipe without plan_selection defaults to "scenario", so
the change is backward-compatible.

Both selections now surface the chosen Plan's `name` as a `plan_name` column.

Tests: repository default_rows_for (scenario-independent selection, plan_name,
non-default excluded); orchestrator default path (one "Default Plans" sheet;
empty selection is a recorded failure). 62 passed, pyright --strict clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-22 09:21:38 +00:00
..
abri Date an abandonment to the deal's own dates, not now() 🟩 2026-07-08 08:51:39 +00:00
ara_export Add default-plan export selection + plan_name column (ADR-0065) 2026-07-22 09:21:38 +00:00
ara_first_run Thread the historic-EPC reader through the first-run composition root 🟩 2026-07-06 08:41:56 +00:00
audit_generator add local handler and orchestrator 2026-06-30 13:58:41 +00:00
bulk_document_download Bulk download: readable email, deal-name folders, visible worker logs 2026-07-08 15:02:38 +00:00
bulk_upload_finaliser property override 2026-06-05 12:18:13 +00:00
landlord_description_overrides Merge pull request #1409 from Hestia-Homes/fix/property-type-leading-token-guard 2026-07-02 10:00:03 +01:00
magic_plan use task_handler rather subtask_handler for magicplan 2026-06-09 12:17:57 +00:00
modelling_e2e Widen EPC-prediction cohort search one step when the normal radius is too sparse 2026-07-08 14:29:21 +00:00
postcode_splitter updated rdsap option; seperated s3 location in infrastrucutre; added open ai api 2026-05-22 14:00:33 +00:00
sharepoint_renamer delete test data file 2026-07-03 13:38:09 +00:00
__init__.py applications/postcode_splitter: PostcodeSplitterOrchestrator + Lambda entrypoint slice 2026-05-19 17:46:12 +00:00