Files
GameTime/.ideai/tickets/80/carnet.md
Blomios 73cfa644c2 chore(ideai): synchronise l'état de suivi (tickets, agents, skills, mémoire)
Rattrapage de l'état runtime IdeA (nouveaux tickets #80-#91, agents
coach/commercial, skills, permissions MCP) resté non commité depuis la
clôture du ticket #79.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 22:26:20 +02:00

2.6 KiB

issueRef, version, updatedBy, updatedAt
issueRef version updatedBy updatedAt
#80 4
kind agent_id
agent 57695b92-24d0-4876-837c-76116e70a6ae
1784665470112

Spec UX (livrée)

Bibliothèque d'exercices basket de démarrage (7 catégories, ~20 exercices), programme "Fondations basket - 45 min" (8 exercices), séance-modèle "Séance exemple - Fondations basket", règles UX (badge Exemple, éditable/supprimable, anti-réapparition, états vides). Détail complet dans l'historique de la conversation d'orchestration Main.

Plan technique Architect (livré)

Migration Drift v16 : ajout category (enum ExerciseCategory: shoot, freeThrows, dribble, finishing, conditioning, defense, mobility, uncategorized) + is_example sur exercises/programs/workout_templates. Table local_seed_metadata (key, version, applied_at) pour tracker starterSeedVersion=1. Use case SeedStarterContentUseCase appelé dans AppBootstrap.create(), transactionnel, "base vide" = aucune ligne (y compris soft-deleted) dans exercises/programs/workout_templates. IDs stables déterministes type starter-v1-exercise-form-shooting. Données seed en Dart const (lib/application/starter_content/basket_starter_seed_v1.dart), pas JSON. Séance-modèle via WorkoutTemplateProgram.snapshotFromProgram. Contenu seed = syncState=localOnly, pas de sync serveur automatique.

Découpage :

  • Lot B1 (DevBackend) : schéma/domaine — ExerciseCategory, champs category/isExample, migration v16, mappers, tests migration.
  • Lot B2 (DevBackend) : seed applicatif — ports StarterSeedStateRepository/StarterContentRepository, SeedStarterContentUseCase, basket_starter_seed_v1.dart (contenu complet UX), adapter Drift transactionnel, branchement AppBootstrap.
  • Lot B3 (DevBackend/QA) : tests (seed unique, non-réapparition, snapshots programme/séance corrects, catégories/isExample persistés).
  • Lot F1/F2 (DevFrontend) : badge "Exemple" bibliothèque/programmes/séances, affichage category.
  • Lot F3 (DevFrontend) : première ouverture / états vides, dépend du résultat du seed use case.

Décisions Main sur questions Architect

  1. Badge "Exemple" conservé après modification par l'utilisateur (provenance, pas immutabilité) → OK, suivre la reco Architect.
  2. Contenu exemple non synchronisé au serveur par défaut → OK, suivre la reco Architect.
  3. Catégorie uncategorized visible sous "Autres" dans l'UI si nécessaire → OK, suivre la reco Architect.
  4. Liste complète des ~20 exercices : transmise intégralement à DevBackend par Main (spec UX complète disponible).

Prochaine étape : Git pour la branche, puis DevBackend (B1+B2+B3).