feat(runner): bound auto-summarize to a recency window
In automatic mode the scheduler now only summarizes videos published within TAPIR_AUTO_SUMMARIZE_WINDOW (default ~7d). Older videos are still discovered and listed — they keep the manual "Summarize" affordance — but are not auto-processed, so a large back-catalogue (the maintainer's ~256-deep queue) stops self-inflicting 429s against the per-IP caption gate each cycle (UX review B1, recency design). - runner.WithAutoWindow + Stats.SkippedTooOld; tooOld() treats a zero window as disabled and an undated video as never-aged-out (processed, not stranded). - An explicit manual request bypasses the bound even in auto mode (requested videos are loaded in auto mode when a window is active). - Wired through cmdRun, the scheduler's per-user runner, sumStats, and pass logging. config: TAPIR_AUTO_SUMMARIZE_WINDOW (default 168h), .env.example. - Account copy (A7) updated to match: "Automatic summarizes new videos from about the last week; older videos stay browsable — summarize on demand." The rate gate is untouched; the manual path still serialises through it. This bounds auto LOAD, it does not fetch harder. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -411,9 +411,10 @@ templ AccountPage(displayName, email string, conns []store.Connection, autoSumma
|
||||
<section>
|
||||
<h2>Summarization</h2>
|
||||
<p class="muted">
|
||||
Automatic summarizes every new video as it is discovered. Manual lets you
|
||||
pick which videos to summarize — new videos appear in your list with a
|
||||
Summarize button.
|
||||
Automatic summarizes new videos from about the last week as they are
|
||||
discovered. Older videos stay browsable — summarize them on demand.
|
||||
Manual lets you pick which videos to summarize — every new video appears
|
||||
in your list with a Summarize button.
|
||||
</p>
|
||||
@summarizeModeControl(autoSummarize)
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user