/** A carrier-specific decision overrides a legacy channel decision, including rejection. */ export function selectDrainageReportTask< T extends { channelId: string; carrier?: string | null; approvalScope?: string; }, >(tasks: T[], channelId: string, carrier?: string) { return ( (carrier ? tasks.find((task) => task.channelId === channelId && task.carrier === carrier) : undefined) ?? tasks.find((task) => task.channelId === channelId && !task.carrier && task.approvalScope !== 'carrier_specific') ); }