keeps: per-stage elapsed telemetry in the rekeep flow
Long oven bakes (thumbnail stage can run up to 150s) looked identical to
a hang — the same 'Baking thumbnail...' text sat on screen with no sense
of motion and no way to tell if anything was happening. Reported while
regenerating $tam when it took a while and the user felt stuck without
clear feedback.
Adds three overlapping signals during pollJobStatus:
1. Live elapsed seconds appended to the progress overlay detail after
5s, formatted as '· 12s' / '· 1m 4s'. Updates every poll tick.
2. Track-log entry on entering any long-running stage (thumbnail, bundle,
ipfs, metadata) so there's a timestamped record of when it began.
3. Track-log heartbeat at 20s from stage start, then every 30s while the
stage is still active. Prevents the 'is this frozen?' feeling during
the oven's 150s ceiling.
On stage completion a 'took Ns' entry lands in the track log for the
same long-running stages, and the timeline detail gets the total time
appended so it survives after the flow moves on.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>