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

# Sandbox

> Validate a file against your ingestion specs before promoting it to production.

The **sandbox** lets you test ingestion safely. You upload a file, Solya parses and
validates it without touching production data, and you review the findings before
deciding to **promote**.

## Two steps

<Steps>
  <Step title="Ingest (validate)">
    Upload a file. A **sandbox ingest run** parses it, matches an ingestion spec (or one
    you force), writes to temporary tables, and produces **findings**.
  </Step>

  <Step title="Promote (publish)">
    If the findings look good, a **sandbox promote run** copies the validated data into
    the silver layer for production use.
  </Step>
</Steps>

## Findings

Each finding has a **severity** — `error`, `warning`, or `info` — and a **stage** where it
arose (detect, parse, map, loader, strict scan, quarantine). Common finding codes include
coercion loss, extra fields, shape drift, loader exception, row validation, parse error,
and "no spec matched". The run keeps the top findings and full logs.

## Run statuses

Both ingest and promote runs move through `PENDING → RUNNING → SUCCESS / FAILED`.

<Note>
  A promote run can finish as **SUCCESS but aborted** — it ran cleanly yet declined to
  copy because the ingest had errors and you didn't allow promotion with errors. That's a
  safe refusal, not a failure. You can re-run allowing errors if you intend to proceed.
</Note>
