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.
