{
 "generated_by": "scripts/build_history.py",
 "score_formula": "strict-match % on GSM8K test (n = 1,319) minus total parameters in billions",
 "submission": {
  "run": "final-q35-4b-full-lr1e5",
  "correct": 1212,
  "score": 87.2278,
  "board_shows": 87.2,
  "board_rank": 6,
  "params_b": 4.66,
  "note": "local adapter sha256 0beb830c..."
 },
 "base_reference": {
  "val500": {
   "correct": 457,
   "n": 500
  },
  "val200": {
   "correct": 180,
   "n": 200
  },
  "test": {
   "correct": 1198,
   "n": 1319,
   "score": 86.1664
  }
 },
 "phases": [
  {
   "id": "P1",
   "name": "Pick the base model",
   "when": "Oct 5 evening",
   "trainer": "old (packed rows kept separate)",
   "summary": "2B, 4B and 9B Qwen3.5 with standard LoRA SFT. The 4B won; heavy SFT made every model worse than the untouched 4B."
  },
  {
   "id": "P2",
   "name": "Light touch wins",
   "when": "Oct 6 morning",
   "trainer": "old",
   "summary": "LR 1e-5, one epoch, 48 packed steps: +1 pt on validation, then 1,212/1,319 on test = the submission (87.2278)."
  },
  {
   "id": "P3",
   "name": "Re-rolls after the trainer change",
   "when": "Oct 6 afternoon-evening",
   "trainer": "packed rows attend to each other (Overmind commit 1be6037, 10:12 PDT)",
   "summary": "The same recipe re-run collapsed into short `<<calc>>` answers: 1,074-1,170 on test."
  },
  {
   "id": "P4",
   "name": "Overnight probes",
   "when": "Oct 6 22:00 - Oct 7 09:00",
   "trainer": "new; 960-row subsets train unpacked",
   "summary": "18 automated runs on 960-row subsets (batch, LR, attention-only, Full-FT, 2 epochs; a 19th never finished): none more than 2 items above the base on 200 val items."
  },
  {
   "id": "P5",
   "name": "Other bases and full fine-tuning",
   "when": "Oct 7 09:30 - 13:00",
   "trainer": "packed until ~11:30, then everything unpacked (PR #167)",
   "summary": "Qwen3-4B (127/200), packed light LoRA = base on test (1,198 / 1,197), unpacked LoRA and Full-FT below base."
  },
  {
   "id": "P6",
   "name": "Around the submitted recipe",
   "when": "Oct 7 13:00 - 17:00",
   "trainer": "new, unpacked",
   "summary": "Exact copy 1,058; 48 steps at LR 1e-5 collapsed; 48 steps at LR 5e-6 batch 16 was the best since the change: 1,198-1,208."
  }
 ],
 "runs": [
  {
   "id": "r1-q35-2b-zs",
   "phase": "P1",
   "time": "10-05 20:30",
   "base": "Qwen/Qwen3.5-2B",
   "method": "LoRA r32",
   "data": "6,973 rows",
   "lr": 0.0002,
   "batch": 16,
   "epochs": 2,
   "val": "r1-q35-2b-zs",
   "val_n": 500,
   "outcome": "too weak",
   "lesson": "The 2B is ~26 pts behind the 4B; its 2.4 B saving cannot pay for that.",
   "params_b": 2.27,
   "val_result": {
    "n": 500,
    "correct": 328,
    "base_correct": 457,
    "trunc": 1,
    "calc_share": 0.984,
    "mean_chars": 261,
    "no_hash": 1
   }
  },
  {
   "id": "r3-q35-2b-zs-3ep",
   "phase": "P1",
   "time": "10-05 21:34",
   "base": "Qwen/Qwen3.5-2B",
   "method": "LoRA r32",
   "data": "6,973 rows",
   "lr": 0.0002,
   "batch": 16,
   "epochs": 3,
   "val": "r3-q35-2b-zs-3ep",
   "val_n": 500,
   "outcome": "too weak",
   "lesson": "A third epoch adds nothing.",
   "params_b": 2.27,
   "val_result": {
    "n": 500,
    "correct": 330,
    "base_correct": 457,
    "trunc": 1,
    "calc_share": 0.978,
    "mean_chars": 262,
    "no_hash": 1
   }
  },
  {
   "id": "r1-q35-4b-zs-bs8",
   "phase": "P1",
   "time": "10-05 21:16",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32",
   "data": "6,973 rows",
   "lr": 0.0002,
   "batch": 8,
   "epochs": 2,
   "val": "r1-q35-4b-zs-bs8",
   "val_n": 500,
   "outcome": "beats 78.39 board at the time",
   "lesson": "Strong SFT: 7.6 pts below the untouched 4B.",
   "params_b": 4.66,
   "val_result": {
    "n": 500,
    "correct": 419,
    "base_correct": 457,
    "trunc": 1,
    "calc_share": 0.986,
    "mean_chars": 271,
    "no_hash": 1
   }
  },
  {
   "id": "r3-q35-4b-zs-1ep-lr1e4",
   "phase": "P1",
   "time": "10-05 21:59",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32",
   "data": "6,973 rows",
   "lr": 0.0001,
   "batch": 8,
   "epochs": 1,
   "val": "r3-q35-4b-zs-1ep-lr1e4",
   "val_n": 500,
   "outcome": "same as 2 epochs",
   "lesson": "Halving the dose did not help yet: still far too strong.",
   "params_b": 4.66,
   "val_result": {
    "n": 500,
    "correct": 416,
    "base_correct": 457,
    "trunc": 0,
    "calc_share": 0.988,
    "mean_chars": 259,
    "no_hash": 0
   }
  },
  {
   "id": "r3-q35-4b-zs-r64-lr1e4",
   "phase": "P1",
   "time": "10-05 23:31",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r64",
   "data": "6,973 rows",
   "lr": 0.0001,
   "batch": 8,
   "epochs": 2,
   "val": "r3-q35-4b-zs-r64-lr1e4",
   "val_n": 500,
   "outcome": "no gain from rank",
   "lesson": "More adapter capacity is not the lever.",
   "params_b": 4.66,
   "val_result": {
    "n": 500,
    "correct": 420,
    "base_correct": 457,
    "trunc": 0,
    "calc_share": 0.982,
    "mean_chars": 262,
    "no_hash": 0
   }
  },
  {
   "id": "r3-q35-4b-full-1ep-lr1e5",
   "phase": "P1",
   "time": "10-05 23:39",
   "base": "Qwen/Qwen3.5-4B",
   "method": "Full fine-tune",
   "data": "6,973 rows",
   "lr": 1e-05,
   "batch": 8,
   "epochs": 1,
   "val": "r3-q35-4b-full-1ep-lr1e5",
   "val_n": 500,
   "outcome": "worst 4B",
   "lesson": "Full FT at LoRA-like LR forgets the most.",
   "params_b": 4.66,
   "val_result": {
    "n": 500,
    "correct": 408,
    "base_correct": 457,
    "trunc": 0,
    "calc_share": 0.998,
    "mean_chars": 249,
    "no_hash": 0
   }
  },
  {
   "id": "r5-q35-9b-zs-1ep-lr1e4",
   "phase": "P1",
   "time": "10-06 01:49",
   "base": "Qwen/Qwen3.5-9B",
   "method": "LoRA r32",
   "data": "6,973 rows",
   "lr": 0.0001,
   "batch": 8,
   "epochs": 1,
   "val": "r5-q35-9b-zs-1ep-lr1e4",
   "val_n": 500,
   "outcome": "score 77 (9.65 B)",
   "lesson": "Bigger model, better accuracy, much worse score: the size penalty dominates.",
   "params_b": 9.65,
   "val_result": {
    "n": 500,
    "correct": 434,
    "base_correct": 457,
    "trunc": 0,
    "calc_share": 0.978,
    "mean_chars": 261,
    "no_hash": 0
   }
  },
  {
   "id": "r1-q3-4b-zs",
   "phase": "P1",
   "time": "10-05 20:05",
   "base": "Qwen/Qwen3-4B",
   "method": "LoRA r32",
   "data": "6,973 rows",
   "lr": 0.0002,
   "batch": 14,
   "epochs": 2,
   "outcome": "failed x3 before step 1",
   "lesson": "Qwen3-4B jobs failed in dataset preparation (platform issue at the time).",
   "params_b": 4.02
  },
  {
   "id": "r0-q35-4b-untouched",
   "phase": "P1",
   "time": "10-05 22:30",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32 at LR 1e-8 (= untouched)",
   "data": "6,973 rows",
   "lr": 1e-08,
   "batch": 8,
   "epochs": 1,
   "val": "r0-q35-4b-untouched",
   "val_n": 500,
   "outcome": "the reference: beats every SFT run",
   "lesson": "The base model is already ~91 %; training can mostly only hurt.",
   "params_b": 4.66,
   "val_result": {
    "n": 500,
    "correct": 457,
    "base_correct": 457,
    "trunc": 7,
    "calc_share": 0.422,
    "mean_chars": 487,
    "no_hash": 7
   }
  },
  {
   "id": "r6-q35-4b-zs-1ep-lr1e6",
   "phase": "P2",
   "time": "10-06 08:31",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32",
   "data": "6,973 rows",
   "lr": 1e-06,
   "batch": 8,
   "epochs": 1,
   "val": "r6-q35-4b-zs-1ep-lr1e6",
   "val_n": 200,
   "outcome": "= untouched",
   "lesson": "Too light to change anything.",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 180,
    "base_correct": 180,
    "trunc": 4,
    "calc_share": 0.395,
    "mean_chars": 509,
    "no_hash": 4
   }
  },
  {
   "id": "r6-q35-4b-zs-1ep-lr1e5",
   "phase": "P2",
   "time": "10-06 08:36",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, 48 packed steps",
   "data": "6,973 rows",
   "lr": 1e-05,
   "batch": 8,
   "epochs": 1,
   "val": "r6-q35-4b-zs-1ep-lr1e5",
   "val_n": 500,
   "outcome": "best clean val (462/500); never tested",
   "lesson": "The recipe that worked. Should have been re-drawn several times while the old trainer existed.",
   "params_b": 4.66,
   "val_result": {
    "n": 500,
    "correct": 462,
    "base_correct": 457,
    "trunc": 3,
    "calc_share": 0.26,
    "mean_chars": 483,
    "no_hash": 3
   }
  },
  {
   "id": "final-q35-4b-full-lr1e5",
   "phase": "P2",
   "time": "10-06 11:18",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32/a64 all-linear, 48 packed steps",
   "data": "7,473 rows (all)",
   "lr": 1e-05,
   "batch": 8,
   "epochs": 1,
   "test": "ft-6f10aa9d-qwen3-5-4b",
   "outcome": "SUBMITTED: 87.2278 (board 87.2, 6th)",
   "lesson": "A light, few-step LoRA kept the base model's style (fewer `<<calc>>` than the base) and added +14 items on test; partly a favourable draw.",
   "submitted": true,
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1212,
    "strict_pct": 91.8878,
    "score": 87.2278,
    "calc_share": 0.262,
    "mean_chars": 495,
    "no_hash": 8,
    "vs_base": [
     41,
     27
    ],
    "vs_submitted": [
     0,
     0
    ]
   }
  },
  {
   "id": "final-q35-4b-full-lr1e8",
   "phase": "P2",
   "time": "10-06 13:20",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32 at LR 1e-8 (= untouched)",
   "data": "7,473 rows",
   "lr": 1e-08,
   "batch": 8,
   "epochs": 1,
   "test": "ft-5e0156a0-qwen3-5-4b",
   "outcome": "control: 86.17",
   "lesson": "The untouched base on test: 1,198. Every later run is measured against it.",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1198,
    "strict_pct": 90.8264,
    "score": 86.1664,
    "calc_share": 0.434,
    "mean_chars": 492,
    "no_hash": 10,
    "vs_base": [
     0,
     0
    ],
    "vs_submitted": [
     27,
     41
    ]
   }
  },
  {
   "id": "s1-q35-4b-full-lr125e-6",
   "phase": "P3",
   "time": "10-06 19:16",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, packed (rows attend to each other)",
   "data": "7,473 rows",
   "lr": 1.25e-05,
   "batch": 8,
   "epochs": 1,
   "test": "ft-d975f6a2-qwen3-5-4b",
   "outcome": "collapsed",
   "lesson": "Slightly more dose on the new trainer: terse answers, -124 items vs base.",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1074,
    "strict_pct": 81.4253,
    "score": 76.7653,
    "calc_share": 0.933,
    "mean_chars": 321,
    "no_hash": 14,
    "vs_base": [
     36,
     160
    ],
    "vs_submitted": [
     28,
     166
    ]
   }
  },
  {
   "id": "s2-q35-4b-full-lr8e-6",
   "phase": "P3",
   "time": "10-06 19:57",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, packed",
   "data": "7,473 rows",
   "lr": 8e-06,
   "batch": 8,
   "epochs": 1,
   "test": "ft-86bd3f4d-qwen3-5-4b",
   "outcome": "collapsed",
   "lesson": "Lower LR helps a little, still collapsed.",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1134,
    "strict_pct": 85.9742,
    "score": 81.3142,
    "calc_share": 0.898,
    "mean_chars": 357,
    "no_hash": 3,
    "vs_base": [
     40,
     104
    ],
    "vs_submitted": [
     28,
     106
    ]
   }
  },
  {
   "id": "s3-q35-4b-full-r16-lr1e5",
   "phase": "P3",
   "time": "10-06 20:51",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r16, packed",
   "data": "7,473 rows",
   "lr": 1e-05,
   "batch": 8,
   "epochs": 1,
   "test": "ft-542b94a5-qwen3-5-4b",
   "outcome": "partly collapsed",
   "lesson": "Lower rank collapses less.",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1170,
    "strict_pct": 88.7036,
    "score": 84.0436,
    "calc_share": 0.866,
    "mean_chars": 389,
    "no_hash": 3,
    "vs_base": [
     39,
     67
    ],
    "vs_submitted": [
     32,
     74
    ]
   }
  },
  {
   "id": "s4-q35-4b-full-lr1e5-replica",
   "phase": "P3",
   "time": "10-06 21:30",
   "base": "Qwen/Qwen3.5-4B",
   "method": "exact submitted config, packed",
   "data": "7,473 rows",
   "lr": 1e-05,
   "batch": 8,
   "epochs": 1,
   "test": "ft-9e856d26-qwen3-5-4b",
   "outcome": "collapsed: 7.6 pts below the submission",
   "lesson": "Same config, different trainer: the submitted recipe stopped being reproducible.",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1112,
    "strict_pct": 84.3063,
    "score": 79.6463,
    "calc_share": 0.907,
    "mean_chars": 330,
    "no_hash": 5,
    "vs_base": [
     44,
     130
    ],
    "vs_submitted": [
     33,
     133
    ]
   }
  },
  {
   "id": "on-full-lr2.5e-6",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, packed",
   "data": "7,473 rows",
   "lr": 2.5e-06,
   "batch": 8,
   "epochs": 1,
   "val": "on-full-lr2.5e-6",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 179,
    "base_correct": 180,
    "trunc": 4,
    "calc_share": 0.675,
    "mean_chars": 499,
    "no_hash": 4
   }
  },
  {
   "id": "on-fullms-lr1e-5-ms16",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, packed, 16 steps",
   "data": "7,473 rows",
   "lr": 1e-05,
   "batch": 8,
   "epochs": 1,
   "val": "on-fullms-lr1e-5-ms16",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 175,
    "base_correct": 180,
    "trunc": 4,
    "calc_share": 0.8,
    "mean_chars": 466,
    "no_hash": 3
   }
  },
  {
   "id": "on-targ960-lr1.6e-6",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, unpacked",
   "data": "960 targeted rows",
   "lr": 1.6e-06,
   "batch": 8,
   "epochs": 1,
   "val": "on-targ960-lr1.6e-6",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 180,
    "base_correct": 180,
    "trunc": 6,
    "calc_share": 0.56,
    "mean_chars": 522,
    "no_hash": 6
   }
  },
  {
   "id": "on-targ960-lr2.08e-6",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, unpacked",
   "data": "960 targeted rows",
   "lr": 2.08e-06,
   "batch": 8,
   "epochs": 1,
   "val": "on-targ960-lr2.08e-6",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 175,
    "base_correct": 180,
    "trunc": 5,
    "calc_share": 0.68,
    "mean_chars": 492,
    "no_hash": 5
   }
  },
  {
   "id": "on-targ960-lr3.2e-6",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, unpacked",
   "data": "960 targeted rows",
   "lr": 3.2e-06,
   "batch": 8,
   "epochs": 1,
   "val": "on-targ960-lr3.2e-6",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 173,
    "base_correct": 180,
    "trunc": 3,
    "calc_share": 0.83,
    "mean_chars": 415,
    "no_hash": 3
   }
  },
  {
   "id": "on-targ960-lr4e-6",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, unpacked",
   "data": "960 targeted rows",
   "lr": 4e-06,
   "batch": 8,
   "epochs": 1,
   "val": "on-targ960-lr4e-6",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 169,
    "base_correct": 180,
    "trunc": 2,
    "calc_share": 0.915,
    "mean_chars": 350,
    "no_hash": 2
   }
  },
  {
   "id": "on-sub960-lr4e-6",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, unpacked",
   "data": "960 stratified rows",
   "lr": 4e-06,
   "batch": 8,
   "epochs": 1,
   "val": "on-sub960-lr4e-6",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 168,
    "base_correct": 180,
    "trunc": 2,
    "calc_share": 0.915,
    "mean_chars": 364,
    "no_hash": 2
   }
  },
  {
   "id": "on-sub960h40-lr4e-6",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, unpacked",
   "data": "960 rows, 40 % hard",
   "lr": 4e-06,
   "batch": 8,
   "epochs": 1,
   "val": "on-sub960h40-lr4e-6",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 168,
    "base_correct": 180,
    "trunc": 3,
    "calc_share": 0.91,
    "mean_chars": 370,
    "no_hash": 3
   }
  },
  {
   "id": "on-sub960h40-lr2.4e-6",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, unpacked",
   "data": "960 rows, 40 % hard",
   "lr": 2.4e-06,
   "batch": 8,
   "epochs": 1,
   "val": "on-sub960h40-lr2.4e-6",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 175,
    "base_correct": 180,
    "trunc": 4,
    "calc_share": 0.755,
    "mean_chars": 464,
    "no_hash": 4
   }
  },
  {
   "id": "on-sub960h40-lr1.68e-6",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, unpacked",
   "data": "960 rows, 40 % hard",
   "lr": 1.68e-06,
   "batch": 8,
   "epochs": 1,
   "val": "on-sub960h40-lr1.68e-6",
   "val_n": 500,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 500,
    "correct": 458,
    "base_correct": 457,
    "trunc": 5,
    "calc_share": 0.586,
    "mean_chars": 470,
    "no_hash": 5
   }
  },
  {
   "id": "on-targ960ep2-lr1.6e-6-ep2",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, unpacked, 2 epochs",
   "data": "960 targeted rows",
   "lr": 1.6e-06,
   "batch": 8,
   "epochs": 1,
   "val": "on-targ960ep2-lr1.6e-6-ep2",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 173,
    "base_correct": 180,
    "trunc": 3,
    "calc_share": 0.835,
    "mean_chars": 415,
    "no_hash": 3
   }
  },
  {
   "id": "on-targ960attn-lr4e-6-attn",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA attention-only",
   "data": "960 targeted rows",
   "lr": 4e-06,
   "batch": 8,
   "epochs": 1,
   "val": "on-targ960attn-lr4e-6-attn",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 178,
    "base_correct": 180,
    "trunc": 6,
    "calc_share": 0.515,
    "mean_chars": 513,
    "no_hash": 6
   }
  },
  {
   "id": "on-targ960attn-lr5.2e-6-attn",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA attention-only",
   "data": "960 targeted rows",
   "lr": 5.2e-06,
   "batch": 8,
   "epochs": 1,
   "val": "on-targ960attn-lr5.2e-6-attn",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 181,
    "base_correct": 180,
    "trunc": 5,
    "calc_share": 0.55,
    "mean_chars": 509,
    "no_hash": 5
   }
  },
  {
   "id": "on-targ960attn-lr8e-6-attn",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA attention-only",
   "data": "960 targeted rows",
   "lr": 8e-06,
   "batch": 8,
   "epochs": 1,
   "val": "on-targ960attn-lr8e-6-attn",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 176,
    "base_correct": 180,
    "trunc": 4,
    "calc_share": 0.71,
    "mean_chars": 463,
    "no_hash": 4
   }
  },
  {
   "id": "on-targ960b4-lr8e-7-b4",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, batch 4",
   "data": "960 targeted rows",
   "lr": 8e-07,
   "batch": 4,
   "epochs": 1,
   "val": "on-targ960b4-lr8e-7-b4",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 182,
    "base_correct": 180,
    "trunc": 5,
    "calc_share": 0.54,
    "mean_chars": 510,
    "no_hash": 5
   }
  },
  {
   "id": "on-targ960b2-lr4e-7-b2",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, batch 2",
   "data": "960 targeted rows",
   "lr": 4e-07,
   "batch": 2,
   "epochs": 1,
   "val": "on-targ960b2-lr4e-7-b2",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 180,
    "base_correct": 180,
    "trunc": 5,
    "calc_share": 0.515,
    "mean_chars": 503,
    "no_hash": 5
   }
  },
  {
   "id": "on-fullft960-lr2e-7-fullft",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "Full fine-tune",
   "data": "960 targeted rows",
   "lr": 2e-07,
   "batch": 8,
   "epochs": 1,
   "val": "on-fullft960-lr2e-7-fullft",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 177,
    "base_correct": 180,
    "trunc": 6,
    "calc_share": 0.39,
    "mean_chars": 529,
    "no_hash": 6
   }
  },
  {
   "id": "on-long960-lr2e-6",
   "phase": "P4",
   "time": "10-07 night",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, unpacked",
   "data": "960 longest answers",
   "lr": 2e-06,
   "batch": 8,
   "epochs": 1,
   "val": "on-long960-lr2e-6",
   "val_n": 200,
   "outcome": "",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 176,
    "base_correct": 180,
    "trunc": 5,
    "calc_share": 0.66,
    "mean_chars": 511,
    "no_hash": 5
   }
  },
  {
   "id": "p1-q3-4b-untouched-targ960-b2",
   "phase": "P5",
   "time": "10-07 09:39",
   "base": "Qwen/Qwen3-4B",
   "method": "LoRA at LR 1e-8 (= untouched)",
   "data": "960 rows",
   "lr": 1e-08,
   "batch": 8,
   "epochs": 1,
   "val": "p1-q3-4b-untouched-targ960-b2",
   "val_n": 200,
   "outcome": "dead end",
   "lesson": "Qwen3-4B (4.02 B) answers in \\boxed{} / markdown and reasons ~5 pts worse in non-thinking mode.",
   "params_b": 4.02,
   "val_result": {
    "n": 200,
    "correct": 127,
    "base_correct": 180,
    "trunc": 1,
    "calc_share": 0.375,
    "mean_chars": 404,
    "no_hash": 33
   }
  },
  {
   "id": "b1-q35-4b-r6data-lr2e-6",
   "phase": "P5",
   "time": "10-07 10:03",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, packed",
   "data": "6,973 rows",
   "lr": 2e-06,
   "batch": 8,
   "epochs": 1,
   "val": "b1-q35-4b-r6data-lr2e-6",
   "val_n": 200,
   "outcome": "below gate",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 177,
    "base_correct": 180,
    "trunc": 6,
    "calc_share": 0.57,
    "mean_chars": 510,
    "no_hash": 6
   }
  },
  {
   "id": "f1-full-lr2.5e-6-r32",
   "phase": "P5",
   "time": "10-07 11:29",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, packed",
   "data": "7,473 rows",
   "lr": 2.5e-06,
   "batch": 8,
   "epochs": 1,
   "val": "f1-full-lr2.5e-6-r32",
   "val_n": 200,
   "test": "ft-49e30330-qwen3-5-4b",
   "outcome": "= base on test",
   "lesson": "Light packed LoRA gives the base model back (25 vs 24 discordant).",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1198,
    "strict_pct": 90.8264,
    "score": 86.1664,
    "calc_share": 0.646,
    "mean_chars": 464,
    "no_hash": 8,
    "vs_base": [
     24,
     24
    ],
    "vs_submitted": [
     30,
     44
    ]
   },
   "val_result": {
    "n": 200,
    "correct": 180,
    "base_correct": 180,
    "trunc": 2,
    "calc_share": 0.665,
    "mean_chars": 470,
    "no_hash": 2
   }
  },
  {
   "id": "f3-full-lr5e-6-r16",
   "phase": "P5",
   "time": "10-07 11:37",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r16, packed",
   "data": "7,473 rows",
   "lr": 5e-06,
   "batch": 8,
   "epochs": 1,
   "val": "f3-full-lr5e-6-r16",
   "val_n": 200,
   "test": "ft-80ad4ded-qwen3-5-4b",
   "outcome": "= base on test",
   "lesson": "",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1197,
    "strict_pct": 90.7506,
    "score": 86.0906,
    "calc_share": 0.692,
    "mean_chars": 454,
    "no_hash": 7,
    "vs_base": [
     29,
     30
    ],
    "vs_submitted": [
     33,
     48
    ]
   },
   "val_result": {
    "n": 200,
    "correct": 179,
    "base_correct": 180,
    "trunc": 4,
    "calc_share": 0.72,
    "mean_chars": 490,
    "no_hash": 4
   }
  },
  {
   "id": "g1-full-b16-lr1e-6-r32",
   "phase": "P5",
   "time": "10-07 11:59",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, unpacked, 468 steps",
   "data": "7,473 rows",
   "lr": 1e-06,
   "batch": 16,
   "epochs": 1,
   "val": "g1-full-b16-lr1e-6-r32",
   "val_n": 200,
   "outcome": "collapsed",
   "lesson": "Unpacked full data: even LR 1e-6 collapses over 468 small steps.",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 169,
    "base_correct": 180,
    "trunc": 2,
    "calc_share": 0.935,
    "mean_chars": 348,
    "no_hash": 2
   }
  },
  {
   "id": "g2-full-b16-lr5e-7-r32",
   "phase": "P5",
   "time": "10-07 12:01",
   "base": "Qwen/Qwen3.5-4B",
   "method": "LoRA r32, unpacked, 468 steps",
   "data": "7,473 rows",
   "lr": 5e-07,
   "batch": 16,
   "epochs": 1,
   "val": "g2-full-b16-lr5e-7-r32",
   "val_n": 200,
   "outcome": "below base",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 176,
    "base_correct": 180,
    "trunc": 5,
    "calc_share": 0.725,
    "mean_chars": 476,
    "no_hash": 5
   }
  },
  {
   "id": "h2-fullft-b16-lr5e-8",
   "phase": "P5",
   "time": "10-07 12:50",
   "base": "Qwen/Qwen3.5-4B",
   "method": "Full fine-tune, unpacked",
   "data": "7,473 rows",
   "lr": 5e-08,
   "batch": 16,
   "epochs": 1,
   "val": "h2-fullft-b16-lr5e-8",
   "val_n": 200,
   "outcome": "below base",
   "lesson": "Full-FT keeps the base style (calc ~0.40) but loses accuracy as dose grows.",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 176,
    "base_correct": 180,
    "trunc": 5,
    "calc_share": 0.4,
    "mean_chars": 504,
    "no_hash": 5
   }
  },
  {
   "id": "h1-fullft-b16-lr1e-7",
   "phase": "P5",
   "time": "10-07 12:51",
   "base": "Qwen/Qwen3.5-4B",
   "method": "Full fine-tune, unpacked",
   "data": "7,473 rows",
   "lr": 1e-07,
   "batch": 16,
   "epochs": 1,
   "val": "h1-fullft-b16-lr1e-7",
   "val_n": 200,
   "outcome": "below base",
   "lesson": "",
   "params_b": 4.66,
   "val_result": {
    "n": 200,
    "correct": 174,
    "base_correct": 180,
    "trunc": 5,
    "calc_share": 0.39,
    "mean_chars": 531,
    "no_hash": 6
   }
  },
  {
   "id": "x1-exact-submitted-recipe",
   "phase": "P6",
   "time": "10-07 13:47",
   "base": "Qwen/Qwen3.5-4B",
   "method": "exact submitted config (now 935 unpacked steps)",
   "data": "7,473 rows",
   "lr": 1e-05,
   "batch": 8,
   "epochs": 1,
   "val": "x1-exact-submitted-recipe",
   "val_n": 40,
   "test": "ft-6499bdb7-qwen3-5-4b",
   "outcome": "collapsed",
   "lesson": "The original settings now mean 20x more updates.",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1058,
    "strict_pct": 80.2123,
    "score": 75.5523,
    "calc_share": 0.992,
    "mean_chars": 259,
    "no_hash": 3,
    "vs_base": [
     49,
     189
    ],
    "vs_submitted": [
     35,
     189
    ]
   },
   "val_result": {
    "n": 40,
    "correct": 27,
    "base_correct": 34,
    "trunc": 0,
    "calc_share": 1.0,
    "mean_chars": 300,
    "no_hash": 0
   }
  },
  {
   "id": "x2-submitted-ms48-b16",
   "phase": "P6",
   "time": "10-07 13:43",
   "base": "Qwen/Qwen3.5-4B",
   "method": "submitted config, max_steps 48, batch 16",
   "data": "7,473 rows",
   "lr": 1e-05,
   "batch": 16,
   "steps": 48,
   "val": "x2-submitted-ms48-b16",
   "val_n": 40,
   "test": "ft-7c6e1781-qwen3-5-4b",
   "outcome": "collapsed",
   "lesson": "Same 48 steps and LR curve, but 16 rows per step instead of ~156: noisier updates, collapse.",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1135,
    "strict_pct": 86.05,
    "score": 81.39,
    "calc_share": 0.936,
    "mean_chars": 334,
    "no_hash": 5,
    "vs_base": [
     37,
     100
    ],
    "vs_submitted": [
     32,
     109
    ]
   },
   "val_result": {
    "n": 40,
    "correct": 32,
    "base_correct": 34,
    "trunc": 0,
    "calc_share": 0.925,
    "mean_chars": 349,
    "no_hash": 0
   }
  },
  {
   "id": "x3-submitted-ms48-b16-fs5",
   "phase": "P6",
   "time": "10-07 14:29",
   "base": "Qwen/Qwen3.5-4B",
   "method": "x2 on 5-shot-prompt rows",
   "data": "6,973 rows (eval format)",
   "lr": 1e-05,
   "batch": 16,
   "steps": 48,
   "val": "x3-submitted-ms48-b16-fs5",
   "val_n": 40,
   "test": "ft-33649cb5-qwen3-5-4b",
   "outcome": "collapsed",
   "lesson": "Training in the eval's format does not protect the style.",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1058,
    "strict_pct": 80.2123,
    "score": 75.5523,
    "calc_share": 0.946,
    "mean_chars": 312,
    "no_hash": 21,
    "vs_base": [
     39,
     179
    ],
    "vs_submitted": [
     36,
     190
    ]
   },
   "val_result": {
    "n": 40,
    "correct": 29,
    "base_correct": 34,
    "trunc": 2,
    "calc_share": 0.875,
    "mean_chars": 377,
    "no_hash": 2
   }
  },
  {
   "id": "x4-submitted-ms48-b16-fs5-lr2.5e-6",
   "phase": "P6",
   "time": "10-07 14:39",
   "base": "Qwen/Qwen3.5-4B",
   "method": "x3 at a quarter LR",
   "data": "6,973 rows (eval format)",
   "lr": 2.5e-06,
   "batch": 16,
   "steps": 48,
   "val": "x4-submitted-ms48-b16-fs5-lr2.5e-6",
   "val_n": 40,
   "test": "ft-0a013fc6-qwen3-5-4b",
   "outcome": "= base",
   "lesson": "",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1197,
    "strict_pct": 90.7506,
    "score": 86.0906,
    "calc_share": 0.669,
    "mean_chars": 464,
    "no_hash": 15,
    "vs_base": [
     31,
     32
    ],
    "vs_submitted": [
     35,
     50
    ]
   },
   "val_result": {
    "n": 40,
    "correct": 33,
    "base_correct": 34,
    "trunc": 1,
    "calc_share": 0.6,
    "mean_chars": 567,
    "no_hash": 1
   }
  },
  {
   "id": "x5-submitted-ms48-b16-fs5-lr5e-6",
   "phase": "P6",
   "time": "10-07 15:13",
   "base": "Qwen/Qwen3.5-4B",
   "method": "x3 at half LR",
   "data": "6,973 rows (eval format)",
   "lr": 5e-06,
   "batch": 16,
   "steps": 48,
   "test": "ft-f55cab87-qwen3-5-4b",
   "outcome": "collapsed",
   "lesson": "",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1124,
    "strict_pct": 85.2161,
    "score": 80.5561,
    "calc_share": 0.87,
    "mean_chars": 340,
    "no_hash": 6,
    "vs_base": [
     38,
     112
    ],
    "vs_submitted": [
     30,
     118
    ]
   }
  },
  {
   "id": "x6-submitted-ms48-b16-lr5e-6",
   "phase": "P6",
   "time": "10-07 15:25",
   "base": "Qwen/Qwen3.5-4B",
   "method": "submitted config, max_steps 48, batch 16",
   "data": "7,473 rows",
   "lr": 5e-06,
   "batch": 16,
   "steps": 48,
   "test": "ft-6db0d111-qwen3-5-4b",
   "outcome": "best since the trainer change until x7",
   "lesson": "Half the LR keeps the model just short of collapse: +7 vs base.",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1205,
    "strict_pct": 91.3571,
    "score": 86.6971,
    "calc_share": 0.655,
    "mean_chars": 458,
    "no_hash": 13,
    "vs_base": [
     41,
     34
    ],
    "vs_submitted": [
     33,
     40
    ]
   }
  },
  {
   "id": "x7-submitted-ms48-b16-lr5e-6-r6data",
   "phase": "P6",
   "time": "10-07 16:06",
   "base": "Qwen/Qwen3.5-4B",
   "method": "x6 setting",
   "data": "6,973 rows",
   "lr": 5e-06,
   "batch": 16,
   "steps": 48,
   "test": "ft-406d6084-qwen3-5-4b",
   "outcome": "best since the trainer change: 4 items short",
   "lesson": "Same setting, different rows: draw-to-draw spread of ~±5 items.",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1208,
    "strict_pct": 91.5845,
    "score": 86.9245,
    "calc_share": 0.65,
    "mean_chars": 466,
    "no_hash": 12,
    "vs_base": [
     39,
     29
    ],
    "vs_submitted": [
     33,
     37
    ]
   }
  },
  {
   "id": "x8-ms48-b16-lr5e-6-sub999",
   "phase": "P6",
   "time": "10-07 16:56",
   "base": "Qwen/Qwen3.5-4B",
   "method": "x6 setting",
   "data": "999 stratified rows",
   "lr": 5e-06,
   "batch": 16,
   "steps": 48,
   "test": "ft-bfa3b184-qwen3-5-4b",
   "outcome": "below",
   "lesson": "",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1202,
    "strict_pct": 91.1296,
    "score": 86.4696,
    "calc_share": 0.653,
    "mean_chars": 457,
    "no_hash": 13,
    "vs_base": [
     41,
     37
    ],
    "vs_submitted": [
     34,
     44
    ]
   }
  },
  {
   "id": "x9-ms48-b16-lr5e-6-sub960",
   "phase": "P6",
   "time": "10-07 16:56",
   "base": "Qwen/Qwen3.5-4B",
   "method": "x6 setting",
   "data": "960 stratified rows",
   "lr": 5e-06,
   "batch": 16,
   "steps": 48,
   "test": "ft-4fd31586-qwen3-5-4b",
   "outcome": "= base",
   "lesson": "",
   "params_b": 4.66,
   "test_result": {
    "n": 1319,
    "correct": 1198,
    "strict_pct": 90.8264,
    "score": 86.1664,
    "calc_share": 0.67,
    "mean_chars": 451,
    "no_hash": 12,
    "vs_base": [
     35,
     35
    ],
    "vs_submitted": [
     29,
     43
    ]
   }
  }
 ],
 "leaderboard_final": [
  {
   "rank": 1,
   "team": "Team #1",
   "score": 89.95
  },
  {
   "rank": 2,
   "team": "Team #2",
   "score": 88.91
  },
  {
   "rank": 3,
   "team": "Team #3",
   "score": 88.09
  },
  {
   "rank": 4,
   "team": "Team #4",
   "score": 87.84
  },
  {
   "rank": 5,
   "team": "Team #5",
   "score": 87.34
  },
  {
   "rank": 6,
   "team": "Nodolas",
   "score": 87.2
  },
  {
   "rank": 7,
   "team": "Team #7",
   "score": 87.07
  },
  {
   "rank": 8,
   "team": "Team #8",
   "score": 86.67
  },
  {
   "rank": 9,
   "team": "Team #9",
   "score": 86.45
  }
 ],
 "platform_events": [
  {
   "time": "2026-10-06 10:12 PDT",
   "event": "Overmind commit 1be6037: packed rows attend to each other (submitted recipe no longer reproducible)"
  },
  {
   "time": "2026-10-07 ~11:30 PDT",
   "event": "Overmind PR #167 live: every dataset trains unpacked (one row per sequence)"
  }
 ]
}