Scrobble.dev discussion draft 0.1

Eight draft principles for exchanging scrobble data.

Scrobble.dev publishes these principles for testing and comment. They are not an adopted industry standard, and no implementation is required to use them.

Keep different records distinct
A temporary observation, durable event, progress state, completion decision, rating, list entry and collection item have different jobs.
Preserve the media context the source knew
Keep source-local identity and item grain instead of silently replacing the record with a preferred provider.
Name each time
Playback start, completion, diary date, import time and receipt time answer different questions.
Keep native progress
Seconds, pages, chapters, episodes, sessions and turns remain available before a percentage is derived.
Record provenance
Manual entries, player telemetry, imports, webhooks, corrections and synchronized copies carry different evidence.
Make retry harmless
Receiving the same logical event again must not manufacture another history entry.
Support correction and removal
A person must be able to fix a wrong item, time or duplicate and remove history they do not want retained.
Design export with the record
A documented export and its known losses are part of correctness, not a later courtesy.

Privacy limits the exchange

Media history can expose habits and routines. A format cannot enforce consent by naming a visibility field. Implementations remain responsible for authorization, retention, deletion and preventing one person's history from reaching another account.

What this draft does not define

It does not define authentication, a universal completion threshold, one provider identity, a transport protocol or conformance. Those subjects require governance, a processing model, security analysis, fixtures and independent implementation before stronger claims are appropriate.

Add a documented failure case or comment through Scrobble.dev. Reproduce implementation behaviour through Floppy issues.