From 0b124a648bd3390ca8ac59f0485eacd2742f0d29 Mon Sep 17 00:00:00 2001 From: mathias Date: Tue, 2 Jun 2026 10:32:27 +0000 Subject: [PATCH] docs(bdd): add summarize-new-video feature Gherkin spec for the core use case: captioned video is summarized and delivered; no-transcript video is recorded as skipped; unsubscribed channels are ignored; already-summarized videos are not reprocessed. These scenarios seed the use-case test suite (Clean Architecture core tested through fake adapters). --- docs/use-cases/summarize_new_video.feature | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 docs/use-cases/summarize_new_video.feature diff --git a/docs/use-cases/summarize_new_video.feature b/docs/use-cases/summarize_new_video.feature new file mode 100644 index 0000000..1249dac --- /dev/null +++ b/docs/use-cases/summarize_new_video.feature @@ -0,0 +1,35 @@ +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 + + # Captions-first is the core path (ADR-007). Audio-download + speech-to-text is + # deferred and intentionally has no scenario here yet.