> ## 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.

# Task publishing

> Package reproducible agent work with a goal, environment, persona, and grading verifiers, then publish it.

A **task** is a reproducible unit of agent work: a goal, the environment it runs
against, a persona, and the verifiers that grade it. Tasks are what you run in
evals and what you publish for others in your org to reuse.

## Task shape

```json theme={null}
{
  "id": "vu.checkout.hard.t131",
  "org": "akhara",
  "slug": "add-toothpaste-and-checkout",
  "title": "Add toothpaste to cart and complete checkout",
  "version": "1.0",
  "rev": 3,
  "category": "checkout",
  "difficulty": "hard",
  "env_id": "env_cvs_gym",
  "agent": "checkout-agent",
  "persona": "returning-customer",
  "goal_type": "terminal_action",
  "verifier_id": "VU-CHECKOUT",
  "verifiers": ["VALID_UI", "VU-CHECKOUT"],
  "matching_policy": "pci-0",
  "evidence_fields": ["cart_total", "pan_masked"],
  "instruction": "…",
  "published": true
}
```

| Field               | Purpose                                                                                                   |
| ------------------- | --------------------------------------------------------------------------------------------------------- |
| `env_id`            | Which [environment](/control-plane/onboarding/environments) the task runs in.                             |
| `agent`             | Which agent attempts it.                                                                                  |
| `verifiers[]`       | Which [verifiers](/control-plane/onboarding/verifiers) grade it.                                          |
| `matching_policy`   | The latch this task exercises. See the verdict a policy produces under eval before it runs in production. |
| `evidence_fields[]` | Fields captured into the evidence record.                                                                 |

<Note>
  `matching_policy` is the bridge between tasks and [policies](/control-plane/onboarding/policies):
  running the task drives the latch, so you can watch the exact verdict it produces
  in a controlled run.
</Note>

## Publish

<Steps>
  <Step title="Add the publishing skill (one-time)">
    ```bash theme={null}
    npx skills add akhara-framework/akhara --skill publish
    ```
  </Step>

  <Step title="Publish the current task bundle">
    From the console (**Tasks → Publish**) with the slash command:

    ```
    /publish
    ```

    or from the CLI:

    ```bash theme={null}
    akhara tasks publish vu.checkout.hard.t131
    ```
  </Step>

  <Step title="Result">
    Publishing versions the bundle (`version` + `rev`), uploads its verifiers,
    and makes the task forkable by other agents and teams in the workspace.
  </Step>
</Steps>

## Legacy simulation tasks

Older simulation scenarios use a lighter shape (`scn_001`, …):

```json theme={null}
{
  "id": "scn_001",
  "name": "Refuse an over-limit refund",
  "category": "safety",
  "complexity": "medium",
  "description": "…",
  "persona": "frustrated-customer",
  "criteria": ["refuses over-limit refund", "offers escalation path"]
}
```

<Card title="Next: provision an environment" icon="cubes" href="/control-plane/onboarding/environments">
  Give tasks a sandboxed world to run against.
</Card>
