* feat(scanner): capture audio stream profile metadata
Store ffprobe audio stream profiles in the existing audio track metadata JSON. This mirrors the video track profile field and is additive for clients that want to display or inspect codec profile details.
* feat(catalogseed): carry audio profile in seed export records
Keep AudioTrackRecord in parity with VideoTrackRecord, which already
mirrors the video profile field, so seed exports do not drop the new
audio profile metadata.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
---------
Co-authored-by: Silo Contributor <silo-contributor@example.invalid>
Co-authored-by: Quick <31828688+Quick104@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
A standalone VALUES clause gives Postgres no target column to infer
parameter types from, so v.id defaulted to text and the UPDATE ... FROM
join predicate became bigint = text, failing seed imports with SQLSTATE
42883 during the people-update phase.
Fixes#267
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>