Work within the dual-database backend (local SQLite + shared PostgreSQL) including migrations, shared route gating, and audit/RBAC expectations. Use when adding features that touch SQLite migrations, shared-migrations, requireSharedDb, installation setup, or dual-mode (solo/shared) planning.
Workspace Organizer uses two persistence layers:
docs/technical-overview.md (DB clients, gating, installation service)docs/database-schema.mddocs/architecture/dual-mode-implementation-plan.mddocs/architecture/dual-mode-implementation-guide.mdapps/api/src/db/migrations/apps/api/src/db/shared-migrations/ and run during installation/startup when configured.requireSharedDb returns 503 with NOT_CONFIGURED or SHARED_DB_UNAVAILABLE when needed.authMiddleware + RBAC (requirePermission).apps/api/src/db/migrations/.pnpm dev:api and confirm migrations apply cleanly.apps/api/src/db/shared-migrations/.installationService.configure() must run migrations successfully.installationService.initializeOnStartup() must tolerate missing config and report status.packages/shared if the UI consumes them.requireSharedDb at router levelauthMiddleware + RBAC at endpoint levelNOT_CONFIGURED: the shared DB connection string hasn’t been stored in local settings yet.SHARED_DB_UNAVAILABLE: config exists but connection is down or not initialized.packages/shared first and run pnpm typecheck to catch cross-app drift.