duration_s backfills lazily — existing rows stay NULL until re-discovered (ADR-028) #13

Open
opened 2026-06-11 17:56:06 +00:00 by mathias · 0 comments
Owner

ADR-028 started persisting videos.duration_s (previously fetched-then-discarded by the ADR-023 filter). New rows get it on discovery; existing rows stay NULL until their next discovery pass re-upserts them (the channel_title backfill stance, migration 014).

Consequence: the burst's length-aware selection (OnboardBurstVideoIDs) and any future length-aware feature (feed sort, "long read" badge) degrade-open to "unknown" for the back-catalogue until it churns through discovery. At pilot scale the two existing users' ~750 rows are all NULL today.

This is recorded as deliberate in ADR-028 (lazy is fine for a connect-time burst, which only fires for new users whose discovery runs first). File is to decide later, not now:

  • Accept lazy backfill (close), OR
  • One-time backfill: a maintenance pass that enriches existing rows via batched videos.list (50 ids/call, 1 quota unit — cheap, not the timedtext throttle).

Source: ADR-028, docs/specs/onboarding-wow-burst.md §1.

ADR-028 started persisting `videos.duration_s` (previously fetched-then-discarded by the ADR-023 filter). New rows get it on discovery; **existing rows stay NULL until their next discovery pass re-upserts them** (the channel_title backfill stance, migration 014). Consequence: the burst's length-aware selection (`OnboardBurstVideoIDs`) and any future length-aware feature (feed sort, "long read" badge) degrade-open to "unknown" for the back-catalogue until it churns through discovery. At pilot scale the two existing users' ~750 rows are all NULL today. This is **recorded as deliberate** in ADR-028 (lazy is fine for a connect-time burst, which only fires for *new* users whose discovery runs first). File is to decide later, not now: - [ ] Accept lazy backfill (close), OR - [ ] One-time backfill: a maintenance pass that enriches existing rows via batched `videos.list` (50 ids/call, 1 quota unit — cheap, not the timedtext throttle). Source: ADR-028, `docs/specs/onboarding-wow-burst.md` §1.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mathias/tapir#13