mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
The 'all properties' selection resolved against property.portfolio_id, but a
portfolio spans multiple HubSpot projects — so 'all' pulled the whole portfolio,
not the project the user was looking at. The project↔property grain lives on
hubspot_deal_data, not property.
task.inputs is now {project_codes?: str[], property_ids?: int[], portfolio_id?}:
the route resolves the distinct landlord_property_id set as the union of every
property in the named project_codes (from hubspot_deal_data) and the hand-picked
property_ids; portfolio_id is optional and only names the package. Drops the
portfolio-scoped select_all. Cap now applies to the resolved set size.
ADR-0060, CONTEXT.md and the request schema updated to match. New router tests
cover project-code resolution, the union+dedup, null landlord_property_id drop,
and the empty-project rejection.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| bulk_uploads | ||
| db | ||
| documents | ||
| domain | ||
| energy_assessments | ||
| local | ||
| modelling | ||
| plan | ||
| portfolio | ||
| requirements | ||
| tasks | ||
| whlg | ||
| __init__.py | ||
| assumptions.py | ||
| BatterySapScorer.py | ||
| config.py | ||
| dependencies.py | ||
| exceptions.py | ||
| main.py | ||
| utils.py | ||