chore(repo): initialise le dépôt git et l'état de configuration IdeA

Ajoute le .gitignore Flutter/Dart standard (build/, .dart_tool/, Pods,
gradle, etc.) en prévision du scaffolding Flutter (ticket #2), ainsi que
la configuration d'orchestration IdeA (agents, mémoire, tickets, sprints).
L'état d'exécution transitoire (conversations, run/, live-state) reste
ignoré du versionnement.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-17 17:19:24 +02:00
commit dffca7b6c2
41 changed files with 1442 additions and 0 deletions

View File

@ -0,0 +1,13 @@
---
issueRef: "#3"
version: 3
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
updatedAt: 1784301376032
---
Référence : mémoire "gametime-architecture-initial-stack-data-model" pour le détail des entités (Exercise, MediaAsset, Program, ProgramExercise, WorkoutTemplate, WorkoutTemplateProgram, WorkoutTemplateExerciseOverride, ActiveWorkoutSession, ActiveSetResult, ActiveRestState, WorkoutHistory, WorkoutHistorySetResult, change_log).
Points de friction actés par Architect à respecter dans le schéma :
- Repos matérialisé comme événements concrets à l'exécution, pas comme simple règle statique.
- Exercice jamais supprimé en dur (archivedAt), copies lisibles conservées dans programmes/historique.
- Score = valeur numérique décimale + label/unité textuels snapshotés séparément de l'exercice source.
- IDs stables générés localement (UUIDv7/ULID), pas d'auto-increment comme identifiant métier.
- WorkoutTemplateExerciseOverride ne porte QUE setsCountOverride et les valeurs cibles numériques (targetTimeSecondsOverride, targetRepsOverride, targetScoreOverride) — pas de champ pour changer les mesures activées.

16
.ideai/tickets/3/issue.md Normal file
View File

@ -0,0 +1,16 @@
---
id: "ea99a2e0-3c07-404c-95db-13818be0ee20"
number: 3
title: "[DevBackend] Modèle de données Drift complet (entités + migrations)"
status: "open"
priority: "critical"
sprint: null
links: [{"target":"#2","kind":"dependsOn"}]
agentRefs: [{"agentId":"10ee045b-1c41-479e-ba03-dceed9edd495","role":"assigned"}]
createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
createdAt: 1784301289668
updatedAt: 1784301376032
version: 3
---
Implémenter les tables Drift : Exercise, MediaAsset, Program, ProgramExercise, WorkoutTemplate, WorkoutTemplateProgram, WorkoutTemplateExerciseOverride, ActiveWorkoutSession, ActiveSetResult, ActiveRestState, WorkoutHistory, WorkoutHistorySetResult, change_log. Champs sync-ready sur chaque agrégat : id stable (UUIDv7/ULID), createdAt/updatedAt/deletedAt, schemaVersion, syncState, localRevision, originDeviceId. Voir mémoire projet "gametime-architecture-initial-stack-data-model" pour le détail des champs par entité et les invariants (score = valeur numérique + label/unité snapshotés, exercice jamais supprimé en dur, etc.).