Files
tapir/docs/use-cases/summarize_new_video.feature
T
mathiasandClaude Opus 4.8 821d5f99cd docs(bdd): scenario for transcript reuse — re-analysis never re-fetches
Capture the ADR-021 promise as a mapped BDD scenario: re-analyzing a
stored video reads the stored transcript and does not fetch captions.
Since paste-a-URL and the onboarding burst summarize through the same
engine chokepoint (resolveTranscript, store-first), this one scenario
covers their reuse path too — there is exactly one gated caption entry
point (youtube.FetchTranscript → WaitFetchGate) and one engine caller in
front of it, so the dedup is structural, not per-feature.

Mapped to TestProcessNewVideo_SecondSummarizeDoesNotRefetch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 23:37:54 +02:00

47 lines
2.2 KiB
Gherkin

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.