Suites, revisions, and comparability¶
A result is comparable only when the inputs that define the measurement agree. The GPTNT package version alone does not establish that agreement.
Suite identity¶
A suite revision is selected by its name@revision, such as multi-self-sync@2. The revision is
the human-managed boundary for comparable results. Increase it whenever measured content changes.
suite_digest identifies the measured content for one materialised suite: mission bodies,
manual_profile, manual_rule_seed, role protocols, matchup, and modalities. It excludes the
suite name, revision, configuration path, and freeze provenance. The lock version defines both the
TOML layout and this digest recipe.
flowchart LR
C["Suite configuration"] --> F["suite freeze"]
M["Materialised mission bodies"] --> F
F --> R["suite registry: suites.lock"]
R --> S["Frozen suite revision\nname@revision + suite_digest"]
S --> E["Experiment specification"]
E --> X["Comparable result identity"]
P["Player capabilities and fingerprint"] --> X
B["Release tag, commit, and protected state"] --> X
gptnt suite freeze records each frozen suite revision in configs/suites/suites.lock. It rejects
measured content whose digest differs at an existing name and revision. Generation reads the frozen
entry rather than the current suite YAML and copies its revision and digest into every
specification.
The suite's modality set participates in suite_digest. Current v2 execution does not enforce
that set against player capabilities, so successful scheduling does not prove modality
compatibility.
Player and protocol identity¶
Specifications store player names and role protocols. Runtime records add the resolved
PlayerCapabilities for each role. Submission groups a Defuser by the capability fingerprint, not
only by its display name. The same model name with different reasoning, output, coordinate, image,
or usage-limit capabilities belongs to a different group.
The experiment fingerprint identifies a frozen mission, suite, manual profile, and role protocols. It excludes the attempt number and player names. Those excluded values still matter when deciding which execution and attribution a row represents.
Manuals, missions, and datasets¶
The suite registry stores each materialised mission body once by content digest. A frozen suite
revision refers to a body by digest and retains its readable mission_key. An interactive bundle
contains a bundle suite snapshot: one frozen suite revision and exactly the mission bodies it
references.
The manual profile is also copied into each specification and result. Manual preparation and source provenance are explained in Manuals.
Static identity uses the task name, Hugging Face repository and split, requested revision, and resolved commit. Only the resolved commit pins a dataset. An unavailable commit is recorded as unpinned and produces a validation warning.
Benchmark provenance and submission validation¶
Every recorded output includes the installed GPTNT version, exact annotated release tag, release
commit, release protected-content digest, checkout protected-content digest, and
protected_content_modified state. The digest covers protected source, prompts, base
configuration, and manual inputs. It is independent of Git branch names, HEAD being exactly at
the tag, the index, ignore rules, and permitted runner inputs such as player, suite, mission, and
run files.
The release tag selects the baseline commit. Both digests must be equal for submission, and
protected_content_modified must equal their comparison. This permits commits after the release
and local changes outside the protected paths without treating the benchmark as changed. The
installed GPTNT version remains descriptive; validation does not require the validator's installed
version to equal it.
Submission schema 4 binds these fields to protected-content digest policy v1. Its root set, exclusions, path encoding, content normalization, and serialization remain fixed so a later validator can recompute a schema 4 release digest. The policy normalizes CRLF in UTF-8 files, preserves other file bytes, and excludes executable bits because checkout modes differ across operating systems. A future policy change requires a separate versioned policy and submission-schema transition. It must not alter v1.
Local gptnt submission validate checks that a bundle is internally consistent. Submissions CI
can recompute protected content from the bundle's declared release and compare it with the recorded
release digest. It then requires an exact release-lock match: the bundle suite snapshot must equal
the matching snapshot in that release's suite registry. A changed digest or changed freeze
provenance fails this check. Rebuild the bundle from the declared release. Do not edit suite.lock.
Every frozen suite revision in a verified published GPTNT release is eligible for leaderboard submission. There is no separate acceptance catalog.
Match the complete identity
Compare suite name, revision, suite digest, mission snapshot, role protocols, player capabilities, manual profile, release provenance, and any static dataset commit. Matching only a version, suite name, or model label can combine different measurements.
The current submission workflow requires multi-self-async and multi-self-sync. Static targets
are optional and retain their own dataset identity.