# Reading copy: platform-claude

Links below are resolved against commit `c4a37e88bc627fbeabcd9aabb886a2b4b3d1a185`. Source wording is unchanged; Markdown formatting may differ. [Exact source bytes](../sources/platform-claude.md), SHA-256 `c7b542f7e4578bcf4856a852e16c5e0feb55f3dcd3cdd10e0e91a98038bb09d1`. [Source and link manifest](manifest.json). Repository links require access while the repository is private. From an authorized checkout, read the named repository paths at this commit.

---

# Your platform: Claude

Read this once, at stage A1, after AGENT.md. The method, the stage files, the tools and the checks are the same on both platforms; this file is where they differ. Generated by `aggregator/handler/claude/gen_platform.py` from `aggregator/handler/claude/arm.claude.json`; never edit it by hand.

## Models and routes

`CONTROL/arm.json` (a copy of `arm.claude.json`) sets each leg's model and effort; the harness launches you with them and checks the served model at every close. You never change model or route inside a session.

| stage | analyst         | effort | readers                      |
|-------|-----------------|--------|------------------------------|
| A1    | claude-opus-5-5 | medium |                              |
| B1    | claude-opus-5-5 | xhigh  |                              |
| B2    | claude-opus-5-5 | medium | @preset/cheap x3 via gateway |
| B3    | claude-opus-5-5 | medium | @preset/cheap x2 via gateway |
| B4    | claude-opus-5-5 | xhigh  | @preset/cheap x2 via gateway |
| C1    | claude-opus-5-5 | xhigh  |                              |
| C2    | claude-opus-5-5 | xhigh  | claude-opus-5-5 x1 via cli   |
| C3    | claude-opus-5-5 | xhigh  |                              |
| C4    | claude-opus-5-5 | xhigh  |                              |
| C5    | claude-opus-5-5 | xhigh  | claude-opus-5-5 x1 via cli   |
| D1    | claude-opus-5-5 | medium |                              |
| D2    | claude-opus-5-5 | medium | @preset/cheap x2 via gateway |
| D3    | claude-opus-5-5 | xhigh  |                              |
| D4    | claude-opus-5-5 | xhigh  |                              |
| D5    | claude-opus-5-5 | xhigh  |                              |
| D6    | claude-opus-5-5 | xhigh  |                              |
| E1    | claude-opus-5-5 | medium | @preset/cheap x1 via gateway |
| E2    | claude-opus-5-5 | xhigh  |                              |

- **The routine readers** (B2, B3, B4, D2's verdict fleet, E1's reconstruction readers) run on `@preset/cheap` through the gateway, the OpenRouter route the operator's `tools/fleet.py` sends packets on (`dispatch.sh`).
- **The reviewers** of C2 and C5 run on Opus through the Claude CLI on the subscription, each in a session of its own, sent by the same `fleet.py`.
- **The labelers** at D2 are GPT case leads in Codex on both platforms (`handoff/HANDLER.md`).

## Legs, closes and compaction

- The operator opens a leg with `harness/step.sh` and closes it with `harness/close.sh` after you stop. Each ordinary leg continues the last close's conversation, forked from its committed checkpoint, in the same folder; the startup packet orients that continuation.
- `done.sh` is your exit. The harness's `close.sh` then takes the snap of `out/`, asks the recall probe's questions in a fork of your session (your transcript is untouched), scores them and checkpoints the leg.
- Compaction is owned by the harness (`CLAUDE.md`): after one, it refuses work until you have re-read the head, the stage file and the diary.
- A pause comes from `pause.sh`, when the subscription week runs short or for any other reason.
