Sandbox
A sandbox is an isolated runtime containing one or more stateful environments. Its state and credentials do not cross into another sandbox. The API and CLI usesession for the sandbox lifecycle. sessionId is the
stable API identifier for that sandbox.
Stateful environment
A stateful environment represents one external service inside the sandbox. It keeps data across requests and exposes provider-shaped REST, MCP, or both. A Slack environment behaves like Slack within its documented surface. It is not flattened into a generic Archal record API.Starting state
Starting state is explicit JSON, or SQL for Supabase, loaded before the sandbox becomes ready. Every environment publishes five versioned samples. You can use one unchanged, inspect and edit it, or validate custom state. Archal does not ask an LLM to invent hidden state during provisioning.Baseline
The baseline is the state restored by reset. State loaded at creation becomes the first baseline. Replacing state later also replaces that reset baseline. State loading uses replacement semantics. Collections omitted from a JSON payload can be cleared, so review a diff before replacing shared work.Provider-shaped connection
When an environment is ready, Archal returns:apiBaseUrlfor provider-shaped REST callsmcpUrlwhen the environment supports MCP- a short-lived
credentials.headersmap scoped to that sandbox and environment
Explicit before snapshot
A diff compares current JSON state with an explicitbefore value held by the
caller. It does not silently compare against the reset baseline. Capture state
before the mutation when you need a trustworthy change report.
Sample
A sample is a versioned, hash-verified starting state. It also documents a first read, representative mutation, expected changed paths, reset expectation, and limitations. Sample validation does not prove complete upstream parity.Channel and availability
- Public is the standard GA channel.
- Preview means it is included for testing, but upstream coverage is incomplete.
archal environment list or GET /api/environments
is the source of truth for current availability.