[E17-S03] Owner theme policy #125

Open
opened 2026-08-27 00:03:45 +00:00 by kpcto · 0 comments
Owner

Parent epic: [E17] Generic visitor preferences (#45)

Intent

Let the site owner decide whether anonymous visitors may select a theme, and which installed themes are selectable, defaulting to disabled.

Acceptance criteria

  • allowVisitorThemeSelection is stored and defaults to false.
  • visitorSelectableThemeIds whitelists the selectable themes.
  • When selection is disabled, resolution returns the site default.

Explicitly out of scope

  • The generic preference service API (that is E17-S02).
  • The client-side theme selector island (that is E18-S01).
  • The preference mutation endpoint validation (that is E18-S02).

Test plan

  • Assert the default value is false on a fresh configuration.
  • Assert whitelisted ids constrain which themes are selectable.
  • Assert a disabled policy resolves to the site default theme.

Rollback note

  • Configuration-only change; revert settings and commit. No migration.

Owning stream

platform

Risk quadrant

agent-full

> Parent epic: [E17] Generic visitor preferences (#45) ## Intent Let the site owner decide whether anonymous visitors may select a theme, and which installed themes are selectable, defaulting to disabled. ## Acceptance criteria - allowVisitorThemeSelection is stored and defaults to false. - visitorSelectableThemeIds whitelists the selectable themes. - When selection is disabled, resolution returns the site default. ## Explicitly out of scope - The generic preference service API (that is E17-S02). - The client-side theme selector island (that is E18-S01). - The preference mutation endpoint validation (that is E18-S02). ## Test plan - Assert the default value is false on a fresh configuration. - Assert whitelisted ids constrain which themes are selectable. - Assert a disabled policy resolves to the site default theme. ## Rollback note - Configuration-only change; revert settings and commit. No migration. ### Owning stream platform ### Risk quadrant agent-full
kpcto added this to the Sprint 5 milestone 2026-08-27 00:03:45 +00:00
kpcto added the
kind
story
status
proposed
labels 2026-08-27 00:03:45 +00:00
Sign in to join this conversation.