Run manifest¶
A run manifest is a YAML mapping accepted by gptnt doctor, gptnt generate, and gptnt run.
Schema version 2 is the only accepted version. Unknown fields are rejected on the manifest, roster
entries, and anchors.
Complete example¶
runs/quickstart.yaml is the smallest checked-in manifest that exercises a two-player suite:
# A `run.yaml` manifest: the single, declarative source of truth for one run.
#
# It names the suite(s), how many rooms to play, and which players take part. Validate it
# (structure + config-name cross-checks) with:
#
# gptnt doctor runs/quickstart.yaml
#
# then generate its specs and run them:
#
# gptnt generate runs/quickstart.yaml
# gptnt run runs/quickstart.yaml
spec_version: 2
suites:
- single-pairwise-sync
rooms: 2
players:
- player: test-defuser
- player: test-expert
# Where the resume check reads completion from: `local` (on-disk outputs, needs no W&B) or `wandb`.
# W&B logging itself is driven by the ambient WANDB_* environment, not configured here.
source: local
observability: limited
Use Create a run manifest for the authoring procedure.
Field effects not conveyed by the schema¶
| Field | Effect |
|---|---|
rooms |
Number of KTANE game-service processes started for concurrent experiments. |
players |
Roster whose count values determine how many player-service processes are started. |
anchors |
Player configuration names used by with_best_* pairings. A used anchor must also resolve from the roster. |
observability |
full retains configured instrumentation, limited keeps Pydantic AI instrumentation with aggressive sampling, and off disables instrumentation. |
displays assigns room processes to X display numbers in round-robin order. None preserves the
ambient DISPLAY. source selects the local or W&B completion ledger used to filter completed
attempts. attempts_per_mission changes generation depth rather than suite identity.
Each suites entry accepts <name> for the latest frozen revision or <name>@<revision> for one
specific frozen revision. gptnt run rejects pre-generated specifications whose suite names and
revisions do not match these selectors.
Manifest fields¶
Roster entries¶
PlayerSpec
pydantic-model
¶
Bases: BaseModel
One player in a roster, with a player config, an optional provider override, and a count.
Anchors¶
Anchors
pydantic-model
¶
Completion source¶
Source
¶
Bases: StrEnum
Where to read experiment-completion truth from.
local (the default) reads the on-disk experiment outputs. wandb is a cross-machine
aggregator and requires WANDB_ENTITY/WANDB_PROJECT in the environment and the wandb extra
installed.