pub fn meta_hash(clip: &Clip, lineage: &LineageContext) -> StringExpand description
A sentinel for the clip’s tag-bearing metadata and chosen art.
Covers every field that affects file content: title, tags, the selected
art URL, video cover, the prompt, the lyrics and description, the account
handle, and the resolved lineage that gets embedded (immediate parent and
edge, root id and title, and the album the clip folders under), so a change
to any of them is detected as a needed retag. This takes the resolved
LineageContext rather than the raw feed fields precisely because those
resolved values are what end up in the file (HARDENING B1: if a value is
embedded, it is in the change hash), so a retitle, re-point, or album move
triggers a retag.
Path-affecting fields such as display_name are excluded on purpose: a path
change is a rename, detected by comparing the rendered path with the stored
one. title is included so a title change triggers both a rename and a
retag.