# Data kit — Teaching a Music Model Chopin in Five Minutes

Everything the article claims, with the artifact behind it. Published 2026-09-01
(UTC) under CC BY 4.0 by strata→signal research.

The article's own promise is the contents list: "the full sha256 fingerprints and
the map from each player to its file, the request payload verbatim, the training
log's epoch lines, the corpus manifest with its checksums, and the rights-chain
receipts." That is what is here.

## The files

| file | what it is |
|---|---|
| `clips.json` | The five audio files the page plays: full sha256s, byte counts, the adapter strength each was rendered at, and the map from every player on the page to the file behind it. |
| `render-request.json` | The render request, **verbatim** — the exact JSON body submitted for every one of the five clips. |
| `train.log` | The training run's own log, start to finish: the configuration it printed for itself, the ten per-epoch lines, and the summary. |
| `adapter-config.json` | The finished adapter's PEFT configuration, as saved beside the weights. |
| `corpus-manifest.tsv` | Every recording acquired for this corpus: sha256, filename, and the source URL it was fetched from. |
| `rights-chain.md` | How we established that the recordings are CC0, read at the source, with the Wayback URL and the read timestamp. |

## One request body, five renders, one dial

There is no per-clip request file, and five would have been a misdescription. The
render script sets the adapter's scale through the service's `/v1/lora/scale`
endpoint and then submits the **unchanged** payload in `render-request.json`. The
adapter's strength is therefore the only thing outside the request that moved
between the five clips — which is exactly the claim the page makes, and this is
the shape of the evidence for it.

Six players, five files: the baseline is played twice on purpose — as Listen 1,
and again as the 0% rung of the dial. `clips.json` carries both captions for it.

## The corpus says 24; the training used 19

`corpus-manifest.tsv` lists **24 recordings** — everything acquired. The run
trained on **19** of them. That is the holdout the article describes, not a
discrepancy: 24 files resolve to 23 distinct works, and the split was made by
*piece* rather than by file so that no piece could sit on both sides, leaving 19
training files over 18 works and five recordings held back for a listening test
that has not been run yet.

**The list of exactly which five were held back is not in this kit.** It lives in
the training dataset's own record, and it is named here as absent rather than
approximated, because the article leans on the split being principled and a
reader is entitled to notice that the count in front of them is 24.

## What was projected out, and why

Every file here is published as recorded, with ONE class of change: absolute
filesystem paths and machine names have been replaced by role names, because this
house does not publish the shape of its own machines. Nothing measured was
touched — every loss, duration, byte count, parameter count and checksum is as the
instrument wrote it.

- `train.log` — 17 absolute filesystem paths projected to the role-relative form
  (`music/checkpoints/…`, `adapters/…`).
- `adapter-config.json` — 1 absolute path projected, the same way.
- `rights-chain.md` is written for this kit rather than copied from the internal
  ruling document it summarises; the licence quote inside it is verbatim.

Two smaller notes, so nothing reads as sleight of hand:

- **The log's bare timestamps are UTC.** The training box runs `Etc/UTC` and the
  log writes local stamps without a zone marker. They have been left exactly as
  written rather than restamped, because editing a timestamp inside a verbatim log
  is worse than explaining it.
- **The campaign FAQ's own "last updated" stamp** is rendered in `rights-chain.md`
  as "Friday, September 6, 1:59am (US Eastern)" rather than with the three-letter
  zone abbreviation the page uses. The **licence quote itself is verbatim and
  untouched**; only that page-state stamp is spelled out.

## Checking it yourself

The five clips are served beside the article, one directory up, at `audio/`. From
that directory:

    sha256sum -c MANIFEST.sha256

Every line should print `OK`, and the first sixteen characters of each digest are
the codes printed beside the players on the page.

Any recording in `corpus-manifest.tsv` can be re-fetched from its `source_url` and
re-hashed against the sha256 in the same row.

## What this kit does not contain

- The trainer and the render service themselves. This kit ships receipts, not the
  harness; the trainer is named and linked in the article's colophon.
- The adapter weights. The 88 MB file is not published here.
- The held-back five, as above.
- Any blinded listening result, because none exists. The article says so twice,
  and a kit that implied otherwise would be the worst thing on this page.
