Activity lifecycle

When does media activity become history?

A temporary player state becomes a scrobble when an implementation records it as durable history. Progress and completion can be related records, but neither is automatically the same event.

A concrete example

A player reports that an episode is playing. After twelve minutes it reports a position. The tracker later records a durable watch event. If the source declares the episode complete, the tracker may also record completion according to that source's policy.

Four records with different jobs

Now playing
Temporary state. It can disappear when the player stops and need never enter history.
Progress
Mutable position in a native unit such as seconds, pages, chapters or turns.
Scrobble
Durable history with an event time, media identity and provenance.
Completion
A policy decision that a defined unit is finished. Different media and sources can use different evidence.

Why the distinction matters

If every player update becomes history, retries can manufacture duplicate plays. If progress overwrites history, an earlier position can erase a completed event. If a universal percentage decides completion, it can misdescribe books, short tracks, episodic media and game sessions.

Recommended practice

Preserve the source event and its native unit. Name the represented time. Give durable events stable identity. Record why completion was inferred or declared. Let users correct or remove the resulting history.

Building this flow? Read the implementation path. Found a reproducible failure? Contribute the case to Floppy.