A binary tag payload to write (e.g. an opaque ID3 PRIV frame body). key is
the format-private identifier (ID3 frame id, APPLICATION/CUESHEET,
----:<mean>:<name>); payload is the post-header frame/block body.
A batch of track writes held in one transaction. Each method delegates to the
shared per-row writer helper (upsert_track_in / replace_tags_in /
set_binary_tags_in / set_structural_blocks_in / upsert_art_in /
set_track_art_in) that also backs the Db<ReadWrite> writers, but runs it
on a single caller-held transaction so a whole batch commits with one fsync.
One read of the changelog ring past last_seq: the distinct changed track
ids (ascending) plus the table’s retained seq bounds (0/0 when empty). The
caller derives gap detection from min_seq (see musefs-core’s refresh).
Validated audio-region bounds for a track: audio_offset + audio_length
is guaranteed to fit within backing_size, so the reader can splice the
audio region without re-checking. Built at the tracks row reader.
The DB text representation (the tracks.format column) is derived:
serialize_all = "lowercase" lowercases the whole variant ident
(OggFlac → "oggflac"). The strings are an external contract —
beets/Picard write them — pinned by tests::db_strings_are_pinned.