feat: verzamel technische videometadata tijdens scans #89

Merged
janpeter merged 6 commits from codex/videometadata-scan into main 2026-09-22 08:21:21 +02:00
Owner

Handmatige en geplande scans verzamelen technische metadata voor nieuwe, gewijzigde en nog niet geanalyseerde video’s. Een volgende ongewijzigde scan hergebruikt ready/partial-observaties; bron- of collectorversiewijziging maakt ze ongeldig. Dit bereidt later duplicaatonderzoek voor.

Onderdeel van sprint S-2026-09-22-1, PBI-25, ST-052 (T-195/T-196/T-197). Goedgekeurd implementatieplan, ProductDoc-revisie cmubxtehh005nfs179rhrdygd.

De additieve migratie maakt VideoMetadata en scan-tellers aan. Eén begrensde ffprobe na iedere indexbatch bewaart container/streams/timing/resolutie/codecs/kleur/rotatie/hoofdstukken. Resultaatwrites bewaken claim, bronversie en delete-slot; finalisatie draagt doelmetadata naar het behouden bestand-id over. Scanlogs en npx tsx scripts/report-video-metadata.ts --mount-id <id> --limit 20 tonen dekking en fouten. Het rapport is read-only.

Alleen technische metadata van video's. Geen inhoudshashes, matching, fotoanalyse, renderwerk, nieuwe diensten of bronmutaties. De normale migratieroute is nodig; backfill gebeurt tijdens de volgende scan. Merge en productie-uitrol vallen buiten deze uitvoering.

Validatie: 949 lokale tests, waarvan 948 geslaagd en één bestaande non-Linux-skip; typecheck, lint (alleen drie bestaande waarschuwingen) en productiebuild geslaagd. Nieuwe migratie werkelijk toegepast en een tweede keer idempotent uitgevoerd. 20 echte read-only Linux/NAS-probes; gecontroleerde read-only drie-scanproef met 2/0/1 probes en MEDIA_VIDEO_ENABLED=false; geen bronmutatie of renderwerk. Onafhankelijke GPT-6 Astra-eindcontrole: GO, 0 BLOCKER / 0 MAJOR / 0 MINOR, 30 eigen gerichte tests geslaagd.

Gebruik en overdracht · Verificatie · Onafhankelijke review.

De jobgebonden verify_task_against_plan-tool heeft bij deze interactieve uitvoering geen geclaimde plan_snapshot (job_id=null); de inhoudelijke plancontrole is uitgevoerd tegen de opgeslagen taken en immutable planrevisie, naast de onafhankelijke branchreview. Externe CI is volledig groen op 5edb29fa04: run 187, alle vier jobs geslaagd (suite, historical-bootstrap, video-migration, docker-build).

