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

> ## Agent Instructions
> Company name is Akhara AI (never Rubric AI). Keep lowercase rubric/rubrics only when meaning grading criteria.
> Expert Review (docs path talent/) is enterprise BYO experts for audit and review: invite customer specialists; do not pitch Akhara recruiting or a public expert career portal. RLHF and domain writing are secondary work types.
> Prefer concrete API examples against public hosts: Environments eval API https://agi.akhara.ai, Control plane PDP https://api.akhara.dev, Evaluation https://app.akhara.ai / https://api.akhara.ai, Expert Review portal https://talent.akhara.ai.
> Do not invent a public hostname for private orchestrators or env API internals.
> Do not confuse control-plane latches with Environments confirmation latches.
> Environments SDK/API examples: curl against https://agi.akhara.ai. Evaluation SDK: from akhara import Akhara and AKHARA_API_KEY.
> Start with /llms.txt for the docs index and OpenAPI links; fetch individual pages as .md exports.

# Akhara Environments

> Environment-as-a-Service for evaluating agents on stateful mobile apps, shopping, retail, and more.

Akhara Environments is an **Environment-as-a-Service (EaaS)** platform. You point an agent at a hosted environment, run scored tasks, and get deterministic rewards plus full trajectories, without hosting emulators, backends, or verifiers yourself.

Each environment is a self-contained app + backend + task bank + scoring stack. Today that includes mobile shopping and pharmacy retail clones; the same platform serves every `env_id`.

Looking for runtime policy enforcement instead? See the [Control plane](/control-plane) product.

## What you get

| Surface                                             | Use it for                                                     |
| --------------------------------------------------- | -------------------------------------------------------------- |
| **Eval API** (`https://agi.akhara.ai`)              | Start scored evaluations, poll rewards, open free-play runs    |
| **Admin dashboard** (`https://admin-agi.akhara.ai`) | Browse runs, trajectories, screenshots                         |
| **Dashboard API**                                   | Trajectories, pass\@N, aggregate stats (same host as eval API) |
| **Sample pack**                                     | Offline ATIF trajectories + task definitions for inspection    |

## Environments

Select an environment with `env_id` on every evaluation:

| `env_id`             | Domain                                              |
| -------------------- | --------------------------------------------------- |
| `amazon_gym_android` | Mobile shopping (Android app + Room hybrid scoring) |
| `cvs_gym`            | Pharmacy retail (CVS-clone app + catalog)           |

Scoring is **deterministic** over session and device state, no LLM judge, no OCR matching on assistant prose.

## Platform features

| Feature                  | What it does                                                                                                                                                                                                                           |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Confirmation latches** | Sticky runtime gate: agents must emit `needs_confirmation` before irreversible actions, or score `CONFIRMATION_REQUIRED` even if the order/cart looks right. See [Confirmation latches](/environments/mechanics/confirmation-latches). |
| **Hybrid verifiers**     | Session VU + device DB truth for terminal `+1` / `0` / `-1`.                                                                                                                                                                           |
| **Seeded fixtures**      | Deterministic catalogs, stock masks, and user profiles per episode.                                                                                                                                                                    |

## Two ways to call an environment

<CardGroup cols={2}>
  <Card title="Managed evaluations" icon="play" href="/environments/api/evaluations">
    Point the platform at your agent endpoint. It runs tasks, drives the device, scores, and returns rewards.
  </Card>

  <Card title="Direct env loop" icon="terminal" href="/environments/api/env-api">
    Call `POST /v1/env/reset` and `POST /v1/env/step` yourself, full control over the episode loop (private network).
  </Card>
</CardGroup>

## Start here

<Steps>
  <Step title="Quickstart">
    [Run your first evaluation](/environments/quickstart) against a hosted environment.
  </Step>

  <Step title="Understand scoring">
    Read [task definitions](/environments/mechanics/task-definitions) and [verifiers](/environments/mechanics/verifiers).
  </Step>

  <Step title="Pull results">
    Learn how to [retrieve scores, trajectories, and stats](/environments/results/scores-and-stats).
  </Step>
</Steps>

<Tip>
  Prefer reading a finished rollout first? Open [Sample trajectories](/environments/results/sample-trajectories): includes a successful 12-step checkout (`vu.checkout.t098`).
</Tip>
