Keep the live story to one scan: what is running, whether the lock is stable, how many reps were counted, and whether the last result was saved.
ExerciseIdle
No live label
Waiting for a live payload.
LockUnknown
No lock
Lock window has not stabilized yet.
RepsIdle
0
Current set rep count.
SetUnknown
No active set
Set lifecycle has not started.
SaveWaiting
No saved result
Reports are not persisted yet.
DemoChecking
Preflight pending
The dashboard is checking live readiness.