Handmatige en geplande scans verzamelen technische metadata voor nieuwe, gewijzigde en nog niet geanalyseerde video’s. Een volgende ongewijzigde scan hergebruikt ready/partial-observaties; bron- of collectorversiewijziging maakt ze ongeldig. Dit bereidt later duplicaatonderzoek voor. Onderdeel van sprint S-2026-09-22-1, PBI-25, ST-052 (T-195/T-196/T-197). [Goedgekeurd implementatieplan](https://git.jp-visser.nl/janpeter/Media-Organizer/src/commit/1790bada057f5f3f288c2dddaae4d2241ba2fd43/docs/superpowers/plans/2026-09-22-videometadata-verzamelen.md), ProductDoc-revisie cmubxtehh005nfs179rhrdygd. De additieve migratie maakt VideoMetadata en scan-tellers aan. Eén begrensde ffprobe na iedere indexbatch bewaart container/streams/timing/resolutie/codecs/kleur/rotatie/hoofdstukken. Resultaatwrites bewaken claim, bronversie en delete-slot; finalisatie draagt doelmetadata naar het behouden bestand-id over. Scanlogs en `npx tsx scripts/report-video-metadata.ts --mount-id <id> --limit 20` tonen dekking en fouten. Het rapport is read-only. Alleen technische metadata van video's. Geen inhoudshashes, matching, fotoanalyse, renderwerk, nieuwe diensten of bronmutaties. De normale migratieroute is nodig; backfill gebeurt tijdens de volgende scan. Merge en productie-uitrol vallen buiten deze uitvoering. Validatie: 949 lokale tests, waarvan 948 geslaagd en één bestaande non-Linux-skip; typecheck, lint (alleen drie bestaande waarschuwingen) en productiebuild geslaagd. Nieuwe migratie werkelijk toegepast en een tweede keer idempotent uitgevoerd. 20 echte read-only Linux/NAS-probes; gecontroleerde read-only drie-scanproef met 2/0/1 probes en MEDIA_VIDEO_ENABLED=false; geen bronmutatie of renderwerk. Onafhankelijke GPT-6 Astra-eindcontrole: GO, 0 BLOCKER / 0 MAJOR / 0 MINOR, 30 eigen gerichte tests geslaagd. [Gebruik en overdracht](https://git.jp-visser.nl/janpeter/Media-Organizer/src/commit/5edb29fa04c441b8ca6b880a5d4fa7ecbccef0ce/docs/reviews/2026-09-22-videometadata/gebruik-en-overdracht.md) · [Verificatie](https://git.jp-visser.nl/janpeter/Media-Organizer/src/commit/5edb29fa04c441b8ca6b880a5d4fa7ecbccef0ce/docs/reviews/2026-09-22-videometadata/verificatie.md) · [Onafhankelijke review](https://git.jp-visser.nl/janpeter/Media-Organizer/src/commit/5edb29fa04c441b8ca6b880a5d4fa7ecbccef0ce/docs/reviews/2026-09-22-videometadata/onafhankelijke-review.md). De jobgebonden verify_task_against_plan-tool heeft bij deze interactieve uitvoering geen geclaimde plan_snapshot (job_id=null); de inhoudelijke plancontrole is uitgevoerd tegen de opgeslagen taken en immutable planrevisie, naast de onafhankelijke branchreview. Externe CI is volledig groen op 5edb29fa04c441b8ca6b880a5d4fa7ecbccef0ce: [run 187](https://git.jp-visser.nl/janpeter/Media-Organizer/actions/runs/187), alle vier jobs geslaagd (suite, historical-bootstrap, video-migration, docker-build).
docs(metadata): record independent review and final verification
All checks were successful
CI / test (historical-bootstrap) (pull_request) Successful in 1m6s
CI / test (video-migration) (pull_request) Successful in 1m4s
CI / test (suite) (pull_request) Successful in 2m58s
CI / docker-build (pull_request) Successful in 2m50s
5edb29fa04
s4m-codex-reviewer left a comment

APPROVED

Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.

Findings

  • Geen findings.

Review

De diff voegt de videometadata-verzameling additief toe: Prisma-schema en migratie behouden bestaande data, scans blijven read-only op bronmedia, metadata-probes lopen buiten DB-transacties en worden rond de probe opnieuw gevalideerd met bronfingerprint/realpath/stat. De scanner- en repository-aanpassingen volgen het bestaande claim-, stop-, delete-slot- en mount-identiteitspatroon. De rapportagescript gebruikt een read-only repeatable-read transactie en introduceert geen nieuwe publieke API/UI.

Tests en documentatie zijn uitgebreid aanwezig in de diff, inclusief parser/prober/collector/scanner- en rapporttests plus overdrachtsdocumentatie. Productdocs over de videometadata-aanpak en bestaande proxy/MD3-standaarden geven geen strijdigheid voor deze wijziging.

# APPROVED Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden. ## Findings - Geen findings. ## Review De diff voegt de videometadata-verzameling additief toe: Prisma-schema en migratie behouden bestaande data, scans blijven read-only op bronmedia, metadata-probes lopen buiten DB-transacties en worden rond de probe opnieuw gevalideerd met bronfingerprint/realpath/stat. De scanner- en repository-aanpassingen volgen het bestaande claim-, stop-, delete-slot- en mount-identiteitspatroon. De rapportagescript gebruikt een read-only repeatable-read transactie en introduceert geen nieuwe publieke API/UI. Tests en documentatie zijn uitgebreid aanwezig in de diff, inclusief parser/prober/collector/scanner- en rapporttests plus overdrachtsdocumentatie. Productdocs over de videometadata-aanpak en bestaande proxy/MD3-standaarden geven geen strijdigheid voor deze wijziging.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/Media-Organizer!89
No description provided.