WITH selected AS(SELECT *,CASE {{definition}} WHEN 'quality' THEN confirmed_quality_use WHEN 'ready' THEN ready_at IS NOT NULL WHEN 'export' THEN exported_at IS NOT NULL END chosen,CASE {{definition}} WHEN 'quality' THEN confirmed_use_at WHEN 'ready' THEN ready_at WHEN 'export' THEN exported_at END chosen_at FROM v_task WHERE ({{persona}}='all' OR persona={{persona}}) AND ({{workflow}}='all' OR workflow={{workflow}})) ,early AS(SELECT user_id,COUNT(*) early_tasks,SUM(CASE WHEN chosen=1 AND julianday(chosen_at)'quality' OR julianday(reviewed_at)=julianday(signup_at) AND julianday(created_at)0 THEN 'Early selected value' WHEN early_tasks>0 THEN 'Early task; no selected value' ELSE 'No early filtered task' END target,COUNT(*) users FROM cohort GROUP BY 2 UNION ALL SELECT CASE WHEN early_value>0 THEN 'Early selected value' WHEN early_tasks>0 THEN 'Early task; no selected value' ELSE 'No early filtered task' END,CASE WHEN return28_41=1 THEN 'Days 28–41 quality return' ELSE 'No later quality return recorded' END,COUNT(*) FROM cohort GROUP BY 1,2