ForgeLayer
Fail closed

No authenticated workspace

Authenticated workspace adapter is not active.

Workspace identity foundation

Controlled identity and persistence boundaries.

Inspect the private-beta workspace model, server-authorized roles, and feature flags that keep production persistence and action capabilities off until they are explicitly configured.

Trusted product boundary

Authenticated state is isolated from demo fixtures

The isolated adapter uses real user-context Supabase sessions when explicitly configured. The deterministic fixture remains separate and never claims database durability.
Selected architecture

Supabase Auth + Postgres RLS

Vendor code stays behind server-owned identity and persistence interfaces. Normal request paths do not use a service-role credential.

Isolated fixture

Acme Payment Controls

owner membership · 1 task record

Local isolated validation passed

RLS tests passed 61/61 locally

Supabase Auth
Validated locally
Session resolution
Validated locally
Workspace switching
Validated locally
Tenant isolation
Validated locally
Durability
Validated after new client and app restart
Ledger protection
Update and delete denied

Migrations 001-003 replayed and database lint passed against isolated localhost. No remote Supabase project was involved.

Hosted staging pending

No hosted project contacted

Hosted staging configuration is inactive. Validation requires the guarded non-production operator workflow and cannot be inferred from a hostname.

Production adapter inactive

Production activation blocked

Adapters
Inactive
Authentication
Unavailable
Persistence
Unavailable
Validation
Unavailable
Migration
Not applied

Production Auth and persistence adapters are inactive. Production validation remains unavailable.

Configuration status

Safe defaults remain in force

Environment values are evaluated on the server. Missing or malformed flags cannot activate a capability.
Disabled

Production persistence

Unavailable in the current private-beta workspace.

Disabled

Workspace authentication

Unavailable in the current private-beta workspace.

Disabled

Public self-service

Unavailable in the current private-beta workspace.

Disabled

Repository connections

Unavailable in the current private-beta workspace.

Disabled

GitHub read-only access

Unavailable in the current private-beta workspace.

Disabled

Agent connections

Unavailable in the current private-beta workspace.

Disabled

Agent execution

Unavailable in the current private-beta workspace.

Disabled

GitHub posting

Unavailable in the current private-beta workspace.

Disabled

Automatic merge

Unavailable in the current private-beta workspace.

Disabled

Billing

Unavailable in the current private-beta workspace.

Explicit demo boundary

Deterministic membership preview

No invitation is sent and no account is created from this page.
Pilot ownerdemo-user-owner
owneractive
Security reviewerdemo-user-reviewer
revieweractive
Observerdemo-user-viewer
vieweractive

Role matrix

Permissions come from active server membership

A submitted workspace ID or role is never authorization. Viewers cannot mutate records, and only owner/admin roles manage identity or settings.
RolePermissionsOwnershipExecution today
ownerview workspace, manage workspace, invite members, review work, approve work, manage policies, configure repositoriesOwner-controlledDisabled
adminview workspace, manage workspace, invite members, review work, approve work, manage policies, configure repositoriesNot allowedDisabled
memberview workspace, review workNot allowedDisabled
reviewerview workspace, review work, approve workNot allowedDisabled
operatorview workspace, review workNot allowedDisabled
viewerview workspaceNot allowedDisabled

Action boundaries

Persistence foundations without production side effects