While smoke-testing ff-player#255 (digital tombstones) on a real FF1: a playlist carrying inline label metadata — items[].metadata (ref-manifest §4 metadata-block shape: title, artists) and a top-level curator string — arrives at the device with both fields stripped when cast via ff-cli play. Casting the identical JSON directly through the player's displayPlaylist command preserves them, so the sanitization happens in ff-cli's serialization path.
Impact: the tombstone (museum label) can only ever show the item title for ff-cli-built or ff-cli-cast playlists — no artist line, no "Curated by" — which defeats the label for exactly the discovery-playlist use case it was built for.
Asks:
- Pass through unknown/tolerated fields on play/sign/publish rather than whitelisting — DP-1 consumers are tolerant readers; the CLI should be a tolerant writer. At minimum:
items[].metadata and playlist curator.
find/build should emit items[].metadata (artists, title-with-year) — the data exists in the sources find already queries (FF API, objkt, Art Blocks). That makes every ff-cli playlist self-labeling.
- Verify
publish doesn't strip the same fields (untested; same risk).
Wire contract reference: ff-player#255 (DP1Item.metadata tolerant read, DP1Call.curator; ref manifest outranks inline when both exist).
While smoke-testing ff-player#255 (digital tombstones) on a real FF1: a playlist carrying inline label metadata —
items[].metadata(ref-manifest §4 metadata-block shape: title, artists) and a top-levelcuratorstring — arrives at the device with both fields stripped when cast viaff-cli play. Casting the identical JSON directly through the player'sdisplayPlaylistcommand preserves them, so the sanitization happens in ff-cli's serialization path.Impact: the tombstone (museum label) can only ever show the item title for ff-cli-built or ff-cli-cast playlists — no artist line, no "Curated by" — which defeats the label for exactly the discovery-playlist use case it was built for.
Asks:
items[].metadataand playlistcurator.find/buildshould emititems[].metadata(artists, title-with-year) — the data exists in the sources find already queries (FF API, objkt, Art Blocks). That makes every ff-cli playlist self-labeling.publishdoesn't strip the same fields (untested; same risk).Wire contract reference: ff-player#255 (DP1Item.metadata tolerant read, DP1Call.curator; ref manifest outranks inline when both exist).