ci/woodpecker/push/main Pipeline failed
Frontend sends card key status=overdue to GET /api/cma/action-plans, but the list endpoint compared ActionPlan.status == 'overdue' which is not in the status domain -> always 0 rows while /stats showed 7 (derived caliber). Extract _apply_overdue() and use it in both plan_stats and list_plans. Refs: project-20260921-actionplan-overdue-filter