Skip to content

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

RunManifest pydantic-model

Bases: BaseModel

A complete, validated run.yaml manifest.

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

Bases: BaseModel

The reference players a run compares against (resolved to player names later).

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.

Attributes

local class-attribute instance-attribute

local = 'local'

wandb class-attribute instance-attribute

wandb = 'wandb'