{
  "schemaVersion": 1,
  "wave": 2,
  "generatedAt": "2026-07-15T16:52:36.119Z",
  "result": "PASS",
  "benchmarkSourceSha256": "255e0793b3bb774f98d1f3229488a55e643bf698f9a2d7903a8a4cc51f21494b",
  "license": {
    "id": "CC0-1.0",
    "name": "CC0 1.0 Universal",
    "provenance": "Synthetic, deterministic signals generated from mathematical functions by this benchmark; no recording or copyrighted composition is used."
  },
  "environment": {
    "runner": "Playwright driving public tool pages",
    "browser": "Chromium 149.0.7827.55",
    "server": "local Wrangler Pages"
  },
  "methodology": [
    "Generate deterministic mono PCM16 WAV fixtures from mathematical signals; record SHA-256 provenance.",
    "Load each public tool page through local Wrangler Pages and select every fixture through the real file input.",
    "Read visible UI results; for loudness also invoke normalization, download the real WAV and independently parse its PCM samples.",
    "Record every request from immediately before file selection through completion; separately count fetch/XHR/WebSocket/EventSource, cross-origin and non-GET traffic.",
    "Keep exact key labels exact, and label known BPM folding as half/double ambiguity rather than raw-tempo success.",
    "Use compact 24 kHz source WAV files whose Nyquist frequency remains well above the highest synthesized 1.8 kHz component; score the real browser-decoded signal."
  ],
  "fixtures": [
    {
      "id": "bpm-80",
      "file": "assets/benchmark-fixtures/bpm-80.wav",
      "bytes": 384044,
      "sha256": "045458d0d62e8936a6d3024c49184ceb9b158e7dca7345b031d6a704bef83eda",
      "license": "CC0-1.0",
      "synthesis": {
        "kind": "periodic-decaying-click-train",
        "sampleRate": 24000,
        "channels": 1,
        "durationSeconds": 8,
        "knownBpm": 80,
        "formula": "0.55 * exp(-t/0.008) * (sin(2*pi*110*t) + 0.3*sin(2*pi*1800*t)) at each beat"
      }
    },
    {
      "id": "bpm-100",
      "file": "assets/benchmark-fixtures/bpm-100.wav",
      "bytes": 384044,
      "sha256": "7bc553c7d3514a6e1afad3e3cebc83e4538217ff571a807874cdeb71e445893a",
      "license": "CC0-1.0",
      "synthesis": {
        "kind": "periodic-decaying-click-train",
        "sampleRate": 24000,
        "channels": 1,
        "durationSeconds": 8,
        "knownBpm": 100,
        "formula": "0.55 * exp(-t/0.008) * (sin(2*pi*110*t) + 0.3*sin(2*pi*1800*t)) at each beat"
      }
    },
    {
      "id": "bpm-128",
      "file": "assets/benchmark-fixtures/bpm-128.wav",
      "bytes": 384044,
      "sha256": "833d8dcecb506d77716d1f1e53cb95f2e42696c9ef37f63e41f92a060132f8f9",
      "license": "CC0-1.0",
      "synthesis": {
        "kind": "periodic-decaying-click-train",
        "sampleRate": 24000,
        "channels": 1,
        "durationSeconds": 8,
        "knownBpm": 128,
        "formula": "0.55 * exp(-t/0.008) * (sin(2*pi*110*t) + 0.3*sin(2*pi*1800*t)) at each beat"
      }
    },
    {
      "id": "bpm-160",
      "file": "assets/benchmark-fixtures/bpm-160.wav",
      "bytes": 384044,
      "sha256": "6efc80b08a4d3c535dda26a6983adc0028a29c7aaa660d935e1d8721dc7088fc",
      "license": "CC0-1.0",
      "synthesis": {
        "kind": "periodic-decaying-click-train",
        "sampleRate": 24000,
        "channels": 1,
        "durationSeconds": 8,
        "knownBpm": 160,
        "formula": "0.55 * exp(-t/0.008) * (sin(2*pi*110*t) + 0.3*sin(2*pi*1800*t)) at each beat"
      }
    },
    {
      "id": "bpm-60-double-time",
      "file": "assets/benchmark-fixtures/bpm-60-double-time.wav",
      "bytes": 384044,
      "sha256": "904854ff1f5a09f07002f921a714380209529193d3e229846f24760b95371143",
      "license": "CC0-1.0",
      "synthesis": {
        "kind": "periodic-decaying-click-train",
        "sampleRate": 24000,
        "channels": 1,
        "durationSeconds": 8,
        "knownBpm": 60,
        "formula": "0.55 * exp(-t/0.008) * (sin(2*pi*110*t) + 0.3*sin(2*pi*1800*t)) at each beat"
      }
    },
    {
      "id": "bpm-200-half-time",
      "file": "assets/benchmark-fixtures/bpm-200-half-time.wav",
      "bytes": 384044,
      "sha256": "dc067796f767f8d939ae58452fb702e006427d8acfbe6e97b05174294982dccd",
      "license": "CC0-1.0",
      "synthesis": {
        "kind": "periodic-decaying-click-train",
        "sampleRate": 24000,
        "channels": 1,
        "durationSeconds": 8,
        "knownBpm": 200,
        "formula": "0.55 * exp(-t/0.008) * (sin(2*pi*110*t) + 0.3*sin(2*pi*1800*t)) at each beat"
      }
    },
    {
      "id": "key-c-major",
      "file": "assets/benchmark-fixtures/key-c-major.wav",
      "bytes": 480044,
      "sha256": "c2608705cb23257d7c8516e962c1ead723660f9449447786bed35f566136bdf9",
      "license": "CC0-1.0",
      "synthesis": {
        "kind": "equal-note-sine-triad-progression",
        "sampleRate": 24000,
        "channels": 1,
        "durationSeconds": 10,
        "expectedKey": "C major",
        "progression": "I-IV-V-I-I in C major",
        "chords": [
          [
            "C",
            "E",
            "G"
          ],
          [
            "F",
            "A",
            "C"
          ],
          [
            "G",
            "B",
            "D"
          ],
          [
            "C",
            "E",
            "G"
          ],
          [
            "C",
            "E",
            "G"
          ]
        ],
        "formula": "equal-amplitude triad fundamentals + 0.22 octave harmonic, 20 ms segment-edge fade"
      }
    },
    {
      "id": "key-d-major",
      "file": "assets/benchmark-fixtures/key-d-major.wav",
      "bytes": 480044,
      "sha256": "7d1f54f5a5f1439d3c2b4d5b87f90cecb6c6cdf84f35c1a193138e0db549dd09",
      "license": "CC0-1.0",
      "synthesis": {
        "kind": "equal-note-sine-triad-progression",
        "sampleRate": 24000,
        "channels": 1,
        "durationSeconds": 10,
        "expectedKey": "D major",
        "progression": "I-IV-V-I-I in D major",
        "chords": [
          [
            "D",
            "F#",
            "A"
          ],
          [
            "G",
            "B",
            "D"
          ],
          [
            "A",
            "C#",
            "E"
          ],
          [
            "D",
            "F#",
            "A"
          ],
          [
            "D",
            "F#",
            "A"
          ]
        ],
        "formula": "equal-amplitude triad fundamentals + 0.22 octave harmonic, 20 ms segment-edge fade"
      }
    },
    {
      "id": "key-f-major",
      "file": "assets/benchmark-fixtures/key-f-major.wav",
      "bytes": 480044,
      "sha256": "b9c8676d0e976d449743adf2b580d18947ceb5c4d27abcd4a186c72ed6769853",
      "license": "CC0-1.0",
      "synthesis": {
        "kind": "equal-note-sine-triad-progression",
        "sampleRate": 24000,
        "channels": 1,
        "durationSeconds": 10,
        "expectedKey": "F major",
        "progression": "I-IV-V-I-I in F major",
        "chords": [
          [
            "F",
            "A",
            "C"
          ],
          [
            "A#",
            "D",
            "F"
          ],
          [
            "C",
            "E",
            "G"
          ],
          [
            "F",
            "A",
            "C"
          ],
          [
            "F",
            "A",
            "C"
          ]
        ],
        "formula": "equal-amplitude triad fundamentals + 0.22 octave harmonic, 20 ms segment-edge fade"
      }
    },
    {
      "id": "key-g-major",
      "file": "assets/benchmark-fixtures/key-g-major.wav",
      "bytes": 480044,
      "sha256": "31a220b3c3d35fb7b9c5fb386be716ea45fdeca585a267d4b0af0d9b20887f99",
      "license": "CC0-1.0",
      "synthesis": {
        "kind": "equal-note-sine-triad-progression",
        "sampleRate": 24000,
        "channels": 1,
        "durationSeconds": 10,
        "expectedKey": "G major",
        "progression": "I-IV-V-I-I in G major",
        "chords": [
          [
            "G",
            "B",
            "D"
          ],
          [
            "C",
            "E",
            "G"
          ],
          [
            "D",
            "F#",
            "A"
          ],
          [
            "G",
            "B",
            "D"
          ],
          [
            "G",
            "B",
            "D"
          ]
        ],
        "formula": "equal-amplitude triad fundamentals + 0.22 octave harmonic, 20 ms segment-edge fade"
      }
    },
    {
      "id": "key-a-minor",
      "file": "assets/benchmark-fixtures/key-a-minor.wav",
      "bytes": 480044,
      "sha256": "e2f2da8c6eb448d992e29a6e0e797c99fa39b6dd8b1bbc371349f48a3b3cdd96",
      "license": "CC0-1.0",
      "synthesis": {
        "kind": "equal-note-sine-triad-progression",
        "sampleRate": 24000,
        "channels": 1,
        "durationSeconds": 10,
        "expectedKey": "A minor",
        "progression": "i-iv-V-i-i in A harmonic minor",
        "chords": [
          [
            "A",
            "C",
            "E"
          ],
          [
            "D",
            "F",
            "A"
          ],
          [
            "E",
            "G#",
            "B"
          ],
          [
            "A",
            "C",
            "E"
          ],
          [
            "A",
            "C",
            "E"
          ]
        ],
        "formula": "equal-amplitude triad fundamentals + 0.22 octave harmonic, 20 ms segment-edge fade"
      }
    },
    {
      "id": "key-e-minor",
      "file": "assets/benchmark-fixtures/key-e-minor.wav",
      "bytes": 480044,
      "sha256": "ee94aa07e67b4d07d49bbc8ec6238f463b1ba902ea2c342fdf49f73b0114dfab",
      "license": "CC0-1.0",
      "synthesis": {
        "kind": "equal-note-sine-triad-progression",
        "sampleRate": 24000,
        "channels": 1,
        "durationSeconds": 10,
        "expectedKey": "E minor",
        "progression": "i-iv-v-i-i in E natural minor",
        "chords": [
          [
            "E",
            "G",
            "B"
          ],
          [
            "A",
            "C",
            "E"
          ],
          [
            "B",
            "D",
            "F#"
          ],
          [
            "E",
            "G",
            "B"
          ],
          [
            "E",
            "G",
            "B"
          ]
        ],
        "formula": "equal-amplitude triad fundamentals + 0.22 octave harmonic, 20 ms segment-edge fade"
      }
    },
    {
      "id": "loudness-sine-minus12-to-minus23",
      "file": "assets/benchmark-fixtures/loudness-sine-minus12-to-minus23.wav",
      "bytes": 192044,
      "sha256": "745a344cde80bd092cf7b27d3773dd126b1774cb4dce869f5cef6f2fbf689122",
      "license": "CC0-1.0",
      "synthesis": {
        "kind": "steady-sine",
        "sampleRate": 24000,
        "channels": 1,
        "durationSeconds": 4,
        "frequencyHz": 1000,
        "requestedSamplePeakDbfs": -12,
        "actualSamplePeakDbfs": -11.9999,
        "actualRmsDbfs": -15.0107,
        "independentSineEnergyReferenceLufs": -15.7017
      }
    },
    {
      "id": "loudness-sine-minus24-to-minus16",
      "file": "assets/benchmark-fixtures/loudness-sine-minus24-to-minus16.wav",
      "bytes": 192044,
      "sha256": "edace713908a887d5a5d37ad00116fbf0093eeda36982ff3e7ac4666642f5453",
      "license": "CC0-1.0",
      "synthesis": {
        "kind": "steady-sine",
        "sampleRate": 24000,
        "channels": 1,
        "durationSeconds": 4,
        "frequencyHz": 1000,
        "requestedSamplePeakDbfs": -24,
        "actualSamplePeakDbfs": -23.998,
        "actualRmsDbfs": -27.0103,
        "independentSineEnergyReferenceLufs": -27.7013
      }
    }
  ],
  "tools": [
    {
      "slug": "bpm-detector",
      "result": "PASS",
      "summary": "6/6 synthetic tempo cases matched; slow/fast folding is reported as declared half/double ambiguity, not exact raw-tempo recovery.",
      "networkDataFlow": {
        "requestsDuringWorkflow": 0,
        "payloadRequests": 0,
        "crossOriginRequests": 0,
        "nonGetRequests": 0,
        "badResponses": 0,
        "failedRequests": 0
      },
      "cases": [
        {
          "id": "bpm-80",
          "result": "PASS",
          "inputFixture": "assets/benchmark-fixtures/bpm-80.wav",
          "expected": {
            "knownTempoBpm": 80,
            "displayedTempoBpm": 80,
            "classification": "exact"
          },
          "observed": {
            "displayedTempoBpm": 80,
            "absoluteErrorBpm": 0,
            "statusText": "Done — 8.0s analyzed, bpm-80."
          },
          "tolerance": {
            "absoluteBpm": 1,
            "rationale": "Fixed before execution from 200 Hz envelope-frame quantization plus one-decimal UI reporting."
          },
          "assertions": [
            {
              "name": "real UI workflow completed",
              "pass": true,
              "evidence": "Done — 8.0s analyzed, bpm-80."
            },
            {
              "name": "known tempo matched",
              "pass": true,
              "evidence": "known 80 BPM; expected UI 80 BPM; observed 80 BPM; absolute error 0 BPM"
            },
            {
              "name": "no workflow network request",
              "pass": true,
              "evidence": "0 request(s) after file selection"
            },
            {
              "name": "no console or page error",
              "pass": true,
              "evidence": "0 console error(s), 0 page error(s)"
            }
          ],
          "networkDataFlow": {
            "requestsDuringWorkflow": 0,
            "payloadRequests": 0,
            "crossOriginRequests": 0,
            "nonGetRequests": 0,
            "badResponses": 0,
            "failedRequests": 0,
            "requests": []
          },
          "limitations": []
        },
        {
          "id": "bpm-100",
          "result": "PASS",
          "inputFixture": "assets/benchmark-fixtures/bpm-100.wav",
          "expected": {
            "knownTempoBpm": 100,
            "displayedTempoBpm": 100,
            "classification": "exact"
          },
          "observed": {
            "displayedTempoBpm": 100,
            "absoluteErrorBpm": 0,
            "statusText": "Done — 8.0s analyzed, bpm-100."
          },
          "tolerance": {
            "absoluteBpm": 1,
            "rationale": "Fixed before execution from 200 Hz envelope-frame quantization plus one-decimal UI reporting."
          },
          "assertions": [
            {
              "name": "real UI workflow completed",
              "pass": true,
              "evidence": "Done — 8.0s analyzed, bpm-100."
            },
            {
              "name": "known tempo matched",
              "pass": true,
              "evidence": "known 100 BPM; expected UI 100 BPM; observed 100 BPM; absolute error 0 BPM"
            },
            {
              "name": "no workflow network request",
              "pass": true,
              "evidence": "0 request(s) after file selection"
            },
            {
              "name": "no console or page error",
              "pass": true,
              "evidence": "0 console error(s), 0 page error(s)"
            }
          ],
          "networkDataFlow": {
            "requestsDuringWorkflow": 0,
            "payloadRequests": 0,
            "crossOriginRequests": 0,
            "nonGetRequests": 0,
            "badResponses": 0,
            "failedRequests": 0,
            "requests": []
          },
          "limitations": []
        },
        {
          "id": "bpm-128",
          "result": "PASS",
          "inputFixture": "assets/benchmark-fixtures/bpm-128.wav",
          "expected": {
            "knownTempoBpm": 128,
            "displayedTempoBpm": 128,
            "classification": "exact"
          },
          "observed": {
            "displayedTempoBpm": 127.7,
            "absoluteErrorBpm": 0.3,
            "statusText": "Done — 8.0s analyzed, bpm-128."
          },
          "tolerance": {
            "absoluteBpm": 1,
            "rationale": "Fixed before execution from 200 Hz envelope-frame quantization plus one-decimal UI reporting."
          },
          "assertions": [
            {
              "name": "real UI workflow completed",
              "pass": true,
              "evidence": "Done — 8.0s analyzed, bpm-128."
            },
            {
              "name": "known tempo matched",
              "pass": true,
              "evidence": "known 128 BPM; expected UI 128 BPM; observed 127.7 BPM; absolute error 0.29999999999999716 BPM"
            },
            {
              "name": "no workflow network request",
              "pass": true,
              "evidence": "0 request(s) after file selection"
            },
            {
              "name": "no console or page error",
              "pass": true,
              "evidence": "0 console error(s), 0 page error(s)"
            }
          ],
          "networkDataFlow": {
            "requestsDuringWorkflow": 0,
            "payloadRequests": 0,
            "crossOriginRequests": 0,
            "nonGetRequests": 0,
            "badResponses": 0,
            "failedRequests": 0,
            "requests": []
          },
          "limitations": []
        },
        {
          "id": "bpm-160",
          "result": "PASS",
          "inputFixture": "assets/benchmark-fixtures/bpm-160.wav",
          "expected": {
            "knownTempoBpm": 160,
            "displayedTempoBpm": 160,
            "classification": "exact"
          },
          "observed": {
            "displayedTempoBpm": 160,
            "absoluteErrorBpm": 0,
            "statusText": "Done — 8.0s analyzed, bpm-160."
          },
          "tolerance": {
            "absoluteBpm": 1,
            "rationale": "Fixed before execution from 200 Hz envelope-frame quantization plus one-decimal UI reporting."
          },
          "assertions": [
            {
              "name": "real UI workflow completed",
              "pass": true,
              "evidence": "Done — 8.0s analyzed, bpm-160."
            },
            {
              "name": "known tempo matched",
              "pass": true,
              "evidence": "known 160 BPM; expected UI 160 BPM; observed 160 BPM; absolute error 0 BPM"
            },
            {
              "name": "no workflow network request",
              "pass": true,
              "evidence": "0 request(s) after file selection"
            },
            {
              "name": "no console or page error",
              "pass": true,
              "evidence": "0 console error(s), 0 page error(s)"
            }
          ],
          "networkDataFlow": {
            "requestsDuringWorkflow": 0,
            "payloadRequests": 0,
            "crossOriginRequests": 0,
            "nonGetRequests": 0,
            "badResponses": 0,
            "failedRequests": 0,
            "requests": []
          },
          "limitations": []
        },
        {
          "id": "bpm-60-double-time",
          "result": "PASS_WITH_DECLARED_AMBIGUITY",
          "inputFixture": "assets/benchmark-fixtures/bpm-60-double-time.wav",
          "expected": {
            "knownTempoBpm": 60,
            "displayedTempoBpm": 120,
            "classification": "declared-double-time-ambiguity"
          },
          "observed": {
            "displayedTempoBpm": 120,
            "absoluteErrorBpm": 0,
            "statusText": "Done — 8.0s analyzed, bpm-60-double-time."
          },
          "tolerance": {
            "absoluteBpm": 1,
            "rationale": "Fixed before execution from 200 Hz envelope-frame quantization plus one-decimal UI reporting."
          },
          "assertions": [
            {
              "name": "real UI workflow completed",
              "pass": true,
              "evidence": "Done — 8.0s analyzed, bpm-60-double-time."
            },
            {
              "name": "declared half/double interpretation matched",
              "pass": true,
              "evidence": "known 60 BPM; expected UI 120 BPM; observed 120 BPM; absolute error 0 BPM"
            },
            {
              "name": "no workflow network request",
              "pass": true,
              "evidence": "0 request(s) after file selection"
            },
            {
              "name": "no console or page error",
              "pass": true,
              "evidence": "0 console error(s), 0 page error(s)"
            }
          ],
          "networkDataFlow": {
            "requestsDuringWorkflow": 0,
            "payloadRequests": 0,
            "crossOriginRequests": 0,
            "nonGetRequests": 0,
            "badResponses": 0,
            "failedRequests": 0,
            "requests": []
          },
          "limitations": [
            "The detector intentionally folds estimates below 70 BPM upward, so a 60 BPM pulse train is displayed as its 120 BPM double-time interpretation."
          ]
        },
        {
          "id": "bpm-200-half-time",
          "result": "PASS_WITH_DECLARED_AMBIGUITY",
          "inputFixture": "assets/benchmark-fixtures/bpm-200-half-time.wav",
          "expected": {
            "knownTempoBpm": 200,
            "displayedTempoBpm": 100,
            "classification": "declared-half-time-ambiguity"
          },
          "observed": {
            "displayedTempoBpm": 100,
            "absoluteErrorBpm": 0,
            "statusText": "Done — 8.0s analyzed, bpm-200-half-time."
          },
          "tolerance": {
            "absoluteBpm": 1,
            "rationale": "Fixed before execution from 200 Hz envelope-frame quantization plus one-decimal UI reporting."
          },
          "assertions": [
            {
              "name": "real UI workflow completed",
              "pass": true,
              "evidence": "Done — 8.0s analyzed, bpm-200-half-time."
            },
            {
              "name": "declared half/double interpretation matched",
              "pass": true,
              "evidence": "known 200 BPM; expected UI 100 BPM; observed 100 BPM; absolute error 0 BPM"
            },
            {
              "name": "no workflow network request",
              "pass": true,
              "evidence": "0 request(s) after file selection"
            },
            {
              "name": "no console or page error",
              "pass": true,
              "evidence": "0 console error(s), 0 page error(s)"
            }
          ],
          "networkDataFlow": {
            "requestsDuringWorkflow": 0,
            "payloadRequests": 0,
            "crossOriginRequests": 0,
            "nonGetRequests": 0,
            "badResponses": 0,
            "failedRequests": 0,
            "requests": []
          },
          "limitations": [
            "The detector intentionally folds estimates above 180 BPM downward, so a 200 BPM pulse train is displayed as its 100 BPM half-time interpretation."
          ]
        }
      ]
    },
    {
      "slug": "key-finder",
      "result": "PASS",
      "summary": "6/6 authored triad-progression keys matched exact root, mode and Camelot code. Mismatches remain FAIL and expose the estimator's current tonal-profile limitations.",
      "networkDataFlow": {
        "requestsDuringWorkflow": 0,
        "payloadRequests": 0,
        "crossOriginRequests": 0,
        "nonGetRequests": 0,
        "badResponses": 0,
        "failedRequests": 0
      },
      "cases": [
        {
          "id": "key-c-major",
          "result": "PASS",
          "inputFixture": "assets/benchmark-fixtures/key-c-major.wav",
          "expected": {
            "musicalKey": "C major",
            "camelotCode": "8B",
            "progression": "I-IV-V-I-I in C major",
            "chords": [
              [
                "C",
                "E",
                "G"
              ],
              [
                "F",
                "A",
                "C"
              ],
              [
                "G",
                "B",
                "D"
              ],
              [
                "C",
                "E",
                "G"
              ],
              [
                "C",
                "E",
                "G"
              ]
            ]
          },
          "observed": {
            "musicalKey": "C major",
            "camelotCode": "8B",
            "incidentalBpmEstimate": 107,
            "statusText": "Done — 10.0s analyzed, key-c-major."
          },
          "tolerance": {
            "rootAndMode": "exact",
            "camelotCode": "exact"
          },
          "assertions": [
            {
              "name": "real UI workflow completed",
              "pass": true,
              "evidence": "Done — 10.0s analyzed, key-c-major."
            },
            {
              "name": "root and mode matched exactly",
              "pass": true,
              "evidence": "expected C major; observed C major"
            },
            {
              "name": "Camelot code matched expected key",
              "pass": true,
              "evidence": "expected 8B; observed 8B"
            },
            {
              "name": "no workflow network request",
              "pass": true,
              "evidence": "0 request(s) after file selection"
            },
            {
              "name": "no console or page error",
              "pass": true,
              "evidence": "0 console error(s), 0 page error(s)"
            }
          ],
          "networkDataFlow": {
            "requestsDuringWorkflow": 0,
            "payloadRequests": 0,
            "crossOriginRequests": 0,
            "nonGetRequests": 0,
            "badResponses": 0,
            "failedRequests": 0,
            "requests": []
          },
          "limitations": []
        },
        {
          "id": "key-d-major",
          "result": "PASS",
          "inputFixture": "assets/benchmark-fixtures/key-d-major.wav",
          "expected": {
            "musicalKey": "D major",
            "camelotCode": "10B",
            "progression": "I-IV-V-I-I in D major",
            "chords": [
              [
                "D",
                "F#",
                "A"
              ],
              [
                "G",
                "B",
                "D"
              ],
              [
                "A",
                "C#",
                "E"
              ],
              [
                "D",
                "F#",
                "A"
              ],
              [
                "D",
                "F#",
                "A"
              ]
            ]
          },
          "observed": {
            "musicalKey": "D major",
            "camelotCode": "10B",
            "incidentalBpmEstimate": 95,
            "statusText": "Done — 10.0s analyzed, key-d-major."
          },
          "tolerance": {
            "rootAndMode": "exact",
            "camelotCode": "exact"
          },
          "assertions": [
            {
              "name": "real UI workflow completed",
              "pass": true,
              "evidence": "Done — 10.0s analyzed, key-d-major."
            },
            {
              "name": "root and mode matched exactly",
              "pass": true,
              "evidence": "expected D major; observed D major"
            },
            {
              "name": "Camelot code matched expected key",
              "pass": true,
              "evidence": "expected 10B; observed 10B"
            },
            {
              "name": "no workflow network request",
              "pass": true,
              "evidence": "0 request(s) after file selection"
            },
            {
              "name": "no console or page error",
              "pass": true,
              "evidence": "0 console error(s), 0 page error(s)"
            }
          ],
          "networkDataFlow": {
            "requestsDuringWorkflow": 0,
            "payloadRequests": 0,
            "crossOriginRequests": 0,
            "nonGetRequests": 0,
            "badResponses": 0,
            "failedRequests": 0,
            "requests": []
          },
          "limitations": []
        },
        {
          "id": "key-f-major",
          "result": "PASS",
          "inputFixture": "assets/benchmark-fixtures/key-f-major.wav",
          "expected": {
            "musicalKey": "F major",
            "camelotCode": "7B",
            "progression": "I-IV-V-I-I in F major",
            "chords": [
              [
                "F",
                "A",
                "C"
              ],
              [
                "A#",
                "D",
                "F"
              ],
              [
                "C",
                "E",
                "G"
              ],
              [
                "F",
                "A",
                "C"
              ],
              [
                "F",
                "A",
                "C"
              ]
            ]
          },
          "observed": {
            "musicalKey": "F major",
            "camelotCode": "7B",
            "incidentalBpmEstimate": 94,
            "statusText": "Done — 10.0s analyzed, key-f-major."
          },
          "tolerance": {
            "rootAndMode": "exact",
            "camelotCode": "exact"
          },
          "assertions": [
            {
              "name": "real UI workflow completed",
              "pass": true,
              "evidence": "Done — 10.0s analyzed, key-f-major."
            },
            {
              "name": "root and mode matched exactly",
              "pass": true,
              "evidence": "expected F major; observed F major"
            },
            {
              "name": "Camelot code matched expected key",
              "pass": true,
              "evidence": "expected 7B; observed 7B"
            },
            {
              "name": "no workflow network request",
              "pass": true,
              "evidence": "0 request(s) after file selection"
            },
            {
              "name": "no console or page error",
              "pass": true,
              "evidence": "0 console error(s), 0 page error(s)"
            }
          ],
          "networkDataFlow": {
            "requestsDuringWorkflow": 0,
            "payloadRequests": 0,
            "crossOriginRequests": 0,
            "nonGetRequests": 0,
            "badResponses": 0,
            "failedRequests": 0,
            "requests": []
          },
          "limitations": []
        },
        {
          "id": "key-g-major",
          "result": "PASS",
          "inputFixture": "assets/benchmark-fixtures/key-g-major.wav",
          "expected": {
            "musicalKey": "G major",
            "camelotCode": "9B",
            "progression": "I-IV-V-I-I in G major",
            "chords": [
              [
                "G",
                "B",
                "D"
              ],
              [
                "C",
                "E",
                "G"
              ],
              [
                "D",
                "F#",
                "A"
              ],
              [
                "G",
                "B",
                "D"
              ],
              [
                "G",
                "B",
                "D"
              ]
            ]
          },
          "observed": {
            "musicalKey": "G major",
            "camelotCode": "9B",
            "incidentalBpmEstimate": 107,
            "statusText": "Done — 10.0s analyzed, key-g-major."
          },
          "tolerance": {
            "rootAndMode": "exact",
            "camelotCode": "exact"
          },
          "assertions": [
            {
              "name": "real UI workflow completed",
              "pass": true,
              "evidence": "Done — 10.0s analyzed, key-g-major."
            },
            {
              "name": "root and mode matched exactly",
              "pass": true,
              "evidence": "expected G major; observed G major"
            },
            {
              "name": "Camelot code matched expected key",
              "pass": true,
              "evidence": "expected 9B; observed 9B"
            },
            {
              "name": "no workflow network request",
              "pass": true,
              "evidence": "0 request(s) after file selection"
            },
            {
              "name": "no console or page error",
              "pass": true,
              "evidence": "0 console error(s), 0 page error(s)"
            }
          ],
          "networkDataFlow": {
            "requestsDuringWorkflow": 0,
            "payloadRequests": 0,
            "crossOriginRequests": 0,
            "nonGetRequests": 0,
            "badResponses": 0,
            "failedRequests": 0,
            "requests": []
          },
          "limitations": []
        },
        {
          "id": "key-a-minor",
          "result": "PASS",
          "inputFixture": "assets/benchmark-fixtures/key-a-minor.wav",
          "expected": {
            "musicalKey": "A minor",
            "camelotCode": "8A",
            "progression": "i-iv-V-i-i in A harmonic minor",
            "chords": [
              [
                "A",
                "C",
                "E"
              ],
              [
                "D",
                "F",
                "A"
              ],
              [
                "E",
                "G#",
                "B"
              ],
              [
                "A",
                "C",
                "E"
              ],
              [
                "A",
                "C",
                "E"
              ]
            ]
          },
          "observed": {
            "musicalKey": "A minor",
            "camelotCode": "8A",
            "incidentalBpmEstimate": 107,
            "statusText": "Done — 10.0s analyzed, key-a-minor."
          },
          "tolerance": {
            "rootAndMode": "exact",
            "camelotCode": "exact"
          },
          "assertions": [
            {
              "name": "real UI workflow completed",
              "pass": true,
              "evidence": "Done — 10.0s analyzed, key-a-minor."
            },
            {
              "name": "root and mode matched exactly",
              "pass": true,
              "evidence": "expected A minor; observed A minor"
            },
            {
              "name": "Camelot code matched expected key",
              "pass": true,
              "evidence": "expected 8A; observed 8A"
            },
            {
              "name": "no workflow network request",
              "pass": true,
              "evidence": "0 request(s) after file selection"
            },
            {
              "name": "no console or page error",
              "pass": true,
              "evidence": "0 console error(s), 0 page error(s)"
            }
          ],
          "networkDataFlow": {
            "requestsDuringWorkflow": 0,
            "payloadRequests": 0,
            "crossOriginRequests": 0,
            "nonGetRequests": 0,
            "badResponses": 0,
            "failedRequests": 0,
            "requests": []
          },
          "limitations": []
        },
        {
          "id": "key-e-minor",
          "result": "PASS",
          "inputFixture": "assets/benchmark-fixtures/key-e-minor.wav",
          "expected": {
            "musicalKey": "E minor",
            "camelotCode": "9A",
            "progression": "i-iv-v-i-i in E natural minor",
            "chords": [
              [
                "E",
                "G",
                "B"
              ],
              [
                "A",
                "C",
                "E"
              ],
              [
                "B",
                "D",
                "F#"
              ],
              [
                "E",
                "G",
                "B"
              ],
              [
                "E",
                "G",
                "B"
              ]
            ]
          },
          "observed": {
            "musicalKey": "E minor",
            "camelotCode": "9A",
            "incidentalBpmEstimate": 107,
            "statusText": "Done — 10.0s analyzed, key-e-minor."
          },
          "tolerance": {
            "rootAndMode": "exact",
            "camelotCode": "exact"
          },
          "assertions": [
            {
              "name": "real UI workflow completed",
              "pass": true,
              "evidence": "Done — 10.0s analyzed, key-e-minor."
            },
            {
              "name": "root and mode matched exactly",
              "pass": true,
              "evidence": "expected E minor; observed E minor"
            },
            {
              "name": "Camelot code matched expected key",
              "pass": true,
              "evidence": "expected 9A; observed 9A"
            },
            {
              "name": "no workflow network request",
              "pass": true,
              "evidence": "0 request(s) after file selection"
            },
            {
              "name": "no console or page error",
              "pass": true,
              "evidence": "0 console error(s), 0 page error(s)"
            }
          ],
          "networkDataFlow": {
            "requestsDuringWorkflow": 0,
            "payloadRequests": 0,
            "crossOriginRequests": 0,
            "nonGetRequests": 0,
            "badResponses": 0,
            "failedRequests": 0,
            "requests": []
          },
          "limitations": []
        }
      ]
    },
    {
      "slug": "loudness-normalizer",
      "result": "PASS",
      "summary": "2/2 known-level sine cases passed visible measurement, normalization, downloaded-WAV and data-flow assertions.",
      "networkDataFlow": {
        "requestsDuringWorkflow": 0,
        "payloadRequests": 0,
        "crossOriginRequests": 0,
        "nonGetRequests": 0,
        "badResponses": 0,
        "failedRequests": 0
      },
      "cases": [
        {
          "id": "loudness-sine-minus12-to-minus23",
          "result": "PASS",
          "inputFixture": "assets/benchmark-fixtures/loudness-sine-minus12-to-minus23.wav",
          "expected": {
            "generatedSamplePeakDbfs": -11.9999,
            "generatedRmsDbfs": -15.0107,
            "independentSineEnergyReferenceLufs": -15.7017,
            "normalizationTargetLufs": -23,
            "measurementKind": "integrated-LUFS estimate and sample peak"
          },
          "observed": {
            "visibleInputLufs": -15,
            "visibleInputSamplePeakDbfs": -12,
            "visibleOutputLufs": -23,
            "visibleOutputSamplePeakDbfs": -20,
            "downloadedWavBytes": 384044,
            "downloadedWavSamplePeakDbfs": -19.9598,
            "downloadedWavRmsDbfs": -22.9862,
            "downloadedWavSineEnergyReferenceLufs": -23.6772
          },
          "tolerance": {
            "inputSamplePeakDb": 0.15,
            "inputVsIndependentSineReferenceLu": 1,
            "normalizedUiVsTargetLu": 0.2,
            "downloadedWavVsIndependentSineReferenceLu": 1,
            "rationale": "Fixed before execution: one-decimal UI rounding for sample peak; a 1 LU allowance compares the in-browser K-weighted estimate with an intentionally simpler independent 1 kHz steady-sine energy reference."
          },
          "assertions": [
            {
              "name": "real UI measurement, normalize and WAV download completed",
              "pass": true,
              "evidence": "valid PCM16 WAV, 384044 bytes"
            },
            {
              "name": "visible input sample peak matched generated fixture",
              "pass": true,
              "evidence": "fixture -12 dBFS; UI -12 dBFS; error 0 dB"
            },
            {
              "name": "visible LUFS matched independent steady-sine energy reference",
              "pass": true,
              "evidence": "reference -15.7 LUFS; UI -15 LUFS; error 0.7 LU"
            },
            {
              "name": "visible post-normalization LUFS reached target",
              "pass": true,
              "evidence": "target -23 LUFS; UI after -23 LUFS; error 0 LU"
            },
            {
              "name": "downloaded WAV energy remained near target",
              "pass": true,
              "evidence": "target -23 LUFS; independent WAV reference -23.68 LUFS; error 0.68 LU"
            },
            {
              "name": "visible output sample peak matched downloaded WAV",
              "pass": true,
              "evidence": "UI -20 dBFS; WAV -19.96 dBFS; error 0.04 dB"
            },
            {
              "name": "no workflow network request",
              "pass": true,
              "evidence": "0 request(s) after file selection"
            },
            {
              "name": "no console or page error",
              "pass": true,
              "evidence": "0 console error(s), 0 page error(s)"
            }
          ],
          "networkDataFlow": {
            "requestsDuringWorkflow": 0,
            "payloadRequests": 0,
            "crossOriginRequests": 0,
            "nonGetRequests": 0,
            "badResponses": 0,
            "failedRequests": 0,
            "requests": []
          },
          "limitations": [
            "The independent cross-check is a controlled 1 kHz steady-sine energy reference, not a certified broadcast meter.",
            "Peak assertions are sample-peak assertions only and do not cover inter-sample overs.",
            "This wave does not benchmark speech, music dynamics, multichannel weighting or codec round trips."
          ]
        },
        {
          "id": "loudness-sine-minus24-to-minus16",
          "result": "PASS",
          "inputFixture": "assets/benchmark-fixtures/loudness-sine-minus24-to-minus16.wav",
          "expected": {
            "generatedSamplePeakDbfs": -23.998,
            "generatedRmsDbfs": -27.0103,
            "independentSineEnergyReferenceLufs": -27.7013,
            "normalizationTargetLufs": -16,
            "measurementKind": "integrated-LUFS estimate and sample peak"
          },
          "observed": {
            "visibleInputLufs": -27,
            "visibleInputSamplePeakDbfs": -24,
            "visibleOutputLufs": -16,
            "visibleOutputSamplePeakDbfs": -13,
            "downloadedWavBytes": 384044,
            "downloadedWavSamplePeakDbfs": -12.9585,
            "downloadedWavRmsDbfs": -15.9855,
            "downloadedWavSineEnergyReferenceLufs": -16.6765
          },
          "tolerance": {
            "inputSamplePeakDb": 0.15,
            "inputVsIndependentSineReferenceLu": 1,
            "normalizedUiVsTargetLu": 0.2,
            "downloadedWavVsIndependentSineReferenceLu": 1,
            "rationale": "Fixed before execution: one-decimal UI rounding for sample peak; a 1 LU allowance compares the in-browser K-weighted estimate with an intentionally simpler independent 1 kHz steady-sine energy reference."
          },
          "assertions": [
            {
              "name": "real UI measurement, normalize and WAV download completed",
              "pass": true,
              "evidence": "valid PCM16 WAV, 384044 bytes"
            },
            {
              "name": "visible input sample peak matched generated fixture",
              "pass": true,
              "evidence": "fixture -24 dBFS; UI -24 dBFS; error 0 dB"
            },
            {
              "name": "visible LUFS matched independent steady-sine energy reference",
              "pass": true,
              "evidence": "reference -27.7 LUFS; UI -27 LUFS; error 0.7 LU"
            },
            {
              "name": "visible post-normalization LUFS reached target",
              "pass": true,
              "evidence": "target -16 LUFS; UI after -16 LUFS; error 0 LU"
            },
            {
              "name": "downloaded WAV energy remained near target",
              "pass": true,
              "evidence": "target -16 LUFS; independent WAV reference -16.68 LUFS; error 0.68 LU"
            },
            {
              "name": "visible output sample peak matched downloaded WAV",
              "pass": true,
              "evidence": "UI -13 dBFS; WAV -12.96 dBFS; error 0.04 dB"
            },
            {
              "name": "no workflow network request",
              "pass": true,
              "evidence": "0 request(s) after file selection"
            },
            {
              "name": "no console or page error",
              "pass": true,
              "evidence": "0 console error(s), 0 page error(s)"
            }
          ],
          "networkDataFlow": {
            "requestsDuringWorkflow": 0,
            "payloadRequests": 0,
            "crossOriginRequests": 0,
            "nonGetRequests": 0,
            "badResponses": 0,
            "failedRequests": 0,
            "requests": []
          },
          "limitations": [
            "The independent cross-check is a controlled 1 kHz steady-sine energy reference, not a certified broadcast meter.",
            "Peak assertions are sample-peak assertions only and do not cover inter-sample overs.",
            "This wave does not benchmark speech, music dynamics, multichannel weighting or codec round trips."
          ]
        }
      ]
    }
  ],
  "limitations": [
    "Synthetic fixtures isolate deterministic behavior; they do not represent the full diversity of mastered music or noisy field recordings.",
    "BPM coverage is a controlled click grid; syncopation, swing, changing tempo and rubato are outside this wave.",
    "Key coverage uses six authored triad progressions. A wrong root or mode remains FAIL even when the observed label is harmonically related.",
    "Loudness coverage uses steady mono 1 kHz tones and sample-peak checks; it is not a certified meter conformance suite.",
    "The browser may resample a source WAV to its AudioContext rate; this benchmark intentionally measures the public browser behavior rather than a direct Node-only DSP invocation."
  ],
  "fatalError": null
}
