Bring the living docs current with the recency-bounded auto-summarize + sparse
honesty + feed IA bundle (ADR-020):
- requirements (BDD): summarize_mode.feature — auto now summarizes RECENT new
videos; added a scenario for older videos (listed, on-demand), recency note.
- architecture.md: summarization-mode + new list-surface paragraph; scheduler
diagram + two-path table + three-phase pass now show the recency pre-filter;
dropped stale "Summarize now".
- data-model.md: auto_summarize is recent-only, older on-demand.
- README.md: one-line recency note on the serve scheduler.
- ui-spec.md: appended the as-built ADR-020 row (supersedes earlier copy/sort).
- specs/{video-card-states,newest-first-ordering,scheduled-discovery}.md:
superseded/extended banners pointing at ADR-020 (kept as design records).
Docs-only; task check green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
45 lines
2.2 KiB
Gherkin
45 lines
2.2 KiB
Gherkin
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: Manual mode is the default and leaves new videos unsummarized
|
|
Given I have not changed my summarization mode
|
|
Then my 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.
|