Feature: Connect and manage video accounts As a user I want to connect my YouTube or Vimeo account and have my subscriptions tracked So that Tapir watches the channels I already follow Scenario: Connect a YouTube account Given I have no connected video accounts When I connect my YouTube account Then the connection is stored with status "active" And my refresh token is stored only as a secret reference And my subscriptions are synced @pending # Vimeo connect is not built yet (provider label exists; no connect flow or test). Scenario: Connect a Vimeo account Given I have no connected video accounts When I connect my Vimeo account Then the connection is stored with status "active" And my subscriptions are synced Scenario: Connecting an account discovers videos immediately Given I have no connected video accounts When I connect my YouTube account Then a discovery pass for my account is triggered right away And I do not have to wait for the next scheduled pass to see my videos Scenario: Connecting summarizes my best recent videos right away Given I have no connected video accounts When I connect my YouTube account Then up to the onboarding cap of my newest likely-good videos are summarized through the rate gate And videos whose known duration is too short or too long are skipped And the rest are left to the scheduled recency-bounded pass Scenario: The onboarding burst summarizes with a stronger model Given I have no connected video accounts When I connect my YouTube account Then the burst summarizes with the stronger onboarding model first And the standard summarizer chain still follows as a fallback Scenario: Tokens are never stored in the clear When I connect any video account Then no OAuth token value is stored in the database And only an opaque secret reference is stored Scenario: Revoking a connection stops watching but keeps history Given I have a connected YouTube account with summaries When I revoke the connection Then the connection status becomes "revoked" And no new videos are watched for that connection And my existing summaries remain readable @pending # Per-provider BYO credential config is not built as a web flow yet (the summarizer # supports a fallback endpoint, but there is no user-facing BYO setup + its test). Scenario Outline: BYO AI credential is optional and per-provider When I configure a BYO provider "" Then the credential is stored only as a secret reference And it is used only as the fallback when local AI fails Examples: | provider | | anthropic | | openai | | gemini | # Stage 1 (Future B): connecting a new user's account requires no code change. # Isolation: a user can only ever see and manage their own connections.