405ceb7684
Tasks with parentType='Contact' were invisible to AlertCalculator, CaseContextBuilder, and OfficeContextBuilder — all queries only checked parentType='Case'. This caused false "no preparation task" alerts in the daily standup even when preparation tasks existed. Broadens getSummary, findOverdueTasks, findUpcomingTasks, getWorkloadByUser to query parentType=['Case','Contact']. Adds caseHasPreparation() helper that checks Case tasks, Contact tasks, and NhActivity-linked tasks. Adds getCaseContactIds() to CaseContextBuilder and OfficeContextBuilder. Refs Task Master #1 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>