academy_classes e academy_class_members (chave composta no pivot, sem UUID artificial — compatível com attach/syncWithoutDetaching).Kolos\Modules\Academy\Models\AcademyClass; relação Venue::academyClasses().academy.class.create atribuída a venue_owner; VenuePolicy::manageAcademy.AcademyClassPolicy (view, manageStudents) + registo em AuthServiceProvider.coach no treinador designado.Venue\TrainingClasses em /venues/{venue}/training-classes; botão «Turmas» em my-venues.coach).VenueFactory, AcademyClassFactory; removido catálogo demo estático.Fase C do plano Academy: dados reais, escopo por arena/treinador, alinhado à matriz ACL (dono cria turma; treinador gere alunos).
Se já tinha corrido a migration anterior com id UUID no pivot: vendor/bin/sail artisan migrate:fresh (ou rollback manual da migration Academy + re-run) em ambientes de dev.
vendor/bin/sail artisan testcoach); abrir «Alunos» na lista.