From aba4fb18ef8a542865e10a891081681352b64fcd Mon Sep 17 00:00:00 2001 From: Peter Stone Date: Wed, 11 Nov 2026 08:54:52 +0000 Subject: Shows have a category, not a tier Tier said "how important" and the shows needed "what kind". Seven ordered categories replace it: news, analysis, curiosity, sailing, true stories, fiction, deep dives. The order is still the server's processing priority, so one field carries both axes -- which is the idiosyncrasy docs/show-kinds.md is written to watch, with four signs that a better abstraction has arrived. All 42 known feeds are refiled by migration 20 -> 21, which rebuilds the subscriptions table rather than renaming the column: RENAME COLUMN keeps the old 'ordinary' DEFAULT and fails schema validation, and DROP COLUMN needs SQLite 3.35 against minSdk 29's 3.28. The wire value for true stories is "truestory", not "true", because SQLite reads an unquoted true in a DEFAULT as the boolean and stores 1. Schema 21 is a new exported JSON; migrate20To21RenamesTierAndRefilesTheKnownShows covers it, and all 22 device migration tests pass. The coverage exclusion for the settings composable follows the file's rename; left pointing at TierSettingKt it read as a 0.6% drop. The remaining 0.08% is the deletion of the covered tier-seeding code, taken as an exception. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_018AwnALZL6bD4VBtATDVv3B --- server/cmd/listend/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'server/cmd') diff --git a/server/cmd/listend/main.go b/server/cmd/listend/main.go index a165feb..79290c1 100644 --- a/server/cmd/listend/main.go +++ b/server/cmd/listend/main.go @@ -295,7 +295,7 @@ func (w *worker) save() { func (w *worker) pollAll(ctx context.Context) { // Topical shows first and archive last, so a five-hour back-catalogue episode cannot take // a cycle's recognition budget before the morning news has been looked at. - feeds := w.state.ByTier(w.state.Feeds()) + feeds := w.state.ByCategory(w.state.Feeds()) if len(feeds) == 0 { log.Printf("no subscriptions yet; waiting for the phone to send its list") return -- cgit v1.2.3