{
  "schema": "s2s-bench-v1",
  "exhibit": "half-an-hour-with-dead-composers",
  "exhibit_title": "Half an Hour with Dead Composers",
  "exhibit_url": "https://research.strata2signal.com/half-an-hour-with-dead-composers/index.html",
  "licence": "CC BY 4.0",
  "attribution": "strata→signal research, research.strata2signal.com",
  "contact": "hello@strata2signal.com",
  "kind": "data-kit-index",
  "run_ids": {
    "sousa": "sousa-shakedown/20260830T004943Z-sousa0-r64",
    "bach": "bach-shakedown/20260830T104030Z-bach0-r64",
    "chopin (part one)": "pd-shakedown/20260829T162506Z-stage0-r64",
    "merges": "duet-chopin-sousa-r64 · duet-bach-chopin-r64 · trio-r64"
  },
  "run_window_utc": {
    "trained_sousa_utc": "2026-08-30T01:14:18Z - 2026-08-30T01:28:57Z",
    "trained_bach_utc": "2026-08-30 (run id 20260830T104030Z-bach0)",
    "merged_utc": "2026-08-30, offline on CPU — a weight merge touches no graphics card",
    "rendered_utc": "2026-08-30",
    "sousa_corpus_downloaded_utc": "2026-08-30T00:43Z - 00:49Z",
    "bach_corpus_downloaded_utc": "2026-08-30"
  },
  "subject": "ACE-Step 1.5 (MIT), fast variant, plus three LoRA adapters of 44,040,192 trainable parameters each (1.81% of 2.44B) and three rank-64 adapters merged from them by truncated SVD",
  "what_varies": "within every comparison on the page, the request body and the random seed are held fixed and only the adapter moves — attached, turned to zero, swapped for a checkpoint, or replaced by a merge of two or three others",
  "not_a_standard": "A field guide, not a bench. Nothing was auditioned and nothing was ranked; every merge record is stamped INFORMAL / NON-GATE by the tool that wrote it. The only quantity measured (waveform distance) has a noise floor of 0.18225 against a largest measured effect of 0.19274 — it says the sound CHANGED, never that it changed toward a composer. NO blinded listening test has been run on any clip in this series.",
  "sanitisation": "Absolute filesystem paths projected to role names; the corpus receipts' honest user-agent strings withheld because they carry a personal name and address; nothing measured altered. provenance.json names every rule and the count of times each fired.",
  "known_absences": "The corpus manifests are NOT in this kit, and the Sousa and Bach training logs are quoted rather than copied. Both are named in the README and in provenance.json rather than approximated. One of the three merges has no surviving build log, which is a disclosure the article makes in its own text — the merged adapter's own record stands in, and is here.",
  "self_reference": "index.json, provenance.json and index.html are not listed among the files they describe: a file cannot carry its own sha256. index.json carries provenance.json's.",
  "provenance": {
    "file": "provenance.json",
    "sha256": "1cbc4764ac798f36718385c8b450a14cc8eec36a1b45d70f098698fec21f002b",
    "bytes": 21359
  },
  "file_count": 30,
  "files": [
    {
      "file": "README.md",
      "role": "What is in the kit, what could not be shipped and why, what was projected out of every file, and how to check the eleven fingerprints yourself.",
      "media_type": "text/markdown",
      "bytes": 11087,
      "sha256": "26470b7c8a94cf421ab0fcc0a3cebfd71209392943a471c9a81d8b6ee57c25f3",
      "stripped": [],
      "strip_counts": {},
      "identical_to_original": true
    },
    {
      "file": "adapter-config-bach.json",
      "role": "The Bach adapter's PEFT configuration as saved beside the weights — rank 64, alpha 128, dropout 0.1 on q/k/v/o projections. One filesystem path projected.",
      "media_type": "application/json",
      "bytes": 1026,
      "sha256": "ee277affd305f97010c232997fe90347c791b1c35d3e9134c9d131ac2b677bad",
      "stripped": [
        "absolute filesystem paths -> role names"
      ],
      "strip_counts": {
        "path-to-role": 1
      },
      "identical_to_original": false
    },
    {
      "file": "adapter-config-duet-bach-chopin.json",
      "role": "The Bach+Chopin merged adapter's own configuration — same rank, alpha and shape as its parents, which is the article's 'comes out as an ordinary adapter file'. One path projected.",
      "media_type": "application/json",
      "bytes": 1026,
      "sha256": "ee277affd305f97010c232997fe90347c791b1c35d3e9134c9d131ac2b677bad",
      "stripped": [
        "absolute filesystem paths -> role names"
      ],
      "strip_counts": {
        "path-to-role": 1
      },
      "identical_to_original": false
    },
    {
      "file": "adapter-config-duet-chopin-sousa.json",
      "role": "The Chopin+Sousa merged adapter's own configuration. One path projected.",
      "media_type": "application/json",
      "bytes": 1026,
      "sha256": "13a4928ba30ef3031f65fd9a2534e3820f751b160bcb0a811c6ece94400900e0",
      "stripped": [
        "absolute filesystem paths -> role names"
      ],
      "strip_counts": {
        "path-to-role": 1
      },
      "identical_to_original": false
    },
    {
      "file": "adapter-config-sousa-epoch5.json",
      "role": "The pass-five Sousa checkpoint's configuration — the better-loss adapter that did NOT ship, and that rendered Listen 4. One path projected.",
      "media_type": "application/json",
      "bytes": 1026,
      "sha256": "a471f52dacf8236ab11c20e73e4c0079c7dcf028d3bb19763dbaf37136899244",
      "stripped": [
        "absolute filesystem paths -> role names"
      ],
      "strip_counts": {
        "path-to-role": 1
      },
      "identical_to_original": false
    },
    {
      "file": "adapter-config-sousa.json",
      "role": "The Sousa adapter's PEFT configuration as saved — the pass-ten file, which is the one that shipped and the one every downstream artefact used. One path projected.",
      "media_type": "application/json",
      "bytes": 1026,
      "sha256": "a471f52dacf8236ab11c20e73e4c0079c7dcf028d3bb19763dbaf37136899244",
      "stripped": [
        "absolute filesystem paths -> role names"
      ],
      "strip_counts": {
        "path-to-role": 1
      },
      "identical_to_original": false
    },
    {
      "file": "adapter-config-trio.json",
      "role": "The trio merged adapter's own configuration. One path projected.",
      "media_type": "application/json",
      "bytes": 1026,
      "sha256": "ee277affd305f97010c232997fe90347c791b1c35d3e9134c9d131ac2b677bad",
      "stripped": [
        "absolute filesystem paths -> role names"
      ],
      "strip_counts": {
        "path-to-role": 1
      },
      "identical_to_original": false
    },
    {
      "file": "clips.json",
      "role": "The eleven audio files the page plays: full sha256, byte count, the caption each plays under, and for each one the request file it was rendered from, the seed that request pinned, the adapter attached and its strength. Every digest was re-read off the served bytes when this file was written.",
      "media_type": "application/json",
      "bytes": 11493,
      "sha256": "133160dcbb75e30a8051017fa3c8b6cb9fb8105fabbeb985ae5e26b9866415de",
      "stripped": [],
      "strip_counts": {},
      "identical_to_original": true
    },
    {
      "file": "distances-crossover.json",
      "role": "The instrument's output for part one's dial sweep and the crossover pair — including the two files that carry ONE sha256 between them, which is the article's 'blend that wasn't'.",
      "media_type": "application/json",
      "bytes": 1950,
      "sha256": "937abc20100611e5e843e077bc9711043ffb87a89bf56253b8d0922cdef0eb37",
      "stripped": [],
      "strip_counts": {},
      "identical_to_original": true
    },
    {
      "file": "distances-duet.json",
      "role": "The duet's numbers: RMS, spectral centroid and band split for the three clips, and the six pairwise distances behind 'closer to each parent than the parents are to each other' (0.11245 and 0.12746, against 0.15214).",
      "media_type": "application/json",
      "bytes": 1410,
      "sha256": "89713d48b5f2bd8779d7eeda7ee2cd706fd98f32e673b816d9d5e48da7d12804",
      "stripped": [],
      "strip_counts": {},
      "identical_to_original": true
    },
    {
      "file": "distances-seed-floor.md",
      "role": "The four-seed noise-floor table quoted from the listening session's own notes, the larger second reading disclosed, and the three per-adapter pulls beside it. Two of the three sit below the floor.",
      "media_type": "text/markdown",
      "bytes": 2451,
      "sha256": "f033692df5343074c3170729e01a0bae944223b98b3ffc746313a772354a5027",
      "stripped": [],
      "strip_counts": {},
      "identical_to_original": true
    },
    {
      "file": "distances-sousa-adapter.json",
      "role": "The Sousa adapter's pull from its own switched-off baseline (0.19274) — the number the 0.18225 noise floor is measured against.",
      "media_type": "application/json",
      "bytes": 898,
      "sha256": "29b377747b6611808f8d1203a45ccb1f827abb9ed945235544254e8356760c51",
      "stripped": [],
      "strip_counts": {},
      "identical_to_original": true
    },
    {
      "file": "distances-trio.json",
      "role": "The instrument's output behind the trio geometry: every clip's RMS and centroid and all ten pairwise distances — including trio-vs-chopin 0.11358 and bach-vs-sousa 0.11120, the two numbers that killed the retracted sentence.",
      "media_type": "application/json",
      "bytes": 1837,
      "sha256": "072bfe7cb92b7dd6c9e64c2a66ad35f4b87a07c5f88363901c70abc70b14cccb",
      "stripped": [],
      "strip_counts": {},
      "identical_to_original": true
    },
    {
      "file": "merge-finale.log",
      "role": "The merge tool's own build log for two of the three merges — Bach+Chopin and the trio — with running-mean convergence every 64 modules and the final error rows. Parent and output paths projected to role names.",
      "media_type": "text/plain",
      "bytes": 1034,
      "sha256": "0ed6058b3fa792df825dc2e964869182bb956261de88241c2eb99322f680f145",
      "stripped": [
        "absolute filesystem paths -> role names"
      ],
      "strip_counts": {
        "path-to-role": 8
      },
      "identical_to_original": false
    },
    {
      "file": "merge-record-duet-bach-chopin.md",
      "role": "The Bach+Chopin merged adapter's own record, written by the tool into its output directory: mean 0.0114, min 0.0016, max 0.0358 at layer 17's key projection. Paths projected.",
      "media_type": "text/markdown",
      "bytes": 690,
      "sha256": "bd0a1353a6862d8450e13956b30927f14e91f2bdcf2e3b12d28e8b0966a20433",
      "stripped": [
        "absolute filesystem paths -> role names"
      ],
      "strip_counts": {
        "path-to-role": 2
      },
      "identical_to_original": false
    },
    {
      "file": "merge-record-duet-chopin-sousa.md",
      "role": "THE RECORD FOR THE MERGE WITH NO SURVIVING BUILD LOG. The article's 1.2 % / 3.4 % / layer 7 row comes from this file and from nothing else. Mean 0.0120, min 0.0017, max 0.0339. Paths projected.",
      "media_type": "text/markdown",
      "bytes": 787,
      "sha256": "fe217eed4caed7c6dadc6eedc90145efb27b3104b7c510d2d5c9e80aaf2dcf5e",
      "stripped": [
        "absolute filesystem paths -> role names"
      ],
      "strip_counts": {
        "path-to-role": 2
      },
      "identical_to_original": false
    },
    {
      "file": "merge-record-trio.md",
      "role": "The trio merged adapter's own record: three parents at equal thirds, mean 0.0150, min 0.0020, max 0.0430 at layer 17's key projection. Paths projected.",
      "media_type": "text/markdown",
      "bytes": 780,
      "sha256": "2e4c3f80d417644621922ce0ca5f5b230460bf60302ca4757c71d258fa68cf7c",
      "stripped": [
        "absolute filesystem paths -> role names"
      ],
      "strip_counts": {
        "path-to-role": 3
      },
      "identical_to_original": false
    },
    {
      "file": "merge_adapters.py",
      "role": "The merge tool itself: the docstring the article's algebra is quoted from, the line that hides every graphics card so the merge is a CPU operation, and the two lines defining the reported error as a relative Frobenius norm against the exact untruncated sum. Paths projected.",
      "media_type": "text/x-python",
      "bytes": 5733,
      "sha256": "7be907659fd1313e8d8bd7357a2d1afa765f278fcf769d5519df6e472d9c2c25",
      "stripped": [
        "absolute filesystem paths -> role names"
      ],
      "strip_counts": {
        "path-to-role": 1
      },
      "identical_to_original": false
    },
    {
      "file": "render-request-bach.json",
      "role": "The Bach request VERBATIM — the exact JSON body behind Listens 5 and 6. Seed 20260901, 72 BPM, D minor, 60 s, 8 steps.",
      "media_type": "application/json",
      "bytes": 500,
      "sha256": "c5d4aa5427b3a93685434aa5fc41d5a627794ccb8ed975235467bd1bd06171d0",
      "stripped": [],
      "strip_counts": {},
      "identical_to_original": true
    },
    {
      "file": "render-request-duet.json",
      "role": "The duet request VERBATIM — the exact JSON body behind Listens 7, 8 and 9, all three on seed 20260831, 90 BPM, C minor. The request and the seed are held fixed; only the adapter moves.",
      "media_type": "application/json",
      "bytes": 482,
      "sha256": "d1694ac6b3cabf7cbf137a84d4d92615b0dcf9eca5694300cafe846f70bc8a99",
      "stripped": [],
      "strip_counts": {},
      "identical_to_original": true
    },
    {
      "file": "render-request-sousa-march.json",
      "role": "The march request VERBATIM — Listens 2, 3 and 4, and the four-seed noise-floor measurement. Seed 20260830, 120 BPM, E-flat major, 2/4.",
      "media_type": "application/json",
      "bytes": 522,
      "sha256": "9b94691b01b5774fa59930053a6f31447f00df4bc5d0ff38bda9186c3b341781",
      "stripped": [],
      "strip_counts": {},
      "identical_to_original": true
    },
    {
      "file": "render-request-sousa-probe.json",
      "role": "Listen 1's request VERBATIM. Its own payload: plain words naming the composer, no trigger tag, no adapter. A probe of what the stock model already knows, not a control for anything.",
      "media_type": "application/json",
      "bytes": 494,
      "sha256": "01b1d5c5a560a04b9f6708a9c47ab4cfa0afbe9f41c42ec1e59cd2e1922d92d7",
      "stripped": [],
      "strip_counts": {},
      "identical_to_original": true
    },
    {
      "file": "render-request-trio.json",
      "role": "The trio request VERBATIM — Listens 10 and 11. Seed 20260901, 96 BPM, C minor, 60 s.",
      "media_type": "application/json",
      "bytes": 505,
      "sha256": "8f4676f69676983d29c56a6871f88cccdc21e7ca54d055370c98f3a7f5be3cff",
      "stripped": [],
      "strip_counts": {},
      "identical_to_original": true
    },
    {
      "file": "rights-chain.md",
      "role": "Both rights chains read at the source: Sousa under 17 U.S.C. § 105 with the archive mirror's per-item public-domain mark and the HTTP 403 that redirected the fetch; Bach under Kimiko Ishizaka's own CC0 dedications, with the 31-for-32 defect and the CC BY copy declined on purpose. Written for this kit; every quotation verbatim; the honest user-agent strings withheld because they carry a personal name and address.",
      "media_type": "text/markdown",
      "bytes": 9973,
      "sha256": "bf9e1d952ad3e8f72c41baaa366201045ba849f6bec74414c96de9bb10d538db",
      "stripped": [
        "honest user-agent strings withheld (personal name and address)"
      ],
      "strip_counts": {
        "identity-withheld": 2
      },
      "identical_to_original": false
    },
    {
      "file": "train-bach-passlines.md",
      "role": "The Bach log's pass lines and step lines, QUOTED verbatim from the arc's receipts pack with that pack's sha256 printed inside. The log file itself lives on the training box and is not in this kit; the file says so on its first line.",
      "media_type": "text/markdown",
      "bytes": 2424,
      "sha256": "a697601beb19d024a89ee1e288e95670c1c45c8c98ee4b0fa91f28325d2ee512",
      "stripped": [
        "quoted from the receipts pack rather than copied from the log file"
      ],
      "strip_counts": {
        "quoted-not-copied": 1
      },
      "identical_to_original": false
    },
    {
      "file": "train-chopin.log",
      "role": "Part one's training run, its own log start to finish — byte-for-byte the file part one's kit published: the configuration it printed for itself, the ten per-pass lines, and the summary carrying 4m 49s and a 5.7 GiB peak. 17 filesystem paths were projected when part one published it.",
      "media_type": "text/plain",
      "bytes": 8510,
      "sha256": "dad3839cec953e8c36a199f2a8f9afee7b4d37c36c6968bc887217170d715863",
      "stripped": [
        "absolute filesystem paths -> role names (in part one's kit)"
      ],
      "strip_counts": {
        "path-to-role": 17
      },
      "identical_to_original": false
    },
    {
      "file": "train-sousa-passlines.md",
      "role": "The Sousa log's pass lines, step lines and summary block, QUOTED verbatim from the arc's receipts pack with that pack's sha256 printed inside — including the pass-five/pass-ten checkpoint pair the article's confession turns on. The log file itself is not in this kit; the file says so on its first line.",
      "media_type": "text/markdown",
      "bytes": 3534,
      "sha256": "47e17ad8163ac305cd8ff6db0efff516ff7ac872c64503c988a5b55b122616e6",
      "stripped": [
        "quoted from the receipts pack rather than copied from the log file"
      ],
      "strip_counts": {
        "quoted-not-copied": 1
      },
      "identical_to_original": false
    }
  ]
}
