Feature: Summarize new videos from subscribed channels As a user who follows more channels than I can watch I want new videos summarized into highlights and takeaways So that I can decide what deserves my full attention without watching everything Background: Given I have connected a video account And I am subscribed to the channel "Acme Talks" Scenario: A subscribed channel posts a video that has captions When "Acme Talks" posts a new video "Designing for Attention" with captions Then Tapir detects the new video And Tapir resolves a transcript with source "captions" And Tapir produces a summary with highlights and takeaways And the summary is delivered to my store Scenario: A subscribed channel posts a video with no usable transcript When "Acme Talks" posts a new video "Silent Montage" with no captions Then Tapir detects the new video And Tapir resolves no transcript And Tapir records the video as skipped with reason "no transcript" And no summary is produced Scenario: A channel I am not subscribed to posts a video Given I am not subscribed to the channel "Random Co" When "Random Co" posts a new video "Unrelated" Then Tapir does not process the video Scenario: The same video is not summarized twice Given "Acme Talks" posted a video "Designing for Attention" that was already summarized When the watcher sees "Designing for Attention" again Then Tapir does not produce a second summary for it Scenario: Re-analyzing a stored video does not re-fetch its transcript Given a transcript for "Designing for Attention" is already stored When the video is summarized again Then Tapir reads the stored transcript And Tapir does not fetch captions from YouTube # Captions-first is the core path (ADR-007). Audio-download + speech-to-text is # deferred and intentionally has no scenario here yet. # # Transcript persistence (ADR-021): the stored transcript is shared, keyed by # (provider, provider_video_id) and read before any caption fetch, so the # re-analysis scenario above also covers paste-a-URL and the onboarding burst — # both summarize through the same engine chokepoint.