2569003f33
Tasks created with parentType='Contact' (e.g. preparation calls linked to a case's contact) were invisible to AlertCalculator, CaseContextBuilder, and OfficeContextBuilder — all of which only queried parentType='Case'. This caused false "no preparation task" alerts in Shira's daily standup even when preparation tasks existed, because they were linked to the case's Contact instead of the Case entity directly. Changes: - AlertCalculator: getSummary, findOverdueTasks, findUpcomingTasks, getWorkloadByUser now query parentType=['Case','Contact'] - findUpcomingHearingsWithoutPrep: new caseHasPreparation() helper checks Case tasks, Contact tasks, and NhActivity-linked tasks - CaseContextBuilder.getOpenTasks: OR query across Case + Contact IDs - OfficeContextBuilder.buildCaseDrillDown: same OR query pattern - All three classes gain a getCaseContactIds() helper Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>