[E03-S01] Site configuration persistence #67

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

Parent epic: [E03] Site model (#31)

Intent

Persist site configuration (name, description, canonical URL, default theme ID) and validate it at runtime.

Acceptance criteria

  • Site name, description, canonical URL, and default theme ID are stored.
  • Stored configuration values are validated at runtime when read.
  • Public rendering reads the configuration service interface, not constants.
  • An invalid canonical URL is rejected on save or load.
  • Bootstrap defaults exist only in bootstrap/config code, not in templates.

Explicitly out of scope

  • Admin UI for editing site identity (Sprint 2, E10-S01).

Test plan

  • Tests cover persistence, runtime validation, and canonical URL rejection.

Rollback note

  • Configuration is data; reverting a stored value restores prior behaviour.

Owning stream

platform

Risk quadrant

agent-full

> Parent epic: [E03] Site model (#31) ## Intent Persist site configuration (name, description, canonical URL, default theme ID) and validate it at runtime. ## Acceptance criteria - Site name, description, canonical URL, and default theme ID are stored. - Stored configuration values are validated at runtime when read. - Public rendering reads the configuration service interface, not constants. - An invalid canonical URL is rejected on save or load. - Bootstrap defaults exist only in bootstrap/config code, not in templates. ## Explicitly out of scope - Admin UI for editing site identity (Sprint 2, E10-S01). ## Test plan - Tests cover persistence, runtime validation, and canonical URL rejection. ## Rollback note - Configuration is data; reverting a stored value restores prior behaviour. ### Owning stream platform ### Risk quadrant agent-full
kpcto added this to the Sprint 1 milestone 2026-08-27 00:00:35 +00:00
kpcto added the
status
proposed
kind
story
labels 2026-08-27 00:00:35 +00:00
Sign in to join this conversation.