# Manuals Tenant Recovery Runbook ## 1) Verify runtime env on active app Confirm these variables on the live Coolify app/container: - `NEXT_PUBLIC_CONVEX_URL` (full `https://...` URL) - `NEXT_PUBLIC_SITE_DOMAIN=rmv.abundancepartners.app` - Optional override: `MANUALS_TENANT_DOMAIN=rmv.abundancepartners.app` ## 2) Verify Convex tenant data gate Run: ```bash pnpm deploy:staging:convex-gate ``` This fails if Convex returns fewer than one manual for the active domain. ## 3) Backfill existing manuals rows for tenant visibility Dry run first: ```bash pnpm manuals:backfill:tenant -- --domain rmv.abundancepartners.app --dry-run ``` Apply: ```bash pnpm manuals:backfill:tenant -- --domain rmv.abundancepartners.app ``` ## 4) Re-run smoke checks ```bash pnpm deploy:staging:smoke -- --base-url https://rmv.abundancepartners.app --skip-browser ``` Manuals checks will fail if: - `/manuals` renders with `initialManuals: []` - tenant domain marker mismatches the host - degraded manuals state is shown