Account chip on the Plans page is visible but selecting an account doesn't filter the plan list — frontend/src/plans.ts:32-78 loadPlans applies only providerFilter and explicitly skips account (the inline comment notes 'backend has no top-level provider field'). Plans live above accounts and reference accounts via the plan_accounts join table.
Fix direction
Filter via the join: backend api.getPlans() accepts ?account_ids= and JOINs plan_accounts. Mirror the pattern from recommendations.ts. Alternative: hide the Account chip on the Plans page when no per-plan account filter is implementable. First option preserves the affordance and matches user expectations.
Surfaced by QA spreadsheet rows 2.4 and 2.5.
Account chip on the Plans page is visible but selecting an account doesn't filter the plan list —
frontend/src/plans.ts:32-78 loadPlansapplies onlyproviderFilterand explicitly skips account (the inline comment notes 'backend has no top-level provider field'). Plans live above accounts and reference accounts via theplan_accountsjoin table.Fix direction
Filter via the join: backend
api.getPlans()accepts?account_ids=and JOINsplan_accounts. Mirror the pattern from recommendations.ts. Alternative: hide the Account chip on the Plans page when no per-plan account filter is implementable. First option preserves the affordance and matches user expectations.Surfaced by QA spreadsheet rows 2.4 and 2.5.