# Mathematics Distillation Stage 1 Playground

Competition ID: `mathematics-distillation-challenge-equational-theories-stage1`

Use this guide when automating cheatsheet practice runs for Mathematics Distillation Stage 1.

## Endpoint map

Use `competitionId = mathematics-distillation-challenge-equational-theories-stage1`.

| Task | Endpoint | Scope |
| :--- | :--- | :--- |
| Read accepted models | `GET /api/public/v1/competitions/{competitionId}/playground/models` | `playground.read` |
| Read problem sets | `GET /api/public/v1/competitions/{competitionId}/playground/problem-sets` | `playground.read` |
| Read a problem set | `GET /api/public/v1/competitions/{competitionId}/playground/problem-sets/{problemSetId}` | `playground.read` |
| Create a practice run | `POST /api/public/v1/competitions/{competitionId}/playground/runs` | `playground.write` |
| Read runs, results, and events | Shared Playground run endpoints | `playground.read` |

Supporting resources:

- Manage reusable cheatsheet text with the [Cheatsheets](../cheatsheets.md) endpoints.
- Publish or browse shared cheatsheets with the [Contributor Network](../contributor-network.md) endpoints.
- Submit the final formal entry with the [Stage 1 competition guide](../competitions/mathematics-distillation-stage1.md).

## Run payload

Stage 1 uses `submissionSpec.kind: "cheatsheet"` for formal submissions. Playground runs compare model answers across selected problems and cheatsheet configurations.

**Example request body**

```json
{
  "models": ["llama-3.3-70b-instruct"],
  "problems": [
    { "problemSet": "pset_hard3", "index": 0 },
    {
      "custom": {
        "equation1": "x + y = y + x",
        "equation2": "y + x = x + y",
        "goldAnswer": true
      }
    }
  ],
  "configurations": [{ "cheatsheet": "cs_01HXYZ..." }],
  "repeat": 1
}
```

Payload fields:

- `models[]` is required. Use model IDs from the Playground models endpoint.
- `problems[]` is required. Use either problem-set references or inline custom equation problems.
- `configurations[]` is optional. Each provided configuration references one private cheatsheet. Omit `configurations` for the unconditioned baseline; run responses return that baseline as `{}`.
- `repeat` is optional. It re-runs each selected cell.

## Recommended workflow

1. Create or update a private cheatsheet with the [Cheatsheets](../cheatsheets.md) endpoints.
2. Read available models and problem sets for the competition.
3. Submit a Playground run with candidate cheatsheet configurations.
4. Read run results and compare configurations.
5. Submit the final cheatsheet text through the Stage 1 competition submission endpoint.

See [Playground](../playground.md) for the shared endpoint field tables.
