System
Status & integrations
Where each integration stands right now. AI advisors run live when the key is present and fall back to deterministic mocks otherwise — nothing breaks if a key is missing.
AI advisors
Live
Anthropic key detected — every advisor calls Claude.
Supabase
Connected
Project URL + anon key set. Phase 1 will start writing here.
Build
production
Runtime mode reported by the Next.js server.
Environment keys
| Variable | Status | Fallback |
|---|---|---|
ANTHROPIC_API_KEY Anthropic API keyRequired for live AI Powers every AI advisor (cash, accounting, profitability, risk consult, website intel, structure workshop). | Detected verc…tion | Mock advisor responses are returned with seed-data hedging. |
NEXT_PUBLIC_SUPABASE_URL Supabase URL Tenant-scoped persistence — Phase 1 mirrors localStorage state into Postgres + RLS. | Detected http…e.co | Falls back to local state per browser. |
NEXT_PUBLIC_SUPABASE_ANON_KEY Supabase anon key Pairs with the URL above for client-side reads. | Detected sb_p…j15c | Falls back to local state per browser. |
Set keys in apps/web/.env.local and restart the dev server. The page reflects what the Next.js process can read on this request.
Local browser state
Reading local storage…
Phase 1 migration
Mirror localStorage → Supabase
One-time per-browser sweep. Reads every Holstead user-data + structure key, upserts into the corresponding Postgres tables. Idempotent — safe to re-run. Switches the platform from localStorage-backed to cloud-backed when the per-call swap lands.
What ships in Phase 1
- Auth via Supabase + RLS — every read is tenant-scoped. See /audit for the corresponding write trail.
- Mirror of localStorage scenarios + completion state into Postgres so switching browsers / devices keeps your work.
- Live key health check against the Anthropic and Supabase APIs (right now this page only verifies presence, not validity).