All 22 current environments publish a versioned state contract and accept JSON.
Supabase also accepts guarded SQL, and its five canonical samples are SQL.
Validate without starting a sandbox
The response reports whether the payload matches the current environment
contract. Validation does not start usage or claim hosted behavior was verified.
Load during creation
Send initialState in POST /api/sessions. The sandbox becomes ready only
after every environment accepts its input. If one load fails, Archal cleans up
the whole new sandbox.
Read current state
The response includes the current state and its environment identity.
Replace state
JSON:
Supabase SQL:
State replacement overwrites current data. JSON environments treat a
successful load as the new reset baseline. The canonical Supabase samples
currently encode an expectation that reset restores the original session seed,
so verify that behavior before relying on a later SQL load as its baseline.
Diff against an explicit snapshot
The server returns before and after hashes, changed paths, counts, and
truncation metadata. It does not infer a hidden before state.
SQL safety boundary
Supabase SQL is for schema and synthetic fixtures. Archal rejects cluster and
database management, external data access, COPY, role or session
authorization changes, server-library loading, transaction control, and psql
meta-commands before the payload reaches the environment.
State replacement is destructive. Use synthetic data, capture current state when it matters, and
never upload production secrets or a raw production database snapshot.