Files
tapir/internal/adapters/store/migrations/011_auto_summarize_default.up.sql
T
mathiasandClaude Opus 4.8 5d029a2823 feat(store): default auto_summarize ON for new users (ADR-018)
Migration 011 flips the auto_summarize column default to TRUE and brings
existing rows (maintainer + current registrations) along. Onboarded friends
now get zero-friction discovery: scheduled discovery (ADR-018) both discovers
AND summarizes new videos, so a user's list fills and summarizes itself
instead of presenting an empty list of manual Summarize buttons.

Safe only because the process-wide caption-fetch rate gate (ADR-014 item 2,
prior commit) now exists — auto + scheduled + multi-user would otherwise
self-inflict 429s every cycle. The down migration reverts the default but
intentionally leaves existing rows as-is (no surprise manual regression on
rollback). RegisterUser already lets the column default drive the value, so
no app change is needed; the account-page manual toggle still works.

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

18 lines
1.1 KiB
SQL

-- Migration 011: flip auto_summarize default to TRUE (ADR-018, Future-B).
--
-- Scheduled discovery (ADR-018) makes Tapir watch unprompted. For onboarded
-- friends that only delivers zero-friction value if the list also SUMMARIZES
-- itself — a manual default would mean the scheduler discovers videos a user
-- still has to click through one by one, which is the empty-list problem again.
-- So new users default to AUTO. The account-page toggle still lets a user switch
-- to manual (SetAutoSummarize), so this only changes the out-of-the-box state.
--
-- Safe only because the process-wide caption-fetch rate gate (ADR-014 item 2)
-- now exists: auto + scheduled + multi-user would otherwise self-inflict 429s
-- every cycle. The gate is the precondition for shipping this default.
ALTER TABLE users ALTER COLUMN auto_summarize SET DEFAULT TRUE;
-- Bring existing rows (maintainer + any current registrations) onto the new
-- default so they benefit immediately, not just users created after this point.
UPDATE users SET auto_summarize = TRUE WHERE auto_summarize = FALSE;