{
  "schema": "s2s-bench-v1",
  "exhibit": "chair-trials",
  "published_utc": "2026-08-13",
  "status": "PUBLISHED — live at research.strata2signal.com.",
  "licence": "CC BY 4.0",
  "attribution": "strata→signal research, research.strata2signal.com",
  "hardware": "One 96G VRAM workstation, which also answered live requests for three of our apps throughout these trials — two public, one serving playtests for humans and agents alike. Contention is measured in both directions and published with the figures rather than assumed away.",
  "dataset": "chair-trials-provenance",
  "what_this_is": "What was pinned before it could be scored. Each leg's pre-registration was committed and hashed BEFORE that leg's first scored call, and each golden set was frozen before the run that used it. Artifact names only — never a path, never a host.",
  "rule": "A pre-registration that can be edited after the numbers arrive is not a pre-registration. These hashes are what makes the claim checkable: hold the file, hash it, compare. But a hash proves IDENTITY, not TIME — it says what a file contains, never when it started containing it. So every leg here carries TWO: the sha in force at that leg's first scored call, and the sha as published. Where they differ, the amendment is on the row. Hashing the files we ship reproduces the second column; the first is the one that makes the first column mean something.",
  "amendment_log": {
    "summary": "The nine files are five leg registrations for this bench, the two addenda, the panel extension and the gauntlet. Seven of them are byte-identical to what they were when the numbers arrived. The other two were appended to after their leg's first scored call, three times between them, and both say so above the appended line. No case, arm, tier, item, metric, floor, ceiling or counting rule moved in any of the three: they are harness defects, their fixes, a completion run and a scheduling gate.",
    "entries": [
      {
        "artifact": "PREREG-C5.md",
        "amended_at": "2026-08-12T15:19-06:00",
        "after_first_scored_call": true,
        "kind": "appended note — harness defects and the completion run",
        "what": "A POST-HOC NOTE, appended below an untouched pre-registration and saying so in its first line: three harness defects found in the banked artifacts (one summary path overwritten per model, a release/load-gate race that cost two arms their timed calls, and their fixes) plus the completion run that recovers the lost cells. It changes no case, arm, tier, metric, floor or ceiling."
      },
      {
        "artifact": "PREREG-C5.md",
        "amended_at": "2026-08-12T19:52-06:00",
        "after_first_scored_call": true,
        "kind": "appended note — scheduling gate",
        "what": "A HARNESS NOTE: the journal STOP check now floors its window at the current daemon's own start, so a line from a previous daemon lifetime cannot stand the bench down; and a test-isolation defect that let offline tests assert against the live daemon. Scheduling and test wiring only — no counting rule, no metric, no outcome state."
      },
      {
        "artifact": "PREREG-C6-drip.md",
        "amended_at": "2026-08-12T19:52-06:00",
        "after_first_scored_call": true,
        "kind": "appended note — the same test-isolation fix, cross-referenced",
        "what": "One paragraph pointing at the C5 note for the shared harness fix. Its own closing sentence: nothing in this leg's protocol, ask budget or counting rules moves."
      }
    ],
    "how_to_check": "Every sha in this file is over bytes in this kit or in the trials repository. The `sha_at_first_scored_call` column is the file as of the last commit at or before the `first_scored_call` timestamp beside it, and that timestamp is read off the leg's own run record — the first banked call, the run manifest's own start, or the probe's own clock."
  },
  "preregistrations": [
    {
      "role": "chair one — the judge",
      "artifact": "PREREG-C1.md",
      "sha_at_first_scored_call": "423ed9609b8b475555fb9ae8b0f9125ccde112764195f0fa7dfa120f2b635529",
      "sha_at_publication": "423ed9609b8b475555fb9ae8b0f9125ccde112764195f0fa7dfa120f2b635529",
      "first_scored_call": "2026-08-12T12:59:12-06:00",
      "committed_before_first_scored_call": true,
      "unchanged_since_first_scored_call": true
    },
    {
      "role": "chair two — the assistant",
      "artifact": "PREREG-C2.md",
      "sha_at_first_scored_call": "5445775d0024b6bc165ff965fd06ba25b13457ef2b6c7bc2faaeb71621d19e0c",
      "sha_at_publication": "5445775d0024b6bc165ff965fd06ba25b13457ef2b6c7bc2faaeb71621d19e0c",
      "first_scored_call": "2026-08-12T13:29:54-06:00",
      "committed_before_first_scored_call": true,
      "unchanged_since_first_scored_call": true
    },
    {
      "role": "chair three — the toolbench",
      "artifact": "PREREG-C3.md",
      "sha_at_first_scored_call": "f16568fd8e98faf07855f6e1622a211265b57cca7a55b761a6347532ef39d3b0",
      "sha_at_publication": "f16568fd8e98faf07855f6e1622a211265b57cca7a55b761a6347532ef39d3b0",
      "first_scored_call": "2026-08-12T15:58:56-06:00",
      "committed_before_first_scored_call": true,
      "unchanged_since_first_scored_call": true
    },
    {
      "role": "chair four — the narrator",
      "artifact": "PREREG-C4.md",
      "sha_at_first_scored_call": "5562486de5eabd451a4f0b5023c46ba0cc3ffd11756939bb019b99e0ddd179cd",
      "sha_at_publication": "5562486de5eabd451a4f0b5023c46ba0cc3ffd11756939bb019b99e0ddd179cd",
      "first_scored_call": "2026-08-12T12:09:35-06:00",
      "committed_before_first_scored_call": true,
      "unchanged_since_first_scored_call": true
    },
    {
      "role": "chair five — the stopwatch",
      "artifact": "PREREG-C5.md",
      "sha_at_first_scored_call": "61e539c74a69edcaceb6df4d27092be49a35c465288bdc674ae349f7539d6350",
      "sha_at_publication": "03e81d54f855b15f4a8a68bc3fff013e00dd0997c7cd621f61e7dc10a67bee45",
      "first_scored_call": "2026-08-12T12:40:31-06:00",
      "committed_before_first_scored_call": true,
      "unchanged_since_first_scored_call": false,
      "amendments": [
        {
          "amended_at": "2026-08-12T15:19-06:00",
          "after_first_scored_call": true,
          "kind": "appended note — harness defects and the completion run",
          "what": "A POST-HOC NOTE, appended below an untouched pre-registration and saying so in its first line: three harness defects found in the banked artifacts (one summary path overwritten per model, a release/load-gate race that cost two arms their timed calls, and their fixes) plus the completion run that recovers the lost cells. It changes no case, arm, tier, metric, floor or ceiling."
        },
        {
          "amended_at": "2026-08-12T19:52-06:00",
          "after_first_scored_call": true,
          "kind": "appended note — scheduling gate",
          "what": "A HARNESS NOTE: the journal STOP check now floors its window at the current daemon's own start, so a line from a previous daemon lifetime cannot stand the bench down; and a test-isolation defect that let offline tests assert against the live daemon. Scheduling and test wiring only — no counting rule, no metric, no outcome state."
        }
      ]
    },
    {
      "role": "the serving probes",
      "artifact": "PREREG-C6-drip.md",
      "sha_at_first_scored_call": "12fef9b515eb8cf51bcdd8cc448cf26fd4cd535e0133d3140619c70c0af92823",
      "sha_at_publication": "37fe582063a59cf62a216377e3a76f98f48d24181fce0b186410bb2da7280af0",
      "first_scored_call": "2026-08-12T18:21:55-06:00",
      "committed_before_first_scored_call": true,
      "unchanged_since_first_scored_call": false,
      "amendments": [
        {
          "amended_at": "2026-08-12T19:52-06:00",
          "after_first_scored_call": true,
          "kind": "appended note — the same test-isolation fix, cross-referenced",
          "what": "One paragraph pointing at the C5 note for the shared harness fix. Its own closing sentence: nothing in this leg's protocol, ask budget or counting rules moves."
        }
      ]
    },
    {
      "role": "the residency census",
      "artifact": "PREREG-C7-census.md",
      "sha_at_first_scored_call": "3ea13e0676300032c6ca31849c84eace65108e74b1f11be3b49ed6123350afc0",
      "sha_at_publication": "3ea13e0676300032c6ca31849c84eace65108e74b1f11be3b49ed6123350afc0",
      "first_scored_call": "2026-08-12T18:19:05-06:00",
      "committed_before_first_scored_call": true,
      "unchanged_since_first_scored_call": true
    },
    {
      "role": "the index of all of the above, with its own re-pin history",
      "artifact": "PREREG-INDEX.md",
      "sha256": "8a56bde525f92b2d8c8097c5942f870e389c9b3c6a237f4db77e21a7dc19990b"
    },
    {
      "role": "the population reconciliation checklist",
      "artifact": "RECONCILIATION-CHECKLIST.md",
      "sha256": "a2768ee8d645960918fa20a4e31db2afbd9f0ca951e1240d70de8a59044ca7d8"
    }
  ],
  "golden_sets": [
    {
      "role": "the twenty-one judge cases",
      "artifact": "judge-c1.json",
      "sha256": "fede4e32154f92ac81ae68709fbde2cf1f91f3d1c76e7c83941023d986919702"
    },
    {
      "role": "the twenty assistant items (twenty-two drafted)",
      "artifact": "assistant-c2.json",
      "sha256": "dd63efa94bdebc878e1dc1c1065913892d8eb7cf16026642ff9fd0bae470d50c"
    },
    {
      "role": "the nineteen toolbench tasks",
      "artifact": "tasks.json",
      "sha256": "d172e9c326735df3848389e24f0a82d67b11d97df62805285b2a0b5d527ee140"
    },
    {
      "role": "the twelve narrator items — nine dialogue questions and three canon traps — across three characters",
      "artifact": "voice-c4.json",
      "sha256": "7eff93e73280a3209d8fe86d010afbd76bc01f496699b0cba2e290c1dadaaf53"
    },
    {
      "role": "the stopwatch's arm roster — this leg's denominator",
      "artifact": "c5-roster.json",
      "sha256": "bc38e3fdfaf2ad49db69ffb69ee28e7c216ddee5b924235033d09636dffa482b"
    },
    {
      "role": "the twenty-six serving asks",
      "artifact": "c6-asks.json",
      "sha256": "31817ea02bb5f107ecf0b2d058ae7261bc2cfc43781a3e5450e2ec4ccd2e2979"
    },
    {
      "role": "the seventeen census rows",
      "artifact": "c7-roster.json",
      "sha256": "d6f67db93acf55f10b941aab3a64ee46d97df2881bb032891daac779be586844"
    }
  ],
  "scorers_and_harnesses": [
    {
      "role": "the judge leg's rule and its runner",
      "artifact": "legs_c1.py",
      "sha256": "da06f0cdae2af6f74efe6bb9993d175266b4a384a70fd48b18b5b7730dc9a61f"
    },
    {
      "role": "the judge runner and its zero-GPU rescore path",
      "artifact": "run_leg.py",
      "sha256": "1a29b48b7382a4050bdda84a38bc813ca2403469cf4cb838835fdff4c4b2d72c"
    },
    {
      "role": "the assistant checkers — the only judges in chair two",
      "artifact": "c2_checkers.py",
      "sha256": "a9ebbd91503b936f3427cf7e6410bbacb45bb1574f750a8b45be9ae03481727a"
    },
    {
      "role": "the assistant scorer",
      "artifact": "c2_score.py",
      "sha256": "b4c7ce5684bfa9800598a2c443a21078b195c48ede3c26a899ad3ff8ed82f70c"
    },
    {
      "role": "the toolbench suite — ten tools and their schemas",
      "artifact": "suite.py",
      "sha256": "aab2c36d6253fbef98d3667d482c36ebf93726a4929e9e65868e8cf3d10e7920"
    },
    {
      "role": "the toolbench executor and its jail",
      "artifact": "executor.py",
      "sha256": "bbdfdaf7797bf61be63874d621365079f32d724319afd67086f4b3ebff116cbb"
    },
    {
      "role": "the toolbench scorer",
      "artifact": "c3_score.py",
      "sha256": "722bc75c8a9521b949de4118ae09152247f0ebdffe239b5399c0186fbca9191b"
    },
    {
      "role": "the narrator scorer",
      "artifact": "voice_score.py",
      "sha256": "11cdafcb95ccd6551761eb4c210554862ca951c4b964efdc00a2dfb1734618e4"
    },
    {
      "role": "the blind judging fan",
      "artifact": "judge_fan.py",
      "sha256": "c006d6430d309501dc17689c2818c511974cd6e1ba638ef051141e49ee2d4b46"
    },
    {
      "role": "the stopwatch harness",
      "artifact": "c5_speed.py",
      "sha256": "495624474bc630afb24319c779ac645f8f1c59bef7a058735b1a537f89cb0319"
    },
    {
      "role": "the stopwatch matrix rebuild — zero GPU, pure over the raw blocks",
      "artifact": "c5_matrix.py",
      "sha256": "d7b86188d6bbc215eaa7aaa4a6c68939e67585cd71640f4b4dceec1629ce6afa"
    },
    {
      "role": "the serving prober",
      "artifact": "c6_drip.py",
      "sha256": "03d343286e94299b48d0033a23c9a35823810c83e227739c5c713ba9a5d3db0c"
    },
    {
      "role": "the residency census",
      "artifact": "vram_census.py",
      "sha256": "0c87af2760c790f0fd8b71e3da7d77845c669e414863466508fd5b1ba378bcde"
    },
    {
      "role": "the independent, non-importing recount",
      "artifact": "recount.py",
      "sha256": "8a2be349d21a7e3604b89a113d62a831192a928ea69490fddb3757008c5f85a3"
    }
  ],
  "authorship": {
    "summary": "Every exam in this arc was written in this workshop — the twenty-one judge cases, the twenty assistant items and the code that checks them, the nineteen tool tasks and their call predicates, and the twelve narrator items — rather than taken from a public benchmark. Only chair four's authorship is also a conflict, and it is disclosed on the row it affects: one of the two judge families wrote the character questions, the canon notes and the article, and that panel's own numbers print beside the other's. For the other three sets the answer to \"who decided what counts as right\" is a file, not a person: the judge cases were adversarially verified before freezing by a separate fan that caught six of six deliberately planted canaries, and all four sets ship whole in this kit so their neutrality can be audited rather than taken on trust.",
    "sets_published_whole": [
      "judge-c1.json",
      "assistant-c2.json",
      "CHECKERS.md",
      "tools-tasks.json",
      "tools-schemas.json",
      "voice-questions.json",
      "c6-asks.json"
    ]
  },
  "judges": {
    "model_ids": [
      "claude-opus-5",
      "claude-fable-5"
    ],
    "disclosure": "The narrator's chair is judged by LLMs from two families, and one of those families also wrote the character questions, the canon notes and the article. Per-family results and inter-panel agreement are published in the C4 companion so a reader can price that rather than take our word for it."
  },
  "runtime": {
    "daemon": "ollama 0.32.9",
    "kv_cache": "q8_0",
    "flash_attention": "on",
    "context_length": 32768,
    "note": "Read from the serving daemon's own unit environment at run time, not assumed. A different configuration would allocate and decode differently, which is why the configuration is published beside the figures."
  },
  "no_paths": "Artifacts are named, never located. No box names, no addresses, no filesystem paths.",
  "contamination_caveat": "Published 2026-08-13. Models with a later training cutoff may have seen these sets. We author fresh sets each cycle; this one is not a standard, it is our kit, yours to reuse.",
  "not_a_standard": "Our own trials, our own hardware, for our own chairs. Not first independent numbers, and not a benchmark."
}
