> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Pre-Migration Verification Checklist

> > Version: 1.0.0 > Last Updated: 2026-01-15

> **Version:** 1.0.0\
> **Last Updated:** 2026-01-15

This checklist covers manual verification steps that must be completed in the Supabase Dashboard, Vercel Dashboard, and GitHub before proceeding with the production migration.

***

## 1. Supabase Dashboard Verification

### 1.1 Project Settings

Go to: **Supabase Dashboard** → **Project** → **Settings**

* [ ] Project ID matches: `zkgxozahyczcnzpwhbbf`
* [ ] Project name is correct
* [ ] Region is appropriate for your users

### 1.2 Branching Configuration

Go to: **Supabase Dashboard** → **Branches** (or **Settings** → **Branching**)

* [ ] Branching is enabled for the project
* [ ] `staging` branch exists and shows status: `ACTIVE_HEALTHY`
* [ ] Branch is marked as "Persistent" (not auto-deleted)
* [ ] GitHub integration shows as "Connected"

### 1.3 API Keys Verification

Go to: **Supabase Dashboard** → **Settings** → **API**

**For Production (Main Project):**

* [ ] Note the `anon` public key (last 8 characters): `________`
* [ ] Note the `service_role` key (last 8 characters): `________`

**For Staging Branch:**

* [ ] Switch to staging branch in dashboard
* [ ] Note the `anon` public key (last 8 characters): `________`
* [ ] Note the `service_role` key (last 8 characters): `________`

**Verification:**

* [ ] Production anon key is DIFFERENT from staging anon key
* [ ] Both keys start with `eyJ` (valid JWT format)

### 1.4 Database Status

Go to: **Supabase Dashboard** → **Database** → **Tables**

**For Staging Branch:**

* [ ] Tables are visible in the schema viewer
* [ ] No unexpected data in `pf_organizations` (should be empty or seed data only)
* [ ] RLS policies are shown for tables

***

## 2. Vercel Dashboard Verification

### 2.1 Project Configuration

Go to: **Vercel Dashboard** → **Projects** → `cloud-migration-path`

* [ ] Project exists and is accessible
* [ ] Framework detected: `Vite`
* [ ] Node version: `24.x` or appropriate version

### 2.2 Environment Variables

Go to: **Vercel Dashboard** → **Settings** → **Environment Variables**

**Required Variables Present:**

| Variable                 | Production | Preview | Development |
| ------------------------ | ---------- | ------- | ----------- |
| `VITE_SUPABASE_URL`      | \[ ] ✓     | \[ ] ✓  | \[ ] ✓      |
| `VITE_SUPABASE_ANON_KEY` | \[ ] ✓     | \[ ] ✓  | \[ ] ✓      |
| `VITE_APP_ENV`           | \[ ] ✓     | \[ ] ✓  | \[ ] ✓      |

**Value Verification:**

* [ ] `VITE_SUPABASE_URL` = `https://zkgxozahyczcnzpwhbbf.supabase.co` (same for all)
* [ ] `VITE_SUPABASE_ANON_KEY` (Production) matches Supabase production anon key
* [ ] `VITE_SUPABASE_ANON_KEY` (Preview) matches Supabase staging anon key
* [ ] `VITE_APP_ENV` = `production` for Production scope
* [ ] `VITE_APP_ENV` = `staging` or `preview` for Preview scope

### 2.3 Deployments

Go to: **Vercel Dashboard** → **Deployments**

* [ ] Latest production deployment shows "Ready"
* [ ] No failed deployments in recent history
* [ ] Preview deployments work for feature branches

### 2.4 Domains

Go to: **Vercel Dashboard** → **Settings** → **Domains**

* [ ] Production domain configured (if applicable)
* [ ] Staging domain configured (if applicable)
* [ ] SSL certificates are valid

***

## 3. GitHub Verification

### 3.1 Repository Settings

Go to: **GitHub** → **Repository** → **Settings**

* [ ] Repository is private (if required)
* [ ] Default branch is `main`

### 3.2 Branch Protection

Go to: **GitHub** → **Settings** → **Branches**

**For `main` branch:**

* [ ] Branch protection rule exists
* [ ] "Require pull request reviews" is enabled (recommended)
* [ ] "Require status checks to pass" is enabled (recommended)
* [ ] Supabase preview check is in required checks (if using GitHub integration)

### 3.3 Branches

Go to: **GitHub** → **Branches**

* [ ] `main` branch exists
* [ ] `staging` branch exists
* [ ] Branches are in sync (no major divergence)

### 3.4 Integrations

Go to: **GitHub** → **Settings** → **Integrations** (or **Apps**)

* [ ] Supabase integration is installed (if using auto-branching)
* [ ] Vercel integration is installed
* [ ] Integrations have correct permissions

***

## 4. Local Development Verification

### 4.1 Supabase CLI

Run these commands locally:

```bash theme={null}
# Check CLI version
supabase --version
# Expected: 1.x.x or higher
```

* [ ] Supabase CLI is installed

```bash theme={null}
# Check project linking
supabase projects list
```

* [ ] Project `zkgxozahyczcnzpwhbbf` appears in list

```bash theme={null}
# Check migration status
supabase migration list
```

* [ ] Migrations show as applied (checkmarks)

### 4.2 Environment Files

* [ ] `.env.local` exists with correct values
* [ ] `.env.local` is in `.gitignore`
* [ ] No secrets committed to repository

### 4.3 Seed Files

```bash theme={null}
# Verify seed files exist
ls -la supabase/seeds/
```

* [ ] `supabase/seeds/base/` directory exists
* [ ] `supabase/seeds/modules/` directory exists
* [ ] Seed files have safety checks (grep for "Real data detected")

***

## 5. Quick Verification Commands

### SQL Commands (via Supabase MCP or Dashboard)

```sql theme={null}
-- 1. Check for seed data
SELECT COUNT(*) FROM pf_organizations WHERE id::text LIKE '00000000-%';
-- Expected: 0 (before seeding) or 2+ (after seeding staging)

-- 2. Check RLS is enabled
SELECT COUNT(*) FROM pg_tables WHERE schemaname = 'public' AND rowsecurity = true;
-- Expected: 400+ tables

-- 3. Check migration status
SELECT version, name FROM supabase_migrations.schema_migrations ORDER BY version DESC LIMIT 5;
-- Expected: Recent migrations visible
```

### CLI Commands

```bash theme={null}
# List branches (if using experimental branching CLI)
supabase --experimental branches list

# Check project status
supabase status
```

***

## 6. Final Sign-Off

### All Checks Complete

| Section               | Completed | Verified By | Date |
| --------------------- | --------- | ----------- | ---- |
| 1. Supabase Dashboard | \[ ]      |             |      |
| 2. Vercel Dashboard   | \[ ]      |             |      |
| 3. GitHub             | \[ ]      |             |      |
| 4. Local Development  | \[ ]      |             |      |
| 5. SQL Verification   | \[ ]      |             |      |

### Ready for Migration

* [ ] All sections above are checked
* [ ] Test plan (PRE\_MIGRATION\_TEST\_PLAN.md) tests have passed
* [ ] Team has been notified of migration timeline

**Approved By:** \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ **Date:** \_\_\_\_\_\_\_\_\_\_\_\_\_

***

## Related Documentation

* [Pre-Migration Test Plan](./PRE_MIGRATION_TEST_PLAN.md)
* [Vercel Integration Guide](../integrations/VERCEL_INTEGRATION.md)
* [Supabase MCP Usage](../development/MCP_USAGE.md)
* [Migration Completion Plan](../migration/COMPLETION_PLAN.md)
