> ## Documentation Index
> Fetch the complete documentation index at: https://docs.archal.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Starting state

> Begin from a curated sample or validate explicit JSON or Supabase SQL.

Starting state defines the world your test sees before its first provider call.
Keep it explicit so a failed run can be reproduced exactly.

## Prefer a curated sample

Each environment has five versioned samples:

```bash theme={null}
archal sample list github
archal sample show github.small-project.v1
archal sample show github.small-project.v1 --raw > github-state.json
```

The CLI checks the artifact byte count and SHA-256 hash before printing raw
state. Every environment page explains the sample purpose, state size, first
read, representative mutation, expected diff, reset behavior, and limitations.

## Validate custom state

```bash theme={null}
archal state validate github github-state.json
archal state validate supabase schema-and-fixtures.sql
```

JSON is accepted by all 22 current environments. Supabase samples use guarded
SQL. Do not assume SQL is accepted elsewhere.

## Load during creation

```bash theme={null}
archal session create github \
  --state github=github-state.json
```

State loaded during creation becomes the reset baseline.

## Replace state later

```bash theme={null}
archal state load <session-id> github github-state.json
```

This replaces current state and establishes a new baseline. It can erase
existing records. Capture the current state and get explicit approval before
using it on any sandbox that is not newly created and disposable.

<Warning>
  Do not put production data, credentials, or personal information into a sample. State artifacts
  are test inputs and should remain safe to inspect, store, and reproduce.
</Warning>
