Skip to content

feat(reflection): add secular readings with a Settings toggle - #8

Open
kazo0 wants to merge 1 commit into
masterfrom
dev/sb/secular
Open

feat(reflection): add secular readings with a Settings toggle#8
kazo0 wants to merge 1 commit into
masterfrom
dev/sb/secular

Conversation

@kazo0

@kazo0 kazo0 commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Ship a full year of secular daily readings alongside the A.A. text, scraped from the Beyond Belief EPUB (Joe C., Rebellion Dogs Publishing), and let the reader switch between the two sets from Settings.

The readings go into the existing DailyReflections table behind a new IsSecular column, so DateLookup widens to UNIQUE(Month, Day, IsSecular) and both sets can share a date. GetReflection falls back to the A.A. reading when a secular row is missing, and each set now carries its own copyright line — a secular reading must not claim the A.A. attribution.

The reflection feed combines the date state with SettingsModel.SecularReadings (feed composition, matching SobrietyTimeModel) so flipping the toggle reloads the current day.

Replace the extracted database in LocalApplicationData whenever its size differs from the embedded resource. The version-gated RefreshDatabaseFile only fires for upgrades from below its thresholds, which no longer matches any shipping install, so an existing install would otherwise keep querying a schema that has no IsSecular column and fail every read.

Also closes an unterminated YearVisible attribute in DailyReflectionPage.xaml that broke the app head build.

Claude-Session: https://claude.ai/code/session_01VBHcfMrn7fcyttfmZkAkJV

Ship a full year of secular daily readings alongside the A.A. text, scraped
from the Beyond Belief EPUB (Joe C., Rebellion Dogs Publishing), and let the
reader switch between the two sets from Settings.

The readings go into the existing DailyReflections table behind a new
IsSecular column, so DateLookup widens to UNIQUE(Month, Day, IsSecular) and
both sets can share a date. GetReflection falls back to the A.A. reading when
a secular row is missing, and each set now carries its own copyright line —
a secular reading must not claim the A.A. attribution.

The reflection feed combines the date state with SettingsModel.SecularReadings
(feed composition, matching SobrietyTimeModel) so flipping the toggle reloads
the current day.

Replace the extracted database in LocalApplicationData whenever its size
differs from the embedded resource. The version-gated RefreshDatabaseFile only
fires for upgrades from below its thresholds, which no longer matches any
shipping install, so an existing install would otherwise keep querying a
schema that has no IsSecular column and fail every read.

Also closes an unterminated YearVisible attribute in DailyReflectionPage.xaml
that broke the app head build.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VBHcfMrn7fcyttfmZkAkJV
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant