Repository source: docs/plans/archive/site_profile_instance_state_decoupling_step1_solution_assessment.md
Site Profile and Instance State Decoupling: Step 1 Solution Assessment
Problem statement
Selecting the Chouse site profile currently switches local repositories, approval state, and read-model databases even though presentation choices should not determine an instance's canonical data.
Option A — Share all default state
Pros
Makes site profile selection purely presentational.
Gives every local theme the same identities, approvals, posts, database, and generated artifacts.
Requires the fewest configuration concepts.
Cons
Theme-dependent generated HTML may be stale after changing profiles unless it is rebuilt.
Developers wanting isolated local instances must provide explicit paths.
Option B — Share data, separate presentation cache
Pros
Gives one canonical repository and one read-model database per instance.
Keeps identities, approvals, and content stable when presentation changes.
Prevents generated HTML for one site profile from being reused under another profile.
Preserves explicit paths for genuinely separate instances.
Cons
Retains separate derived static-cache locations.
Requires clear documentation that static caches are disposable presentation artifacts, not instance data.
Option C — Require explicit instance paths
Pros
Makes instance boundaries fully explicit and difficult to confuse with themes.
Avoids implicit path selection in production-like environments.
Cons
Adds setup friction for ordinary local development.
Requires more environment configuration and creates more opportunities for incomplete startup commands.
Recommendation
Choose Option B: use one canonical repository and read-model database per instance regardless of site profile, while allowing profile-specific static caches. Treat the existing default repository as authoritative, preserve the small Chouse sandbox as a recoverable backup, and do not merge its duplicate identity/bootstrap records.