{
  "_howto": "Edit this file only to update the site. status is one of: baseline | null | running | pending | advance | fail. 'numbers' is a list of {label, value}. 'link' is a repo-relative path (joined with SITE_CONFIG.repo) or a full URL. Set 'eta' on a running generation to show it. Every number here must come from a filed results/prereg file.",
  "updated": "2026-11-04 18:10 EST",
  "generations": [
    {
      "id": "gen16",
      "label": "Version 16",
      "change": "We scored training on three things at once instead of one",
      "status": "null",
      "numbers": [
        {
          "label": "How much cleaner than version 15 (dB)",
          "value": "+0.93 dB"
        },
        {
          "label": "Change in how understandable (negative is worse)",
          "value": "−0.033"
        }
      ],
      "note": "Did not help. One try only, so it does not prove the idea can never work.",
      "link": "STATUS.md"
    },
    {
      "id": "gen17",
      "label": "Version 17",
      "change": "We gave it 26 voices to learn from instead of 10 (and changed a few other things at the same time)",
      "status": "advance",
      "numbers": [
        {
          "label": "How much cleaner in crowds (dB)",
          "value": "+0.26 dB"
        }
      ],
      "note": "Sloppier than later versions: several things changed at once.",
      "link": "SUBMISSION.md"
    },
    {
      "id": "gen18",
      "label": "Version 18",
      "change": "We gave it 251 voices to learn from instead of 26",
      "status": "advance",
      "numbers": [
        {
          "label": "Effect with the short training of the time",
          "value": "roughly neutral"
        }
      ],
      "note": "Kept: version 19 learns from these 251 voices.",
      "link": "SUBMISSION.md"
    },
    {
      "id": "gen19",
      "label": "Version 19",
      "change": "We trained it four times longer",
      "status": "baseline",
      "numbers": [
        {
          "label": "How much cleaner in crowds (average of 3 runs)",
          "value": "+3.51 dB"
        },
        {
          "label": "Crowd louder than voice",
          "value": "+1.19 dB vs +1.5 required"
        },
        {
          "label": "Checks passed",
          "value": "13 of 14 rows pass"
        }
      ],
      "note": "Our best version. Passes 13 of 14 checks. Not approved for anything yet.",
      "link": "research/gen19/results.md"
    },
    {
      "id": "gen20",
      "label": "Version 20",
      "change": "We showed it bigger crowds more often during training",
      "status": "null",
      "numbers": [
        {
          "label": "Extra improvement, crowd louder than voice",
          "value": "+0.02 dB vs +0.30 required"
        },
        {
          "label": "Change in how understandable there",
          "value": "−0.002 vs ≥ 0 required"
        }
      ],
      "note": "Did not help. Both versions improved a little just from restarting. Kept the old mix.",
      "link": "STATUS.md"
    },
    {
      "id": "gen21",
      "label": "Version 21",
      "change": "We trained it twice as long, two different ways, three runs each",
      "status": "null",
      "numbers": [
        {
          "label": "Way 1: hardest crowd, test set 1 / test set 2",
          "value": "+0.14 / −0.24 dB"
        },
        {
          "label": "Way 2: hardest crowd, test set 1 / test set 2",
          "value": "+0.12 / −0.10 dB"
        },
        {
          "label": "Needed on both test sets",
          "value": "+0.30 dB on both panels"
        },
        {
          "label": "Everyday crowds improved to",
          "value": "+3.79 / +3.67 dB"
        }
      ],
      "note": "Did not help. Training longer makes easy crowds better, not the hardest one.",
      "link": "research/gen21/results.md"
    },
    {
      "id": "gen22",
      "label": "Version 22",
      "change": "We changed how training is scored so near-perfect quiet examples stop drowning out the hard ones",
      "status": "null",
      "numbers": [
        {
          "label": "Hardest crowd, test set 1 / test set 2",
          "value": "+0.149 / −0.010 dB"
        },
        {
          "label": "Needed on both test sets",
          "value": "+0.30 dB on both panels"
        },
        {
          "label": "Other safety checks",
          "value": "5 of 5 pass"
        }
      ],
      "note": "Did not help. The hardest crowd barely moved. We dropped the change.",
      "link": "research/gen22/results.md"
    },
    {
      "id": "gen23",
      "label": "Version 23",
      "change": "We added a second way of scoring training that listens to the shape of the sound, not just the waveform",
      "status": "fail",
      "numbers": [
        {
          "label": "VAL −5 dB vs Gen 19",
          "value": "−0.338 dB"
        },
        {
          "label": "Bench −5 dB vs Gen 19",
          "value": "−0.027 dB"
        },
        {
          "label": "Required (both)",
          "value": "≥ +0.30 dB"
        },
        {
          "label": "Spectral share of gradient",
          "value": "~1%"
        }
      ],
      "note": "Being tested right now. The plan and the passing score were written down before it started.",
      "link": "research/gen23/results.md"
    },
    {
      "id": "gen24",
      "label": "Version 24",
      "change": "We will train on far more of the hardest crowds (40% of examples instead of 17%)",
      "status": "pending",
      "numbers": [
        {
          "label": "Starts",
          "value": "only if Gen 23 fails its screen"
        }
      ],
      "note": "Drafted, not started. Only the loudness of the crowd changes; everything else stays the same.",
      "link": "research/gen24/prereg.md"
    }
  ]
}
