Ajoute les notes mémoire sur l'architecture et l'UX du score
chronométré, clôture le ticket #12, ajoute le cadrage des tickets
#24 à #31.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
[DevBackend] Domain et migration pour le score chronométré
open
high
null
target
kind
#18
relatesTo
agentId
role
10ee045b-1c41-479e-ba03-dceed9edd495
assigned
kind
agent_id
agent
57695b92-24d0-4876-837c-76116e70a6ae
kind
agent_id
agent
57695b92-24d0-4876-837c-76116e70a6ae
1784328239814
1784328239814
1
Fondation du ticket #18 (score chronométré). Ajouter ScoreInputMode (manual|stopwatch) sur Exercise avec propagation snapshot pattern (ProgramExercise, snapshot de séance, ActiveSetResult, WorkoutHistorySetResult). Ajouter actualScoreTimeMs/targetScoreTimeMs/targetScoreTimeMsOverride distincts de actualScore/targetScore/targetScoreOverride. Nouvelle table Drift ActiveScoreStopwatchState (status running|stopped, startedAt, accumulatedMs, stoppedAt, clé programIndex/exerciseIndex/setIndex). Migration Drift schemaVersion 2 -> 3. Use cases : démarrer/arrêter/reprendre/réinitialiser le chrono d'une série, copie de la durée finale vers ActiveSetResult à la validation. Cf. mémoires "gametime-ux-score-chrono" et "gametime-architecture-score-chrono" pour le détail complet.