feat(dot_alfred/v2): bump SCHEMA_VERSION to 2 — added_at on MovieRelease

Phase 3 prep: Movie aggregate is about to become TMDB-only (no
filesystem fields). added_at is a release-time observation, not a
TMDB-aggregate concern, so it moves to MovieRelease +
MovieReleaseSidecar.

- Add added_at: datetime (required) to MovieRelease with a
  type-check in __post_init__.
- Add added_at: datetime (required) to MovieReleaseSidecar.
- Bump SCHEMA_VERSION 1 → 2 with a version-history note.
- Bridge round-trips added_at via Pydantic mode="json" (datetime
  → ISO 8601 string).
- Tests: update MovieRelease fixtures, add a validator test, add
  an added_at round-trip test, switch hard-coded `1` assertions
  to SCHEMA_VERSION for future-proofing.

No v1 sidecars in the wild yet — no migration code needed.
This commit is contained in:
2026-05-25 19:47:25 +02:00
parent e65c1df229
commit 2f160644da
6 changed files with 57 additions and 3 deletions
@@ -141,6 +141,7 @@ def inception_release() -> MovieRelease:
imdb_id=ImdbId("tt1375666"),
folder="Inception.2010.1080p.BluRay.x264-GROUP",
file_path=FilePath("Inception.2010.1080p.BluRay.x264-GROUP.mkv"),
added_at=datetime(2026, 5, 25, 8, 30, 0, tzinfo=UTC),
tracks=TrackProfile(
audio_tracks=(
AudioTrack(