Repository navigation
Releases: kltownsend/clinicbench
Release list
The Clinic's run records, data-v2
The Clinic's run records (data-v2)
The recorded conversations behind every figure on labs.layer2c.com/clinic and in Layer2C Lab 029, Who decides consent. Released by Keith Townsend, The CTO Advisor, on 2026-10-26.
What's new since data-v1
- Arm F2's three full cells: payment, schedule and doctor, 48,000 conversations each. F2 is F with a consent rule that takes a clear yes at any length; consent stays with code reading the patient's own words. Its code is
scripts/dcitl_f2.py. - No run-level files among the sessions. In data-v1, each archive's
sessions/folder also held the runner'svenue.jsonandsummary.json. Those aren't conversation records, andvenue.jsonnamed the loopback address of the model server the run used (127.0.0.1orlocalhostwith a port). data-v2 leaves both out. Nothing else in them was sensitive, and the session records are unchanged.
data-v2 holds all 28 cells, so it stands on its own.
What's here
- One archive per cell,
<cell id>.tar.gz, 28 in all. A full cell is 48,000 conversations (1,000 synthetic patients, each at 48 settings) and compresses to 7 to 10 MB. Each archive holds:<id>/sessions/*.json: one record per conversation. Each holds the patient's truth, the disclosure log, the tool trace, the transitions, the transcript, the reader's logged answers, the ending and the score.<id>/summary.json: the cell's summary, as the site shows it.<id>/cell.json: the cell record, cleaned of machine addresses.
MANIFEST.json: every archive's SHA-256, its variants, its status, its session count, and the session-set hash Lab 029's source manifest pins. It also says what kind of evidence each field is, and its limits.scripts/:turned_down_yeses.py, the offline count the worked path cites, anddcitl_f2.py, the F2 consent rule. They run against the public bench (github.com/kltownsend/clinicbench).
Check a download with:
shasum -a 256 <cell id>.tar.gz
and compare it with the cell's entry in MANIFEST.json.
What the records are, and aren't
- The patients are synthetic. Code-written truths that speak in templates and repeat themselves. No real patient or health data is in any record.
- Each cell is one run of its reader. Run-to-run variation isn't in any interval.
- The commitment trace checks a write only against the decisions the architecture declares. A clean trace means no declared decision was left open, not that the write was right.
- F2 is in-sample. Its rule was written from the patient lines of the same set it was measured on. It began as an improvement claim whose kill criterion fired partway through payment, and was finished as a measurement of the gap. Its cells show what that change does on these patients, not that it works on free-form ones.
- The
pilot4cells are worked examples from before the full patient set ran. The superseded cell is kept as run, under an earlier freeze. - The instrument. The cells ran under Lab 029's freeze. The public bench's instrument code is byte-identical, and
docs/contract-diff.mdin the public bench shows how the two contract texts differ.
Re-deriving a figure
clinicbench/cells.py in the public bench builds a summary from a cell's session records. The explorer's paired intervals resample whole patients (1,000 resamples, seed 20261022).
Disclosure
Self-funded. Google Cloud and Kamiwaza are clients of The CTO Advisor. The Gemma runs used NVIDIA DGX Sparks The CTO Advisor owns. The Claude Haiku 5.5 runs used the $200 monthly API credit included in Keith Townsend's paid Anthropic plan; Anthropic provided no special funding.
The Clinic's run records, data-v1 (superseded by data-v2)
Superseded by data-v2, 2026-10-26. data-v2 holds every cell here plus arm F2's three full cells. It also leaves out two run-level files that this release's archives carry under sessions/: the runner's venue.json and summary.json. venue.json names the loopback address of the model server each run used (127.0.0.1 or localhost with a port), so the line below saying the records are cleaned of machine addresses holds for cell.json, not for those files. Nothing else in them is sensitive, and the conversation records are the same in both releases. Use data-v2.
The Clinic's run records (data-v1)
The recorded conversations behind every figure on labs.layer2c.com/clinic and in Layer2C Lab 029, Who decides consent. Released by Keith Townsend, The CTO Advisor, on 2026-10-25.
What's here
- One archive per cell,
<cell id>.tar.gz, 25 in all, 177 MB compressed. A full cell is 48,000 conversations (1,000 synthetic patients, each at 48 settings) and compresses to 7 to 10 MB. Each archive holds:<id>/sessions/*.json: one record per conversation, holding the patient's truth, the disclosure log, the tool trace, the transitions, the transcript, the reader's logged answers, the ending and the score.<id>/summary.json: the cell's summary, as the site shows it.<id>/cell.json: the cell record, cleaned of machine addresses.
MANIFEST.json: every archive's SHA-256, its variants, its status, its session count, and the session-set hash Lab 029's source manifest pins. It also says what kind of evidence each field is and its limits.scripts/:turned_down_yeses.py, the offline count the worked path cites, anddcitl_f2.py, the F2 consent rule. They run against the public bench (github.com/kltownsend/clinicbench).
Check a download with:
shasum -a 256 <cell id>.tar.gz
and compare it with the cell's entry in MANIFEST.json.
What the records are, and aren't
- The patients are synthetic. Code-written truths that speak in templates and repeat themselves. No real patient or health data is in any record.
- Each cell is one run of its reader. Run-to-run variation isn't in any interval.
- The commitment trace checks a write only against the decisions the architecture declares. A clean trace means no declared decision was left open, not that the write was right.
- The
pilot4cells are worked examples from before the full patient set ran. The superseded cell is kept as run, under an earlier freeze. - The instrument. The cells ran under Lab 029's freeze. The public bench's instrument code is byte-identical, and
docs/contract-diff.mdin the public bench shows how the two contract texts differ.
Re-deriving a figure
clinicbench/cells.py in the public bench builds a summary from a cell's session records. The explorer's paired intervals resample whole patients (1,000 resamples, seed 20261022), as clinicbench/explorer_data.py in Lab 029's bench does.
Disclosure
Self-funded. Google Cloud and Kamiwaza are clients of The CTO Advisor. The Gemma runs used NVIDIA DGX Sparks The CTO Advisor owns. The Claude Haiku 5.5 runs used the $200 monthly API credit included in Keith Townsend's paid Anthropic plan; Anthropic provided no special funding.