# 2026-04-13 - Alertas de vencimento de tarefas e guia operacional de cron

## O que mudou
- Adicionada consulta de candidatos a prazo proximo em `src/Modules/Tasks/Repositories/TasksRepository.php`, junto com persistencia de historico de disparo para deduplicacao de lembretes.
- Estendido `src/Modules/Tasks/Services/TasksService.php` com `runDueSoonAlerts()`, responsavel por disparar `task_due_soon` para responsavel e atribuidos de tarefas abertas com vencimento proximo.
- Criada a task `src/Cron/Tasks/TasksDueSoonCronTask.php` e incorporada ao fluxo operacional em `tools/cron-runner.php` e `src/Http/Controllers/CronController.php`.
- Adicionado o script `sql/2026-04-13-create-tarefas-alert-dispatches.sql` para criar a tabela de historico de alertas de tarefas.
- Documentado o uso operacional do cron em `docs/cron-operacao-e-notificacoes.md`.

## Observacoes
- A deduplicacao de tarefas usa assinatura por tarefa, usuario, data prevista e bucket (`today`, `tomorrow`, `upcoming`), evitando repeticao a cada execucao do cron.
- O escopo `hourly` da API de cron agora cobre tres frentes: mailbox, metas e tarefas proximas do vencimento.
- O runner interno continua sendo a melhor opcao para agendamento recorrente simples, porque respeita `last_run`, `frequency` e `min_interval` no `CronKernel`.

## Validacao
- `php -l src/Modules/Tasks/Repositories/TasksRepository.php`
- `php -l src/Modules/Tasks/Services/TasksService.php`
- `php -l src/Cron/Tasks/TasksDueSoonCronTask.php`
- `php -l src/Http/Controllers/CronController.php`
- `php -l tools/cron-runner.php`
