{
  "seed": 20261027,
  "architecture": [
    4,
    24,
    2
  ],
  "parameters": 170,
  "epochs": 800,
  "selected_epoch": 800,
  "selection": "Minimum unweighted development loss; test courses excluded from fitting and selection.",
  "splits": {
    "train": [
      101,
      102,
      103,
      104,
      105,
      106,
      107,
      108,
      109,
      110,
      111,
      112,
      113,
      114,
      115,
      116,
      117,
      118,
      119,
      120
    ],
    "dev": [
      201,
      202,
      203,
      204,
      205
    ],
    "test": [
      301,
      302,
      303,
      304,
      305
    ]
  },
  "dataset_provenance": {
    "engine_sha256": "93befa46349b16abb3ea2399fe1e70697dea6e5bb91b05c10d5bbc89676ec472",
    "generator_sha256": "c5beb5e557498939789935e9a8eaf9e69272a9f431732e9610729d8248fb1cce"
  },
  "history": [
    {
      "epoch": 1,
      "train_weighted_loss": 0.6642978249473285,
      "dev_loss": 0.6233342015033763
    },
    {
      "epoch": 25,
      "train_weighted_loss": 0.18522781125496826,
      "dev_loss": 0.1897339540990124
    },
    {
      "epoch": 50,
      "train_weighted_loss": 0.09885628802640689,
      "dev_loss": 0.1065796036907457
    },
    {
      "epoch": 75,
      "train_weighted_loss": 0.07151720560452536,
      "dev_loss": 0.07816182376333487
    },
    {
      "epoch": 100,
      "train_weighted_loss": 0.05757541348185606,
      "dev_loss": 0.06305893381548457
    },
    {
      "epoch": 125,
      "train_weighted_loss": 0.04838562905538362,
      "dev_loss": 0.05310487876110961
    },
    {
      "epoch": 150,
      "train_weighted_loss": 0.04183387490855037,
      "dev_loss": 0.0455546377294167
    },
    {
      "epoch": 175,
      "train_weighted_loss": 0.036876592713675216,
      "dev_loss": 0.040418283528135326
    },
    {
      "epoch": 200,
      "train_weighted_loss": 0.03303642604585237,
      "dev_loss": 0.03648859302606286
    },
    {
      "epoch": 225,
      "train_weighted_loss": 0.029967061017781908,
      "dev_loss": 0.03315294310042886
    },
    {
      "epoch": 250,
      "train_weighted_loss": 0.027475251913644298,
      "dev_loss": 0.03097367767147897
    },
    {
      "epoch": 275,
      "train_weighted_loss": 0.025366917619403406,
      "dev_loss": 0.028283796904396204
    },
    {
      "epoch": 300,
      "train_weighted_loss": 0.0235945233032259,
      "dev_loss": 0.02617470800445718
    },
    {
      "epoch": 325,
      "train_weighted_loss": 0.022074577859612355,
      "dev_loss": 0.024626079140486534
    },
    {
      "epoch": 350,
      "train_weighted_loss": 0.02076425229460661,
      "dev_loss": 0.02272467258389517
    },
    {
      "epoch": 375,
      "train_weighted_loss": 0.01959946483145119,
      "dev_loss": 0.02184685955697798
    },
    {
      "epoch": 400,
      "train_weighted_loss": 0.018576977098042298,
      "dev_loss": 0.020748091339505382
    },
    {
      "epoch": 425,
      "train_weighted_loss": 0.01766529170006594,
      "dev_loss": 0.01981894742536264
    },
    {
      "epoch": 450,
      "train_weighted_loss": 0.016864071957382532,
      "dev_loss": 0.019439335319348605
    },
    {
      "epoch": 475,
      "train_weighted_loss": 0.016110146717978526,
      "dev_loss": 0.01798476467262226
    },
    {
      "epoch": 500,
      "train_weighted_loss": 0.015437343357574367,
      "dev_loss": 0.017377778851257616
    },
    {
      "epoch": 525,
      "train_weighted_loss": 0.014824409204510173,
      "dev_loss": 0.016679184531476376
    },
    {
      "epoch": 550,
      "train_weighted_loss": 0.014297126427791962,
      "dev_loss": 0.016894896228332623
    },
    {
      "epoch": 575,
      "train_weighted_loss": 0.013749484344404025,
      "dev_loss": 0.015274850173874973
    },
    {
      "epoch": 600,
      "train_weighted_loss": 0.013265608678030937,
      "dev_loss": 0.014990956286689158
    },
    {
      "epoch": 625,
      "train_weighted_loss": 0.012820537879732323,
      "dev_loss": 0.014456836265417492
    },
    {
      "epoch": 650,
      "train_weighted_loss": 0.0124061099632897,
      "dev_loss": 0.014016552009032745
    },
    {
      "epoch": 675,
      "train_weighted_loss": 0.012022350222970605,
      "dev_loss": 0.013353245458132672
    },
    {
      "epoch": 700,
      "train_weighted_loss": 0.011660715815792703,
      "dev_loss": 0.012913863505220866
    },
    {
      "epoch": 725,
      "train_weighted_loss": 0.011316402071261342,
      "dev_loss": 0.01288397443835748
    },
    {
      "epoch": 750,
      "train_weighted_loss": 0.010995119488464499,
      "dev_loss": 0.012457913191448058
    },
    {
      "epoch": 775,
      "train_weighted_loss": 0.010692290805296217,
      "dev_loss": 0.012103449195789305
    },
    {
      "epoch": 800,
      "train_weighted_loss": 0.010406163386367831,
      "dev_loss": 0.01172419537576582
    }
  ],
  "train_seconds": 8.677,
  "metrics": {
    "untrained": {
      "train": {
        "states": 18657,
        "accuracy": 0.8574261671222597,
        "flap_recall": 0.2570036540803898,
        "flap_precision": 0.793233082706767,
        "true_flaps": 844,
        "false_flaps": 220,
        "missed_flaps": 2440
      },
      "dev": {
        "states": 4637,
        "accuracy": 0.8578822514556825,
        "flap_recall": 0.22306717363751585,
        "flap_precision": 0.7927927927927928,
        "true_flaps": 176,
        "false_flaps": 46,
        "missed_flaps": 613
      },
      "test": {
        "states": 4613,
        "accuracy": 0.8554086277910253,
        "flap_recall": 0.18791064388961892,
        "flap_precision": 0.7447916666666666,
        "true_flaps": 143,
        "false_flaps": 49,
        "missed_flaps": 618
      }
    },
    "trained": {
      "train": {
        "states": 18657,
        "accuracy": 0.993996891247253,
        "flap_recall": 1.0,
        "flap_precision": 0.967020023557126,
        "true_flaps": 3284,
        "false_flaps": 112,
        "missed_flaps": 0
      },
      "dev": {
        "states": 4637,
        "accuracy": 0.9939616131119258,
        "flap_recall": 1.0,
        "flap_precision": 0.9657282741738066,
        "true_flaps": 789,
        "false_flaps": 28,
        "missed_flaps": 0
      },
      "test": {
        "states": 4613,
        "accuracy": 0.9952308692824626,
        "flap_recall": 1.0,
        "flap_precision": 0.9719029374201787,
        "true_flaps": 761,
        "false_flaps": 22,
        "missed_flaps": 0
      }
    }
  },
  "training": "Class-balanced cross-entropy, Adam lr0.015, tanh hidden layer. Teacher labels come from separate seeded course rollouts.",
  "limits": "Supervised imitation using exact game state; not reinforcement learning, vision or an LLM.",
  "model_sha256": "97428826d0693e6e800eaa6e5a4b3b4d9198c23ac0844efbda8cd27cf5189eba",
  "dataset_sha256": "afeeaaa6651df179754a2b399029c5a6022a0848ab467adbc376387d818bb958",
  "trainer_sha256": "22ee6f9313cd1c629468a610d6e1f07835729c7974479faf9127cd9c9bd50457"
}
