Proof LaneOverview
Browser client blockedNo tenant data

Environment

Supabase public boundary

Only public Supabase URL and the publishable key are read at runtime. No service-role key, private secret, or tenant data is exposed.

Environment
missing
Supabase host
missing
Publishable key
missing
Browser client
blocked
Missing public environment

NEXT_PUBLIC_ENV, NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY

Release Guard

What this shell proves

The shell exists to prove the secure surface before product modules are connected. Nothing here implies a feature is live.

localRoutes, public env, and signed-out admin protection.
pendingHosted redirects, SMTP, and hosted smoke.
lockedNo tenant modules, fake data, or admin actions in this pass.

Surface map

Proof shell routes

Each proof surface maps to a release boundary. Nothing in the shell pretends to be a buyer module.

Route status legend

Live = static route available; Staged = locally proven, hosted proof pending.

Overview/ — environment, release guard, design adapter.
live
Sign in/login — real Supabase email/password through the browser client; hosted proof pending.
staged
Admin gate/admin — server session read; redirects signed-out users to sign in; hosted proof pending.
staged
Auth callback/auth/callback — server auth-code exchange with safe relative redirects; hosted proof pending.
staged
Product modulesHQ home, requests, approvals, members. Out of scope for this proof pass.
deferred

Design Adapter

Token bridge

Shared visual primitives for the web/admin shell. These tokens keep the proof lane aligned with the future buyer-facing command surface without inviting decorative drift.

Canvas & surface

Canvasvar(--color-canvas)
Surfacevar(--color-surface)
Surface mutedvar(--color-surface-muted)
Surface insetvar(--color-surface-inset)

Command rail

Rail basevar(--color-rail)
Rail elevatedvar(--color-rail-elevated)
Rail textvar(--color-rail-text)

Text hierarchy

Primary textvar(--color-text)
Secondary textvar(--color-text-secondary)
Tertiary textvar(--color-text-tertiary)

Brand · cobalt

Brandvar(--color-brand)
Brand strongvar(--color-brand-strong)
Brand softvar(--color-brand-soft)

Semantic state

Successvar(--color-success)
Warningvar(--color-warning)
Dangervar(--color-danger)
Infovar(--color-info)