App\Mail\Academy\PlayerEnrolledInAcademyClassMail + view Markdown emails.academy.player-enrolled (PT): turma, arena, horário opcional, treinador, CTA para my-classes.AddAcademyClassMemberAction: após transação bem-sucedida, se a inscrição for nova (wasNewMember) e o utilizador tiver email, despacha o mailable para a fila (PlayerEnrolledInAcademyClassMail implementa ShouldQueue).Dar feedback imediato ao atleta e reforçar o link para a área «As minhas aulas». Em dev, validar no Mailpit (regra do projeto).
vendor/bin/sail artisan test tests/Feature/Academy/AddAcademyClassMemberActionTest.php tests/Feature/Academy/EnrollPlayerInAcademyClassActionTest.php tests/Feature/Academy/ClassRosterLivewireTest.phplaravel.test com imagem atual (Supervisor corre queue:work; ver docker/8.5/supervisord.conf) + inscrever aluno no roster → Mailpit (http://localhost:8025 conforme stack) → assunto «KOLOS — Inscrição na turma …». Sem Sail: queue:work manual ou Horizon em prod.syncWithoutDetaching idempotente: se o utilizador já era membro, não envia..cursor/rules/35-local-runtime-sail-boost-mailpit.mdc — fila + Mailpit em dev; ver também 2026-04-09_sail-supervisor-queue-worker.