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

# Quickstart

> Install the runner and qualify the synthetic demo pack against the local fixture.

# Quickstart

This is the demonstration install for this checkout. An engineer with this
repository can run it without another file, account, or service. The live site
[etalon.sh/get-started](https://etalon.sh/get-started) still documents
`pip install etalon==0.0.2`, no clone, and a `pack init` that does not write
`mock_endpoint.py`. These pages match the website after this release, with
etalon-www#11. The fixture is a script, not model weights. `--model
etalon-demo-baseline` records decision `QUALIFIED`.

Python 3.11 or newer. Create a virtual environment and install this checkout:

```bash theme={null}
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
etalon --version
```

`etalon --version` prints `etalon 0.0.2`. PyPI `etalon==0.0.2` prints the same version and does not contain `mock_endpoint.py`. Install this checkout with `pip install -e .`, or build a wheel from this branch and install that file (`python3 -m build`, then `pip install dist/etalon-0.0.2-*.whl`). `etalon pack init --from demo` from that install writes the pack and `mock_endpoint.py` into `./demo-pack`.

```bash theme={null}
etalon pack init --from demo ./demo-pack
etalon pack validate ./demo-pack
```

In one terminal, start the fixture. It listens on `127.0.0.1` only and prints `listening on http://127.0.0.1:8000/v1`. Leave it running.

```bash theme={null}
python3 demo-pack/mock_endpoint.py --port 8000
```

In a second terminal, with the virtual environment active:

```bash theme={null}
etalon qualify \
  --endpoint http://127.0.0.1:8000/v1 \
  --pack ./demo-pack \
  --serving-config ./demo-pack/serving.yaml \
  --system-prompt ./demo-pack/system_prompt.txt \
  --model etalon-demo-baseline \
  --operator "Demo Operator" \
  --output ./evidence
```

`qualify` prints the run directory. Exit 0 means a bundle was written. The decision on this model is `QUALIFIED`. Replace `<run-id>` with the directory name it printed.

```bash theme={null}
etalon inspect ./evidence/<run-id>
etalon verify ./evidence/<run-id>
etalon report ./evidence/<run-id>
```

`verify` prints `bundle hashes match`. `report` prints the path to `report.html`. Open that file in a browser.

The demonstration pack is `etalon.demo.ticket-routing@0.1.1`. It classifies
synthetic tickets into incident, request, question, and complaint. It declares
no judge. A `QUALIFIED` result is evidence for that pack and the recorded
endpoint. It does not authorize use of the model without human review, and it
does not determine that a regulation, contract, or internal control has been
met.

`--model etalon-demo-quantized` records `NOT_QUALIFIED`. `--model
etalon-demo-error` records `INDETERMINATE` and `qualify` exits 2. The other
fixture model ids are in [Packs](/docs/packs).

The commercial contact-routing pack is a separate, private delivery. How the
demonstration pack differs from it, and how to build a customer test pack on
the public routing example, is in [Customer test packs](/docs/customer-test-packs)
and [Packs](/docs/packs).

Further operator steps (fingerprint check, container, interrupted captures)
are in [Getting started](/docs/getting-started).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.