Feature: Choose how new videos get summarized
  As a user who wants control over compute and noise
  I want to pick whether new videos are summarized automatically or on demand
  So that I only spend summarization on the videos I actually care about

  Background:
    Given I am a registered user with a connected video account

  Scenario: Auto mode summarizes recent new videos automatically
    Given my summarization mode is "auto"
    When a subscribed channel posts a new video with captions within the recency window
    Then Tapir summarizes it without my asking
    And the summary appears in my list

  Scenario: Auto mode lists older videos without summarizing them
    Given my summarization mode is "auto"
    When discovery finds a video published before the recency window
    Then the video appears in my list with no summary
    And it is not summarized automatically
    And I can still summarize it on demand with "Summarize"

  Scenario: Automatic is the default for a new user
    Given I have just registered
    Then my summarization mode is "auto"

  Scenario: Manual mode leaves new videos unsummarized
    Given my summarization mode is "manual"
    When a subscribed channel posts a new video with captions
    Then the video appears in my list with no summary
    And nothing is summarized until I request it

  Scenario: Requesting a summary in manual mode queues it for the next run
    Given my summarization mode is "manual"
    And a new video is in my list with no summary
    When I click "Summarize" on that video
    Then the video is marked as requested
    And the next run summarizes it
    And the request flag is cleared after it is processed

  # auto_summarize is a per-user setting and summarize_requested is a per-video queue
  # flag (migration 006). The web button sets the flag; `tapir run` processes both the
  # auto videos and the manually queued ones, then clears the flag.
  #
  # Recency bound (ADR-020): in auto mode the scheduler only summarizes videos published
  # within TAPIR_AUTO_SUMMARIZE_WINDOW (default ~7d); older videos are discovered and
  # listed but wait for an explicit "Summarize" — so a back-catalogue does not re-drive
  # the per-IP caption gate (ADR-014) every cycle. A manual request bypasses the bound.
