mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-07-12 13:29:04 +00:00
Review findings on PR #1527: - The 'which goals are goal-aligned' set lived in two adjacent if-chains (_objective_for and _require_budget_for_goal_aligned) that had to stay in sync — a new goal-aligned goal added to one but not the other would slip the budget guard. Both now read a single _GOAL_ALIGNED_OBJECTIVES table. - The goal strings are the canonical PortfolioGoal enum values, not re-declared string constants, so goal-value drift can't silently degrade a goal to max-SAP; _target_sap reads the enum too. - _scored_candidate_groups takes objective without a default (its only caller passes it). - scoring.py: 'cached: float | None' -> Optional[float] per the CLAUDE.md 'Use Optional over | None' rule. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| abri_orchestrator.py | ||
| ara_first_run_pipeline.py | ||
| audit_generator_orchestrator.py | ||
| audit_generator_unit_of_work.py | ||
| bulk_document_download_orchestrator.py | ||
| bulk_upload_finaliser_orchestrator.py | ||
| classifiable_column.py | ||
| ingestion_orchestrator.py | ||
| landlord_description_overrides_orchestrator.py | ||
| magic_plan_orchestrator.py | ||
| modelling_orchestrator.py | ||
| postcode_splitter_orchestrator.py | ||
| property_baseline_orchestrator.py | ||
| sharepoint_renamer_orchestrator.py | ||
| task_orchestrator.py | ||