{
  "version": 1,
  "recordedAt": "2026-09-04T08:28:14.094Z",
  "base": "https://www.neurarch.com",
  "task": {
    "id": "mnist-digits",
    "prompt": "classify handwritten digit images",
    "said": "I want to recognise handwritten digits.",
    "dataset": "mnist",
    "inputShape": [
      1,
      28,
      28
    ],
    "numClasses": 10,
    "goal": "image"
  },
  "honesty": {
    "recording": "Everything below is one run against the production API, replayed. No number on this page was typed by hand.",
    "notAutoML": "This is not a claim that the system designs a better model. Between two designs that both run, we do not know which trains better: our own selection benchmark expresses a preference on 8.3% of pairs and lands at 51.4% pairwise accuracy, which is a coin flip. The ordering here is legality first, then cost, and cost is our money, not a judgement about the design.",
    "candidateSource": "The candidates are generated deterministically from the task by the seeded generator (src/utils/architectureSeed.ts). No language model was called to produce them."
  },
  "candidates": [
    {
      "id": "CNN-S-CV-1",
      "family": "CNN",
      "scale": "S",
      "origin": "seeded generator, retargeted to 1x28x28 and a 10-way head",
      "legal": true,
      "model": {
        "id": "rl-root",
        "name": "CNN-S-CV",
        "components": [
          {
            "id": "n-rl0",
            "type": "input",
            "name": "input",
            "position": {
              "x": 220,
              "y": 120
            },
            "params": {
              "shape": [
                1,
                28,
                28
              ]
            },
            "inputs": [],
            "outputs": [
              "n-rl1"
            ]
          },
          {
            "id": "n-rl1",
            "type": "conv2d",
            "name": "conv1",
            "position": {
              "x": 220,
              "y": 260
            },
            "params": {
              "outChannels": 64,
              "kernelSize": 3,
              "stride": 1,
              "padding": 1
            },
            "inputs": [
              "n-rl0"
            ],
            "outputs": [
              "n-rl2"
            ]
          },
          {
            "id": "n-rl2",
            "type": "batchNorm",
            "name": "bn1",
            "position": {
              "x": 220,
              "y": 400
            },
            "params": {
              "numFeatures": 64
            },
            "inputs": [
              "n-rl1"
            ],
            "outputs": [
              "n-rl3"
            ]
          },
          {
            "id": "n-rl3",
            "type": "gelu",
            "name": "gelu1",
            "position": {
              "x": 220,
              "y": 540
            },
            "params": {},
            "inputs": [
              "n-rl2"
            ],
            "outputs": [
              "n-rl4"
            ]
          },
          {
            "id": "n-rl4",
            "type": "conv2d",
            "name": "conv2",
            "position": {
              "x": 220,
              "y": 680
            },
            "params": {
              "outChannels": 64,
              "kernelSize": 3,
              "stride": 1,
              "padding": 1
            },
            "inputs": [
              "n-rl3"
            ],
            "outputs": [
              "n-rl5"
            ]
          },
          {
            "id": "n-rl5",
            "type": "batchNorm",
            "name": "bn2",
            "position": {
              "x": 220,
              "y": 820
            },
            "params": {
              "numFeatures": 64
            },
            "inputs": [
              "n-rl4"
            ],
            "outputs": [
              "n-rl6"
            ]
          },
          {
            "id": "n-rl6",
            "type": "gelu",
            "name": "gelu2",
            "position": {
              "x": 220,
              "y": 960
            },
            "params": {},
            "inputs": [
              "n-rl5"
            ],
            "outputs": [
              "n-rl7"
            ]
          },
          {
            "id": "n-rl7",
            "type": "conv2d",
            "name": "conv3",
            "position": {
              "x": 220,
              "y": 1100
            },
            "params": {
              "outChannels": 64,
              "kernelSize": 3,
              "stride": 1,
              "padding": 1
            },
            "inputs": [
              "n-rl6"
            ],
            "outputs": [
              "n-rl8"
            ]
          },
          {
            "id": "n-rl8",
            "type": "batchNorm",
            "name": "bn3",
            "position": {
              "x": 220,
              "y": 1240
            },
            "params": {
              "numFeatures": 64
            },
            "inputs": [
              "n-rl7"
            ],
            "outputs": [
              "n-rl9"
            ]
          },
          {
            "id": "n-rl9",
            "type": "gelu",
            "name": "gelu3",
            "position": {
              "x": 220,
              "y": 1380
            },
            "params": {},
            "inputs": [
              "n-rl8"
            ],
            "outputs": [
              "n-rl10"
            ]
          },
          {
            "id": "n-rl10",
            "type": "globalAvgPool2d",
            "name": "gap",
            "position": {
              "x": 220,
              "y": 1520
            },
            "params": {},
            "inputs": [
              "n-rl9"
            ],
            "outputs": [
              "n-rl11"
            ]
          },
          {
            "id": "n-rl11",
            "type": "flatten",
            "name": "flatten",
            "position": {
              "x": 220,
              "y": 1660
            },
            "params": {},
            "inputs": [
              "n-rl10"
            ],
            "outputs": [
              "n-rl12"
            ]
          },
          {
            "id": "n-rl12",
            "type": "linear",
            "name": "head",
            "position": {
              "x": 220,
              "y": 1800
            },
            "params": {
              "outFeatures": 10
            },
            "inputs": [
              "n-rl11"
            ],
            "outputs": [
              "n-rl13"
            ]
          },
          {
            "id": "n-rl13",
            "type": "output",
            "name": "output",
            "position": {
              "x": 220,
              "y": 1940
            },
            "params": {},
            "inputs": [
              "n-rl12"
            ],
            "outputs": []
          }
        ],
        "connections": [
          {
            "id": "c-rl14",
            "from": "n-rl0",
            "to": "n-rl1",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl15",
            "from": "n-rl1",
            "to": "n-rl2",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl16",
            "from": "n-rl2",
            "to": "n-rl3",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl17",
            "from": "n-rl3",
            "to": "n-rl4",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl18",
            "from": "n-rl4",
            "to": "n-rl5",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl19",
            "from": "n-rl5",
            "to": "n-rl6",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl20",
            "from": "n-rl6",
            "to": "n-rl7",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl21",
            "from": "n-rl7",
            "to": "n-rl8",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl22",
            "from": "n-rl8",
            "to": "n-rl9",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl23",
            "from": "n-rl9",
            "to": "n-rl10",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl24",
            "from": "n-rl10",
            "to": "n-rl11",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl25",
            "from": "n-rl11",
            "to": "n-rl12",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl26",
            "from": "n-rl12",
            "to": "n-rl13",
            "fromPort": "bottom",
            "toPort": "top"
          }
        ]
      },
      "summary": "CNN-S-CV: 12 layers, 75.5K params, will run, fits a T4, about $0.04 to train",
      "params": 75530,
      "layers": 12,
      "inputShape": [
        1,
        28,
        28
      ],
      "outputShape": [
        10
      ],
      "fingerprint": "4f78dfe7",
      "cost": {
        "estCostUsd": 0.0444266753026351,
        "estTrainSec": 145.39639189953306,
        "fitsGpu": "A10G (24GB)",
        "gpuFits": {
          "T4": true,
          "A100_40": true,
          "H100_80": true
        },
        "assumptions": "Cost is a roofline estimate on the priced GPU for 10 epochs at batch 32 over 50,000 samples (assumed; no dataset attached). GPU fit is fp32 weights plus gradients plus two Adam moments (16 bytes per parameter) with 1.3x headroom; activations are not included and grow with batch size."
      },
      "blockers": [],
      "warnings": [],
      "text": "Plan: CNN-S-CV   12 layers · 75.5K params · fingerprint 4f78dfe7\n  shape     [1,28,28] -> [10]\n  will run  yes (0 blockers, 0 warnings)\n  fits      T4 16GB yes · A100 40GB yes · H100 80GB yes\n  train     ~$0.04 / 3m on A10G (24GB)   (10 epochs, batch 32, 50k samples assumed)\n  policy    all lines pass\n  history   Last time this structure trained here: valAcc 0.9683, 10 epochs, $0.03, 3m, 2026-09-04 (+2 earlier)"
    },
    {
      "id": "CNN-S-CV-0",
      "family": "CNN",
      "scale": "S",
      "origin": "seeded generator, retargeted to 1x28x28 and a 10-way head",
      "legal": true,
      "model": {
        "id": "rl-root",
        "name": "CNN-S-CV",
        "components": [
          {
            "id": "n-rl0",
            "type": "input",
            "name": "input",
            "position": {
              "x": 220,
              "y": 120
            },
            "params": {
              "shape": [
                1,
                28,
                28
              ]
            },
            "inputs": [],
            "outputs": [
              "n-rl1"
            ]
          },
          {
            "id": "n-rl1",
            "type": "conv2d",
            "name": "conv1",
            "position": {
              "x": 220,
              "y": 260
            },
            "params": {
              "outChannels": 64,
              "kernelSize": 3,
              "stride": 2,
              "padding": 1
            },
            "inputs": [
              "n-rl0"
            ],
            "outputs": [
              "n-rl2"
            ]
          },
          {
            "id": "n-rl2",
            "type": "batchNorm",
            "name": "bn1",
            "position": {
              "x": 220,
              "y": 400
            },
            "params": {
              "numFeatures": 64
            },
            "inputs": [
              "n-rl1"
            ],
            "outputs": [
              "n-rl3"
            ]
          },
          {
            "id": "n-rl3",
            "type": "gelu",
            "name": "gelu1",
            "position": {
              "x": 220,
              "y": 540
            },
            "params": {},
            "inputs": [
              "n-rl2"
            ],
            "outputs": [
              "n-rl4"
            ]
          },
          {
            "id": "n-rl4",
            "type": "conv2d",
            "name": "conv2",
            "position": {
              "x": 220,
              "y": 680
            },
            "params": {
              "outChannels": 64,
              "kernelSize": 3,
              "stride": 2,
              "padding": 1
            },
            "inputs": [
              "n-rl3"
            ],
            "outputs": [
              "n-rl5"
            ]
          },
          {
            "id": "n-rl5",
            "type": "batchNorm",
            "name": "bn2",
            "position": {
              "x": 220,
              "y": 820
            },
            "params": {
              "numFeatures": 64
            },
            "inputs": [
              "n-rl4"
            ],
            "outputs": [
              "n-rl6"
            ]
          },
          {
            "id": "n-rl6",
            "type": "gelu",
            "name": "gelu2",
            "position": {
              "x": 220,
              "y": 960
            },
            "params": {},
            "inputs": [
              "n-rl5"
            ],
            "outputs": [
              "n-rl7"
            ]
          },
          {
            "id": "n-rl7",
            "type": "conv2d",
            "name": "conv3",
            "position": {
              "x": 220,
              "y": 1100
            },
            "params": {
              "outChannels": 128,
              "kernelSize": 3,
              "stride": 1,
              "padding": 1
            },
            "inputs": [
              "n-rl6"
            ],
            "outputs": [
              "n-rl8"
            ]
          },
          {
            "id": "n-rl8",
            "type": "batchNorm",
            "name": "bn3",
            "position": {
              "x": 220,
              "y": 1240
            },
            "params": {
              "numFeatures": 128
            },
            "inputs": [
              "n-rl7"
            ],
            "outputs": [
              "n-rl9"
            ]
          },
          {
            "id": "n-rl9",
            "type": "gelu",
            "name": "gelu3",
            "position": {
              "x": 220,
              "y": 1380
            },
            "params": {},
            "inputs": [
              "n-rl8"
            ],
            "outputs": [
              "n-rl10"
            ]
          },
          {
            "id": "n-rl10",
            "type": "globalAvgPool2d",
            "name": "gap",
            "position": {
              "x": 220,
              "y": 1520
            },
            "params": {},
            "inputs": [
              "n-rl9"
            ],
            "outputs": [
              "n-rl11"
            ]
          },
          {
            "id": "n-rl11",
            "type": "flatten",
            "name": "flatten",
            "position": {
              "x": 220,
              "y": 1660
            },
            "params": {},
            "inputs": [
              "n-rl10"
            ],
            "outputs": [
              "n-rl12"
            ]
          },
          {
            "id": "n-rl12",
            "type": "linear",
            "name": "head",
            "position": {
              "x": 220,
              "y": 1800
            },
            "params": {
              "outFeatures": 10
            },
            "inputs": [
              "n-rl11"
            ],
            "outputs": [
              "n-rl13"
            ]
          },
          {
            "id": "n-rl13",
            "type": "output",
            "name": "output",
            "position": {
              "x": 220,
              "y": 1940
            },
            "params": {},
            "inputs": [
              "n-rl12"
            ],
            "outputs": []
          }
        ],
        "connections": [
          {
            "id": "c-rl14",
            "from": "n-rl0",
            "to": "n-rl1",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl15",
            "from": "n-rl1",
            "to": "n-rl2",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl16",
            "from": "n-rl2",
            "to": "n-rl3",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl17",
            "from": "n-rl3",
            "to": "n-rl4",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl18",
            "from": "n-rl4",
            "to": "n-rl5",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl19",
            "from": "n-rl5",
            "to": "n-rl6",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl20",
            "from": "n-rl6",
            "to": "n-rl7",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl21",
            "from": "n-rl7",
            "to": "n-rl8",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl22",
            "from": "n-rl8",
            "to": "n-rl9",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl23",
            "from": "n-rl9",
            "to": "n-rl10",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl24",
            "from": "n-rl10",
            "to": "n-rl11",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl25",
            "from": "n-rl11",
            "to": "n-rl12",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl26",
            "from": "n-rl12",
            "to": "n-rl13",
            "fromPort": "bottom",
            "toPort": "top"
          }
        ]
      },
      "summary": "CNN-S-CV: 12 layers, 113.2K params, will run, fits a T4, about $0.04 to train",
      "params": 113226,
      "layers": 12,
      "inputShape": [
        1,
        28,
        28
      ],
      "outputShape": [
        10
      ],
      "fingerprint": "4f78dfe7",
      "cost": {
        "estCostUsd": 0.042424553250298785,
        "estTrainSec": 138.84399245552328,
        "fitsGpu": "A10G (24GB)",
        "gpuFits": {
          "T4": true,
          "A100_40": true,
          "H100_80": true
        },
        "assumptions": "Cost is a roofline estimate on the priced GPU for 10 epochs at batch 32 over 50,000 samples (assumed; no dataset attached). GPU fit is fp32 weights plus gradients plus two Adam moments (16 bytes per parameter) with 1.3x headroom; activations are not included and grow with batch size."
      },
      "blockers": [],
      "warnings": [],
      "text": "Plan: CNN-S-CV   12 layers · 113.2K params · fingerprint 4f78dfe7\n  shape     [1,28,28] -> [10]\n  will run  yes (0 blockers, 0 warnings)\n  fits      T4 16GB yes · A100 40GB yes · H100 80GB yes\n  train     ~$0.04 / 3m on A10G (24GB)   (10 epochs, batch 32, 50k samples assumed)\n  policy    all lines pass\n  history   Last time this structure trained here: valAcc 0.9683, 10 epochs, $0.03, 3m, 2026-09-04 (+2 earlier)"
    },
    {
      "id": "CNN-M-CV-0",
      "family": "CNN",
      "scale": "M",
      "origin": "seeded generator, retargeted to 1x28x28 and a 10-way head",
      "legal": false,
      "model": {
        "id": "rl-root",
        "name": "CNN-M-CV",
        "components": [
          {
            "id": "n-rl0",
            "type": "input",
            "name": "input",
            "position": {
              "x": 220,
              "y": 120
            },
            "params": {
              "shape": [
                1,
                28,
                28
              ]
            },
            "inputs": [],
            "outputs": [
              "n-rl1"
            ]
          },
          {
            "id": "n-rl1",
            "type": "conv2d",
            "name": "conv1",
            "position": {
              "x": 220,
              "y": 260
            },
            "params": {
              "outChannels": 128,
              "kernelSize": 3,
              "stride": 1,
              "padding": 1
            },
            "inputs": [
              "n-rl0"
            ],
            "outputs": [
              "n-rl2"
            ]
          },
          {
            "id": "n-rl2",
            "type": "batchNorm",
            "name": "bn1",
            "position": {
              "x": 220,
              "y": 400
            },
            "params": {
              "numFeatures": 128
            },
            "inputs": [
              "n-rl1"
            ],
            "outputs": [
              "n-rl3"
            ]
          },
          {
            "id": "n-rl3",
            "type": "gelu",
            "name": "gelu1",
            "position": {
              "x": 220,
              "y": 540
            },
            "params": {},
            "inputs": [
              "n-rl2"
            ],
            "outputs": [
              "n-rl4"
            ]
          },
          {
            "id": "n-rl4",
            "type": "conv2d",
            "name": "conv2",
            "position": {
              "x": 220,
              "y": 680
            },
            "params": {
              "outChannels": 256,
              "kernelSize": 3,
              "stride": 1,
              "padding": 1
            },
            "inputs": [
              "n-rl3"
            ],
            "outputs": [
              "n-rl5"
            ]
          },
          {
            "id": "n-rl5",
            "type": "batchNorm",
            "name": "bn2",
            "position": {
              "x": 220,
              "y": 820
            },
            "params": {
              "numFeatures": 256
            },
            "inputs": [
              "n-rl4"
            ],
            "outputs": [
              "n-rl6"
            ]
          },
          {
            "id": "n-rl6",
            "type": "gelu",
            "name": "gelu2",
            "position": {
              "x": 220,
              "y": 960
            },
            "params": {},
            "inputs": [
              "n-rl5"
            ],
            "outputs": [
              "n-rl7"
            ]
          },
          {
            "id": "n-rl7",
            "type": "conv2d",
            "name": "conv3",
            "position": {
              "x": 220,
              "y": 1100
            },
            "params": {
              "outChannels": 256,
              "kernelSize": 3,
              "stride": 1,
              "padding": 1
            },
            "inputs": [
              "n-rl6"
            ],
            "outputs": [
              "n-rl8"
            ]
          },
          {
            "id": "n-rl8",
            "type": "batchNorm",
            "name": "bn3",
            "position": {
              "x": 220,
              "y": 1240
            },
            "params": {
              "numFeatures": 256
            },
            "inputs": [
              "n-rl7"
            ],
            "outputs": [
              "n-rl9"
            ]
          },
          {
            "id": "n-rl9",
            "type": "gelu",
            "name": "gelu3",
            "position": {
              "x": 220,
              "y": 1380
            },
            "params": {},
            "inputs": [
              "n-rl8"
            ],
            "outputs": [
              "n-rl10"
            ]
          },
          {
            "id": "n-rl10",
            "type": "conv2d",
            "name": "conv4",
            "position": {
              "x": 220,
              "y": 1520
            },
            "params": {
              "outChannels": 256,
              "kernelSize": 3,
              "stride": 2,
              "padding": 1
            },
            "inputs": [
              "n-rl9"
            ],
            "outputs": [
              "n-rl11"
            ]
          },
          {
            "id": "n-rl11",
            "type": "batchNorm",
            "name": "bn4",
            "position": {
              "x": 220,
              "y": 1660
            },
            "params": {
              "numFeatures": 256
            },
            "inputs": [
              "n-rl10"
            ],
            "outputs": [
              "n-rl12"
            ]
          },
          {
            "id": "n-rl12",
            "type": "gelu",
            "name": "gelu4",
            "position": {
              "x": 220,
              "y": 1800
            },
            "params": {},
            "inputs": [
              "n-rl11"
            ],
            "outputs": [
              "n-rl13"
            ]
          },
          {
            "id": "n-rl13",
            "type": "conv2d",
            "name": "conv5",
            "position": {
              "x": 220,
              "y": 1940
            },
            "params": {
              "outChannels": 256,
              "kernelSize": 3,
              "stride": 1,
              "padding": 1
            },
            "inputs": [
              "n-rl12"
            ],
            "outputs": [
              "n-rl14"
            ]
          },
          {
            "id": "n-rl14",
            "type": "batchNorm",
            "name": "bn5",
            "position": {
              "x": 220,
              "y": 2080
            },
            "params": {
              "numFeatures": 256
            },
            "inputs": [
              "n-rl13"
            ],
            "outputs": [
              "n-rl15"
            ]
          },
          {
            "id": "n-rl15",
            "type": "gelu",
            "name": "gelu5",
            "position": {
              "x": 220,
              "y": 2220
            },
            "params": {},
            "inputs": [
              "n-rl14"
            ],
            "outputs": [
              "n-rl16"
            ]
          },
          {
            "id": "n-rl16",
            "type": "globalAvgPool2d",
            "name": "gap",
            "position": {
              "x": 220,
              "y": 2360
            },
            "params": {},
            "inputs": [
              "n-rl15"
            ],
            "outputs": [
              "n-rl17"
            ]
          },
          {
            "id": "n-rl17",
            "type": "flatten",
            "name": "flatten",
            "position": {
              "x": 220,
              "y": 2500
            },
            "params": {},
            "inputs": [
              "n-rl16"
            ],
            "outputs": [
              "n-rl18"
            ]
          },
          {
            "id": "n-rl18",
            "type": "linear",
            "name": "head",
            "position": {
              "x": 220,
              "y": 2640
            },
            "params": {
              "outFeatures": 10
            },
            "inputs": [
              "n-rl17"
            ],
            "outputs": [
              "n-rl19"
            ]
          },
          {
            "id": "n-rl19",
            "type": "output",
            "name": "output",
            "position": {
              "x": 220,
              "y": 2780
            },
            "params": {},
            "inputs": [
              "n-rl18"
            ],
            "outputs": []
          }
        ],
        "connections": [
          {
            "id": "c-rl20",
            "from": "n-rl0",
            "to": "n-rl1",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl21",
            "from": "n-rl1",
            "to": "n-rl2",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl22",
            "from": "n-rl2",
            "to": "n-rl3",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl23",
            "from": "n-rl3",
            "to": "n-rl4",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl24",
            "from": "n-rl4",
            "to": "n-rl5",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl25",
            "from": "n-rl5",
            "to": "n-rl6",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl26",
            "from": "n-rl6",
            "to": "n-rl7",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl27",
            "from": "n-rl7",
            "to": "n-rl8",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl28",
            "from": "n-rl8",
            "to": "n-rl9",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl29",
            "from": "n-rl9",
            "to": "n-rl10",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl30",
            "from": "n-rl10",
            "to": "n-rl11",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl31",
            "from": "n-rl11",
            "to": "n-rl12",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl32",
            "from": "n-rl12",
            "to": "n-rl13",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl33",
            "from": "n-rl13",
            "to": "n-rl14",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl34",
            "from": "n-rl14",
            "to": "n-rl15",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl35",
            "from": "n-rl15",
            "to": "n-rl16",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl36",
            "from": "n-rl16",
            "to": "n-rl17",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl37",
            "from": "n-rl17",
            "to": "n-rl18",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl38",
            "from": "n-rl18",
            "to": "n-rl19",
            "fromPort": "bottom",
            "toPort": "top"
          }
        ]
      },
      "summary": "CNN-M-CV: 18 layers, 2.1M params, will not run (1 blocker: policy: max_params 1M exceeded (2.1M))",
      "params": 2071562,
      "layers": 18,
      "inputShape": [
        1,
        28,
        28
      ],
      "outputShape": [
        10
      ],
      "fingerprint": "466b3a77",
      "cost": {
        "estCostUsd": 0.07699582498087185,
        "estTrainSec": 251.9863363010351,
        "fitsGpu": "A10G (24GB)",
        "gpuFits": {
          "T4": true,
          "A100_40": true,
          "H100_80": true
        },
        "assumptions": "Cost is a roofline estimate on the priced GPU for 10 epochs at batch 32 over 50,000 samples (assumed; no dataset attached). GPU fit is fp32 weights plus gradients plus two Adam moments (16 bytes per parameter) with 1.3x headroom; activations are not included and grow with batch size."
      },
      "blockers": [
        {
          "title": "policy: max_params 1M exceeded (2.1M)",
          "detail": "max_params: 1M",
          "fix": "Reduce the model by 1.1M parameters or raise max_params.",
          "stage": "policy",
          "componentIds": []
        }
      ],
      "warnings": [],
      "text": "Plan: CNN-M-CV   18 layers · 2.1M params · fingerprint 466b3a77\n  shape     [1,28,28] -> [10]\n  will run  NO  (1 blocker)\n  fits      T4 16GB yes · A100 40GB yes · H100 80GB yes\n  train     ~$0.08 / 5m on A10G (24GB)   (10 epochs, batch 32, 50k samples assumed)\n  blockers\n    ! policy: max_params 1M exceeded (2.1M)\n  policy    1 line violated (listed above)"
    },
    {
      "id": "CNN-M-CV-1",
      "family": "CNN",
      "scale": "M",
      "origin": "seeded generator, retargeted to 1x28x28 and a 10-way head",
      "legal": false,
      "model": {
        "id": "rl-root",
        "name": "CNN-M-CV",
        "components": [
          {
            "id": "n-rl0",
            "type": "input",
            "name": "input",
            "position": {
              "x": 220,
              "y": 120
            },
            "params": {
              "shape": [
                1,
                28,
                28
              ]
            },
            "inputs": [],
            "outputs": [
              "n-rl1"
            ]
          },
          {
            "id": "n-rl1",
            "type": "conv2d",
            "name": "conv1",
            "position": {
              "x": 220,
              "y": 260
            },
            "params": {
              "outChannels": 128,
              "kernelSize": 3,
              "stride": 2,
              "padding": 1
            },
            "inputs": [
              "n-rl0"
            ],
            "outputs": [
              "n-rl2"
            ]
          },
          {
            "id": "n-rl2",
            "type": "batchNorm",
            "name": "bn1",
            "position": {
              "x": 220,
              "y": 400
            },
            "params": {
              "numFeatures": 128
            },
            "inputs": [
              "n-rl1"
            ],
            "outputs": [
              "n-rl3"
            ]
          },
          {
            "id": "n-rl3",
            "type": "gelu",
            "name": "gelu1",
            "position": {
              "x": 220,
              "y": 540
            },
            "params": {},
            "inputs": [
              "n-rl2"
            ],
            "outputs": [
              "n-rl4"
            ]
          },
          {
            "id": "n-rl4",
            "type": "conv2d",
            "name": "conv2",
            "position": {
              "x": 220,
              "y": 680
            },
            "params": {
              "outChannels": 128,
              "kernelSize": 3,
              "stride": 2,
              "padding": 1
            },
            "inputs": [
              "n-rl3"
            ],
            "outputs": [
              "n-rl5"
            ]
          },
          {
            "id": "n-rl5",
            "type": "batchNorm",
            "name": "bn2",
            "position": {
              "x": 220,
              "y": 820
            },
            "params": {
              "numFeatures": 128
            },
            "inputs": [
              "n-rl4"
            ],
            "outputs": [
              "n-rl6"
            ]
          },
          {
            "id": "n-rl6",
            "type": "gelu",
            "name": "gelu2",
            "position": {
              "x": 220,
              "y": 960
            },
            "params": {},
            "inputs": [
              "n-rl5"
            ],
            "outputs": [
              "n-rl7"
            ]
          },
          {
            "id": "n-rl7",
            "type": "conv2d",
            "name": "conv3",
            "position": {
              "x": 220,
              "y": 1100
            },
            "params": {
              "outChannels": 256,
              "kernelSize": 3,
              "stride": 1,
              "padding": 1
            },
            "inputs": [
              "n-rl6"
            ],
            "outputs": [
              "n-rl8"
            ]
          },
          {
            "id": "n-rl8",
            "type": "batchNorm",
            "name": "bn3",
            "position": {
              "x": 220,
              "y": 1240
            },
            "params": {
              "numFeatures": 256
            },
            "inputs": [
              "n-rl7"
            ],
            "outputs": [
              "n-rl9"
            ]
          },
          {
            "id": "n-rl9",
            "type": "gelu",
            "name": "gelu3",
            "position": {
              "x": 220,
              "y": 1380
            },
            "params": {},
            "inputs": [
              "n-rl8"
            ],
            "outputs": [
              "n-rl10"
            ]
          },
          {
            "id": "n-rl10",
            "type": "conv2d",
            "name": "conv4",
            "position": {
              "x": 220,
              "y": 1520
            },
            "params": {
              "outChannels": 256,
              "kernelSize": 3,
              "stride": 1,
              "padding": 1
            },
            "inputs": [
              "n-rl9"
            ],
            "outputs": [
              "n-rl11"
            ]
          },
          {
            "id": "n-rl11",
            "type": "batchNorm",
            "name": "bn4",
            "position": {
              "x": 220,
              "y": 1660
            },
            "params": {
              "numFeatures": 256
            },
            "inputs": [
              "n-rl10"
            ],
            "outputs": [
              "n-rl12"
            ]
          },
          {
            "id": "n-rl12",
            "type": "gelu",
            "name": "gelu4",
            "position": {
              "x": 220,
              "y": 1800
            },
            "params": {},
            "inputs": [
              "n-rl11"
            ],
            "outputs": [
              "n-rl13"
            ]
          },
          {
            "id": "n-rl13",
            "type": "conv2d",
            "name": "conv5",
            "position": {
              "x": 220,
              "y": 1940
            },
            "params": {
              "outChannels": 512,
              "kernelSize": 3,
              "stride": 1,
              "padding": 1
            },
            "inputs": [
              "n-rl12"
            ],
            "outputs": [
              "n-rl14"
            ]
          },
          {
            "id": "n-rl14",
            "type": "batchNorm",
            "name": "bn5",
            "position": {
              "x": 220,
              "y": 2080
            },
            "params": {
              "numFeatures": 512
            },
            "inputs": [
              "n-rl13"
            ],
            "outputs": [
              "n-rl15"
            ]
          },
          {
            "id": "n-rl15",
            "type": "gelu",
            "name": "gelu5",
            "position": {
              "x": 220,
              "y": 2220
            },
            "params": {},
            "inputs": [
              "n-rl14"
            ],
            "outputs": [
              "n-rl16"
            ]
          },
          {
            "id": "n-rl16",
            "type": "globalAvgPool2d",
            "name": "gap",
            "position": {
              "x": 220,
              "y": 2360
            },
            "params": {},
            "inputs": [
              "n-rl15"
            ],
            "outputs": [
              "n-rl17"
            ]
          },
          {
            "id": "n-rl17",
            "type": "flatten",
            "name": "flatten",
            "position": {
              "x": 220,
              "y": 2500
            },
            "params": {},
            "inputs": [
              "n-rl16"
            ],
            "outputs": [
              "n-rl18"
            ]
          },
          {
            "id": "n-rl18",
            "type": "linear",
            "name": "head",
            "position": {
              "x": 220,
              "y": 2640
            },
            "params": {
              "outFeatures": 10
            },
            "inputs": [
              "n-rl17"
            ],
            "outputs": [
              "n-rl19"
            ]
          },
          {
            "id": "n-rl19",
            "type": "output",
            "name": "output",
            "position": {
              "x": 220,
              "y": 2780
            },
            "params": {},
            "inputs": [
              "n-rl18"
            ],
            "outputs": []
          }
        ],
        "connections": [
          {
            "id": "c-rl20",
            "from": "n-rl0",
            "to": "n-rl1",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl21",
            "from": "n-rl1",
            "to": "n-rl2",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl22",
            "from": "n-rl2",
            "to": "n-rl3",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl23",
            "from": "n-rl3",
            "to": "n-rl4",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl24",
            "from": "n-rl4",
            "to": "n-rl5",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl25",
            "from": "n-rl5",
            "to": "n-rl6",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl26",
            "from": "n-rl6",
            "to": "n-rl7",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl27",
            "from": "n-rl7",
            "to": "n-rl8",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl28",
            "from": "n-rl8",
            "to": "n-rl9",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl29",
            "from": "n-rl9",
            "to": "n-rl10",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl30",
            "from": "n-rl10",
            "to": "n-rl11",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl31",
            "from": "n-rl11",
            "to": "n-rl12",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl32",
            "from": "n-rl12",
            "to": "n-rl13",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl33",
            "from": "n-rl13",
            "to": "n-rl14",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl34",
            "from": "n-rl14",
            "to": "n-rl15",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl35",
            "from": "n-rl15",
            "to": "n-rl16",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl36",
            "from": "n-rl16",
            "to": "n-rl17",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl37",
            "from": "n-rl17",
            "to": "n-rl18",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl38",
            "from": "n-rl18",
            "to": "n-rl19",
            "fromPort": "bottom",
            "toPort": "top"
          }
        ]
      },
      "summary": "CNN-M-CV: 18 layers, 2.2M params, will not run (1 blocker: policy: max_params 1M exceeded (2.2M))",
      "params": 2221962,
      "layers": 18,
      "inputShape": [
        1,
        28,
        28
      ],
      "outputShape": [
        10
      ],
      "fingerprint": "466b3a77",
      "cost": {
        "estCostUsd": 0.0462959239375151,
        "estTrainSec": 151.51393288641304,
        "fitsGpu": "A10G (24GB)",
        "gpuFits": {
          "T4": true,
          "A100_40": true,
          "H100_80": true
        },
        "assumptions": "Cost is a roofline estimate on the priced GPU for 10 epochs at batch 32 over 50,000 samples (assumed; no dataset attached). GPU fit is fp32 weights plus gradients plus two Adam moments (16 bytes per parameter) with 1.3x headroom; activations are not included and grow with batch size."
      },
      "blockers": [
        {
          "title": "policy: max_params 1M exceeded (2.2M)",
          "detail": "max_params: 1M",
          "fix": "Reduce the model by 1.2M parameters or raise max_params.",
          "stage": "policy",
          "componentIds": []
        }
      ],
      "warnings": [],
      "text": "Plan: CNN-M-CV   18 layers · 2.2M params · fingerprint 466b3a77\n  shape     [1,28,28] -> [10]\n  will run  NO  (1 blocker)\n  fits      T4 16GB yes · A100 40GB yes · H100 80GB yes\n  train     ~$0.05 / 3m on A10G (24GB)   (10 epochs, batch 32, 50k samples assumed)\n  blockers\n    ! policy: max_params 1M exceeded (2.2M)\n  policy    1 line violated (listed above)"
    },
    {
      "id": "HYB-S-CV-0",
      "family": "HYB",
      "scale": "S",
      "origin": "seeded generator, retargeted to 1x28x28 and a 10-way head",
      "legal": false,
      "model": {
        "id": "rl-root",
        "name": "HYB-S-CV",
        "components": [
          {
            "id": "n-rl0",
            "type": "input",
            "name": "input",
            "position": {
              "x": 220,
              "y": 120
            },
            "params": {
              "shape": [
                1,
                28,
                28
              ]
            },
            "inputs": [],
            "outputs": [
              "n-rl1"
            ]
          },
          {
            "id": "n-rl1",
            "type": "conv2d",
            "name": "stem_c1",
            "position": {
              "x": 220,
              "y": 260
            },
            "params": {
              "outChannels": 64,
              "kernelSize": 7,
              "stride": 2,
              "padding": 3
            },
            "inputs": [
              "n-rl0"
            ],
            "outputs": [
              "n-rl2"
            ]
          },
          {
            "id": "n-rl2",
            "type": "batchNorm",
            "name": "stem_bn",
            "position": {
              "x": 220,
              "y": 400
            },
            "params": {
              "numFeatures": 64
            },
            "inputs": [
              "n-rl1"
            ],
            "outputs": [
              "n-rl3"
            ]
          },
          {
            "id": "n-rl3",
            "type": "relu",
            "name": "stem_act",
            "position": {
              "x": 220,
              "y": 540
            },
            "params": {},
            "inputs": [
              "n-rl2"
            ],
            "outputs": [
              "n-rl4"
            ]
          },
          {
            "id": "n-rl4",
            "type": "maxpool2d",
            "name": "stem_pool",
            "position": {
              "x": 220,
              "y": 680
            },
            "params": {
              "kernelSize": 3,
              "stride": 2
            },
            "inputs": [
              "n-rl3"
            ],
            "outputs": [
              "n-rl5"
            ]
          },
          {
            "id": "n-rl5",
            "type": "patchEmbed",
            "name": "patch_proj",
            "position": {
              "x": 220,
              "y": 820
            },
            "params": {
              "embedDim": 256,
              "patchSize": 1,
              "inChans": 64
            },
            "inputs": [
              "n-rl4"
            ],
            "outputs": [
              "n-rl6"
            ]
          },
          {
            "id": "n-rl6",
            "type": "positionalEncoding",
            "name": "pos_enc",
            "position": {
              "x": 220,
              "y": 960
            },
            "params": {},
            "inputs": [
              "n-rl5"
            ],
            "outputs": [
              "n-rl7"
            ]
          },
          {
            "id": "n-rl7",
            "type": "transformerBlock",
            "name": "block_1",
            "position": {
              "x": 220,
              "y": 1100
            },
            "params": {
              "embedDim": 256,
              "numHeads": 8,
              "ffDim": 1024
            },
            "inputs": [
              "n-rl6"
            ],
            "outputs": [
              "n-rl8"
            ]
          },
          {
            "id": "n-rl8",
            "type": "layerNorm",
            "name": "ln_out",
            "position": {
              "x": 220,
              "y": 1240
            },
            "params": {
              "normalizedShape": 256
            },
            "inputs": [
              "n-rl7"
            ],
            "outputs": [
              "n-rl9"
            ]
          },
          {
            "id": "n-rl9",
            "type": "linear",
            "name": "head",
            "position": {
              "x": 220,
              "y": 1380
            },
            "params": {
              "outFeatures": 10
            },
            "inputs": [
              "n-rl8"
            ],
            "outputs": [
              "n-rl10"
            ]
          },
          {
            "id": "n-rl10",
            "type": "output",
            "name": "output",
            "position": {
              "x": 220,
              "y": 1520
            },
            "params": {},
            "inputs": [
              "n-rl9"
            ],
            "outputs": []
          }
        ],
        "connections": [
          {
            "id": "c-rl11",
            "from": "n-rl0",
            "to": "n-rl1",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl12",
            "from": "n-rl1",
            "to": "n-rl2",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl13",
            "from": "n-rl2",
            "to": "n-rl3",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl14",
            "from": "n-rl3",
            "to": "n-rl4",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl15",
            "from": "n-rl4",
            "to": "n-rl5",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl16",
            "from": "n-rl5",
            "to": "n-rl6",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl17",
            "from": "n-rl6",
            "to": "n-rl7",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl18",
            "from": "n-rl7",
            "to": "n-rl8",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl19",
            "from": "n-rl8",
            "to": "n-rl9",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl20",
            "from": "n-rl9",
            "to": "n-rl10",
            "fromPort": "bottom",
            "toPort": "top"
          }
        ]
      },
      "summary": "HYB-S-CV: 9 layers, 812.8K params, will not run (1 blocker: \"pos_enc\" is missing maxLen)",
      "params": 812810,
      "layers": 9,
      "inputShape": [
        1,
        28,
        28
      ],
      "outputShape": [
        36,
        10
      ],
      "fingerprint": "02fcfc4a",
      "cost": {
        "estCostUsd": 0.043335289000672655,
        "estTrainSec": 141.8245821840196,
        "fitsGpu": "A10G (24GB)",
        "gpuFits": {
          "T4": true,
          "A100_40": true,
          "H100_80": true
        },
        "assumptions": "Cost is a roofline estimate on the priced GPU for 10 epochs at batch 32 over 50,000 samples (assumed; no dataset attached). GPU fit is fp32 weights plus gradients plus two Adam moments (16 bytes per parameter) with 1.3x headroom; activations are not included and grow with batch size."
      },
      "blockers": [
        {
          "title": "\"pos_enc\" is missing maxLen",
          "stage": "preflight",
          "detail": "\"pos_enc\" (positionalEncoding) has no value for maxLen. A layer without these cannot be built, so the run fails at construction rather than part way through.",
          "fix": "Select the layer and fill the empty fields in the inspector.",
          "componentIds": [
            "n-rl6"
          ]
        }
      ],
      "warnings": [],
      "text": "Plan: HYB-S-CV   9 layers · 812.8K params · fingerprint 02fcfc4a\n  shape     [1,28,28] -> [36,10]\n  will run  NO  (1 blocker)\n  fits      T4 16GB yes · A100 40GB yes · H100 80GB yes\n  train     ~$0.04 / 3m on A10G (24GB)   (10 epochs, batch 32, 50k samples assumed)\n  blockers\n    ! \"pos_enc\" is missing maxLen\n  policy    all lines pass"
    },
    {
      "id": "HYB-S-CV-1",
      "family": "HYB",
      "scale": "S",
      "origin": "seeded generator, retargeted to 1x28x28 and a 10-way head",
      "legal": false,
      "model": {
        "id": "rl-root",
        "name": "HYB-S-CV",
        "components": [
          {
            "id": "n-rl0",
            "type": "input",
            "name": "input",
            "position": {
              "x": 220,
              "y": 120
            },
            "params": {
              "shape": [
                1,
                28,
                28
              ]
            },
            "inputs": [],
            "outputs": [
              "n-rl1"
            ]
          },
          {
            "id": "n-rl1",
            "type": "conv2d",
            "name": "stem_c1",
            "position": {
              "x": 220,
              "y": 260
            },
            "params": {
              "outChannels": 64,
              "kernelSize": 7,
              "stride": 2,
              "padding": 3
            },
            "inputs": [
              "n-rl0"
            ],
            "outputs": [
              "n-rl2"
            ]
          },
          {
            "id": "n-rl2",
            "type": "batchNorm",
            "name": "stem_bn",
            "position": {
              "x": 220,
              "y": 400
            },
            "params": {
              "numFeatures": 64
            },
            "inputs": [
              "n-rl1"
            ],
            "outputs": [
              "n-rl3"
            ]
          },
          {
            "id": "n-rl3",
            "type": "relu",
            "name": "stem_act",
            "position": {
              "x": 220,
              "y": 540
            },
            "params": {},
            "inputs": [
              "n-rl2"
            ],
            "outputs": [
              "n-rl4"
            ]
          },
          {
            "id": "n-rl4",
            "type": "maxpool2d",
            "name": "stem_pool",
            "position": {
              "x": 220,
              "y": 680
            },
            "params": {
              "kernelSize": 3,
              "stride": 2
            },
            "inputs": [
              "n-rl3"
            ],
            "outputs": [
              "n-rl5"
            ]
          },
          {
            "id": "n-rl5",
            "type": "patchEmbed",
            "name": "patch_proj",
            "position": {
              "x": 220,
              "y": 820
            },
            "params": {
              "embedDim": 256,
              "patchSize": 1,
              "inChans": 64
            },
            "inputs": [
              "n-rl4"
            ],
            "outputs": [
              "n-rl6"
            ]
          },
          {
            "id": "n-rl6",
            "type": "positionalEncoding",
            "name": "pos_enc",
            "position": {
              "x": 220,
              "y": 960
            },
            "params": {},
            "inputs": [
              "n-rl5"
            ],
            "outputs": [
              "n-rl7"
            ]
          },
          {
            "id": "n-rl7",
            "type": "transformerBlock",
            "name": "block_1",
            "position": {
              "x": 220,
              "y": 1100
            },
            "params": {
              "embedDim": 256,
              "numHeads": 8,
              "ffDim": 1024
            },
            "inputs": [
              "n-rl6"
            ],
            "outputs": [
              "n-rl8"
            ]
          },
          {
            "id": "n-rl8",
            "type": "layerNorm",
            "name": "ln_out",
            "position": {
              "x": 220,
              "y": 1240
            },
            "params": {
              "normalizedShape": 256
            },
            "inputs": [
              "n-rl7"
            ],
            "outputs": [
              "n-rl9"
            ]
          },
          {
            "id": "n-rl9",
            "type": "linear",
            "name": "head",
            "position": {
              "x": 220,
              "y": 1380
            },
            "params": {
              "outFeatures": 10
            },
            "inputs": [
              "n-rl8"
            ],
            "outputs": [
              "n-rl10"
            ]
          },
          {
            "id": "n-rl10",
            "type": "output",
            "name": "output",
            "position": {
              "x": 220,
              "y": 1520
            },
            "params": {},
            "inputs": [
              "n-rl9"
            ],
            "outputs": []
          }
        ],
        "connections": [
          {
            "id": "c-rl11",
            "from": "n-rl0",
            "to": "n-rl1",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl12",
            "from": "n-rl1",
            "to": "n-rl2",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl13",
            "from": "n-rl2",
            "to": "n-rl3",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl14",
            "from": "n-rl3",
            "to": "n-rl4",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl15",
            "from": "n-rl4",
            "to": "n-rl5",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl16",
            "from": "n-rl5",
            "to": "n-rl6",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl17",
            "from": "n-rl6",
            "to": "n-rl7",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl18",
            "from": "n-rl7",
            "to": "n-rl8",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl19",
            "from": "n-rl8",
            "to": "n-rl9",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl20",
            "from": "n-rl9",
            "to": "n-rl10",
            "fromPort": "bottom",
            "toPort": "top"
          }
        ]
      },
      "summary": "HYB-S-CV: 9 layers, 812.8K params, will not run (1 blocker: \"pos_enc\" is missing maxLen)",
      "params": 812810,
      "layers": 9,
      "inputShape": [
        1,
        28,
        28
      ],
      "outputShape": [
        36,
        10
      ],
      "fingerprint": "02fcfc4a",
      "cost": {
        "estCostUsd": 0.043335289000672655,
        "estTrainSec": 141.8245821840196,
        "fitsGpu": "A10G (24GB)",
        "gpuFits": {
          "T4": true,
          "A100_40": true,
          "H100_80": true
        },
        "assumptions": "Cost is a roofline estimate on the priced GPU for 10 epochs at batch 32 over 50,000 samples (assumed; no dataset attached). GPU fit is fp32 weights plus gradients plus two Adam moments (16 bytes per parameter) with 1.3x headroom; activations are not included and grow with batch size."
      },
      "blockers": [
        {
          "title": "\"pos_enc\" is missing maxLen",
          "stage": "preflight",
          "detail": "\"pos_enc\" (positionalEncoding) has no value for maxLen. A layer without these cannot be built, so the run fails at construction rather than part way through.",
          "fix": "Select the layer and fill the empty fields in the inspector.",
          "componentIds": [
            "n-rl6"
          ]
        }
      ],
      "warnings": [],
      "text": "Plan: HYB-S-CV   9 layers · 812.8K params · fingerprint 02fcfc4a\n  shape     [1,28,28] -> [36,10]\n  will run  NO  (1 blocker)\n  fits      T4 16GB yes · A100 40GB yes · H100 80GB yes\n  train     ~$0.04 / 3m on A10G (24GB)   (10 epochs, batch 32, 50k samples assumed)\n  blockers\n    ! \"pos_enc\" is missing maxLen\n  policy    all lines pass"
    },
    {
      "id": "HYB-M-CV-0",
      "family": "HYB",
      "scale": "M",
      "origin": "seeded generator, retargeted to 1x28x28 and a 10-way head",
      "legal": false,
      "model": {
        "id": "rl-root",
        "name": "HYB-M-CV",
        "components": [
          {
            "id": "n-rl0",
            "type": "input",
            "name": "input",
            "position": {
              "x": 220,
              "y": 120
            },
            "params": {
              "shape": [
                1,
                28,
                28
              ]
            },
            "inputs": [],
            "outputs": [
              "n-rl1"
            ]
          },
          {
            "id": "n-rl1",
            "type": "conv2d",
            "name": "stem_c1",
            "position": {
              "x": 220,
              "y": 260
            },
            "params": {
              "outChannels": 128,
              "kernelSize": 7,
              "stride": 2,
              "padding": 3
            },
            "inputs": [
              "n-rl0"
            ],
            "outputs": [
              "n-rl2"
            ]
          },
          {
            "id": "n-rl2",
            "type": "batchNorm",
            "name": "stem_bn",
            "position": {
              "x": 220,
              "y": 400
            },
            "params": {
              "numFeatures": 128
            },
            "inputs": [
              "n-rl1"
            ],
            "outputs": [
              "n-rl3"
            ]
          },
          {
            "id": "n-rl3",
            "type": "relu",
            "name": "stem_act",
            "position": {
              "x": 220,
              "y": 540
            },
            "params": {},
            "inputs": [
              "n-rl2"
            ],
            "outputs": [
              "n-rl4"
            ]
          },
          {
            "id": "n-rl4",
            "type": "maxpool2d",
            "name": "stem_pool",
            "position": {
              "x": 220,
              "y": 680
            },
            "params": {
              "kernelSize": 3,
              "stride": 2
            },
            "inputs": [
              "n-rl3"
            ],
            "outputs": [
              "n-rl5"
            ]
          },
          {
            "id": "n-rl5",
            "type": "patchEmbed",
            "name": "patch_proj",
            "position": {
              "x": 220,
              "y": 820
            },
            "params": {
              "embedDim": 512,
              "patchSize": 1,
              "inChans": 128
            },
            "inputs": [
              "n-rl4"
            ],
            "outputs": [
              "n-rl6"
            ]
          },
          {
            "id": "n-rl6",
            "type": "positionalEncoding",
            "name": "pos_enc",
            "position": {
              "x": 220,
              "y": 960
            },
            "params": {},
            "inputs": [
              "n-rl5"
            ],
            "outputs": [
              "n-rl7"
            ]
          },
          {
            "id": "n-rl7",
            "type": "transformerBlock",
            "name": "block_1",
            "position": {
              "x": 220,
              "y": 1100
            },
            "params": {
              "embedDim": 512,
              "numHeads": 8,
              "ffDim": 2048
            },
            "inputs": [
              "n-rl6"
            ],
            "outputs": [
              "n-rl8"
            ]
          },
          {
            "id": "n-rl8",
            "type": "transformerBlock",
            "name": "block_2",
            "position": {
              "x": 220,
              "y": 1240
            },
            "params": {
              "embedDim": 512,
              "numHeads": 8,
              "ffDim": 2048
            },
            "inputs": [
              "n-rl7"
            ],
            "outputs": [
              "n-rl9"
            ]
          },
          {
            "id": "n-rl9",
            "type": "transformerBlock",
            "name": "block_3",
            "position": {
              "x": 220,
              "y": 1380
            },
            "params": {
              "embedDim": 512,
              "numHeads": 8,
              "ffDim": 2048
            },
            "inputs": [
              "n-rl8"
            ],
            "outputs": [
              "n-rl10"
            ]
          },
          {
            "id": "n-rl10",
            "type": "layerNorm",
            "name": "ln_out",
            "position": {
              "x": 220,
              "y": 1520
            },
            "params": {
              "normalizedShape": 512
            },
            "inputs": [
              "n-rl9"
            ],
            "outputs": [
              "n-rl11"
            ]
          },
          {
            "id": "n-rl11",
            "type": "linear",
            "name": "head",
            "position": {
              "x": 220,
              "y": 1660
            },
            "params": {
              "outFeatures": 10
            },
            "inputs": [
              "n-rl10"
            ],
            "outputs": [
              "n-rl12"
            ]
          },
          {
            "id": "n-rl12",
            "type": "output",
            "name": "output",
            "position": {
              "x": 220,
              "y": 1800
            },
            "params": {},
            "inputs": [
              "n-rl11"
            ],
            "outputs": []
          }
        ],
        "connections": [
          {
            "id": "c-rl13",
            "from": "n-rl0",
            "to": "n-rl1",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl14",
            "from": "n-rl1",
            "to": "n-rl2",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl15",
            "from": "n-rl2",
            "to": "n-rl3",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl16",
            "from": "n-rl3",
            "to": "n-rl4",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl17",
            "from": "n-rl4",
            "to": "n-rl5",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl18",
            "from": "n-rl5",
            "to": "n-rl6",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl19",
            "from": "n-rl6",
            "to": "n-rl7",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl20",
            "from": "n-rl7",
            "to": "n-rl8",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl21",
            "from": "n-rl8",
            "to": "n-rl9",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl22",
            "from": "n-rl9",
            "to": "n-rl10",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl23",
            "from": "n-rl10",
            "to": "n-rl11",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl24",
            "from": "n-rl11",
            "to": "n-rl12",
            "fromPort": "bottom",
            "toPort": "top"
          }
        ]
      },
      "summary": "HYB-M-CV: 11 layers, 9.5M params, will not run (2 blockers: \"pos_enc\" is missing maxLen)",
      "params": 9536010,
      "layers": 11,
      "inputShape": [
        1,
        28,
        28
      ],
      "outputShape": [
        36,
        10
      ],
      "fingerprint": "d309d072",
      "cost": {
        "estCostUsd": 0.05514804528841143,
        "estTrainSec": 180.48451185298285,
        "fitsGpu": "A10G (24GB)",
        "gpuFits": {
          "T4": true,
          "A100_40": true,
          "H100_80": true
        },
        "assumptions": "Cost is a roofline estimate on the priced GPU for 10 epochs at batch 32 over 50,000 samples (assumed; no dataset attached). GPU fit is fp32 weights plus gradients plus two Adam moments (16 bytes per parameter) with 1.3x headroom; activations are not included and grow with batch size."
      },
      "blockers": [
        {
          "title": "\"pos_enc\" is missing maxLen",
          "stage": "preflight",
          "detail": "\"pos_enc\" (positionalEncoding) has no value for maxLen. A layer without these cannot be built, so the run fails at construction rather than part way through.",
          "fix": "Select the layer and fill the empty fields in the inspector.",
          "componentIds": [
            "n-rl6"
          ]
        },
        {
          "title": "policy: max_params 1M exceeded (9.5M)",
          "detail": "max_params: 1M",
          "fix": "Reduce the model by 8.5M parameters or raise max_params.",
          "stage": "policy",
          "componentIds": []
        }
      ],
      "warnings": [],
      "text": "Plan: HYB-M-CV   11 layers · 9.5M params · fingerprint d309d072\n  shape     [1,28,28] -> [36,10]\n  will run  NO  (2 blockers)\n  fits      T4 16GB yes · A100 40GB yes · H100 80GB yes\n  train     ~$0.06 / 4m on A10G (24GB)   (10 epochs, batch 32, 50k samples assumed)\n  blockers\n    ! \"pos_enc\" is missing maxLen\n    ! policy: max_params 1M exceeded (9.5M)\n  policy    1 line violated (listed above)"
    },
    {
      "id": "HYB-M-CV-1",
      "family": "HYB",
      "scale": "M",
      "origin": "seeded generator, retargeted to 1x28x28 and a 10-way head",
      "legal": false,
      "model": {
        "id": "rl-root",
        "name": "HYB-M-CV",
        "components": [
          {
            "id": "n-rl0",
            "type": "input",
            "name": "input",
            "position": {
              "x": 220,
              "y": 120
            },
            "params": {
              "shape": [
                1,
                28,
                28
              ]
            },
            "inputs": [],
            "outputs": [
              "n-rl1"
            ]
          },
          {
            "id": "n-rl1",
            "type": "conv2d",
            "name": "stem_c1",
            "position": {
              "x": 220,
              "y": 260
            },
            "params": {
              "outChannels": 128,
              "kernelSize": 7,
              "stride": 2,
              "padding": 3
            },
            "inputs": [
              "n-rl0"
            ],
            "outputs": [
              "n-rl2"
            ]
          },
          {
            "id": "n-rl2",
            "type": "batchNorm",
            "name": "stem_bn",
            "position": {
              "x": 220,
              "y": 400
            },
            "params": {
              "numFeatures": 128
            },
            "inputs": [
              "n-rl1"
            ],
            "outputs": [
              "n-rl3"
            ]
          },
          {
            "id": "n-rl3",
            "type": "relu",
            "name": "stem_act",
            "position": {
              "x": 220,
              "y": 540
            },
            "params": {},
            "inputs": [
              "n-rl2"
            ],
            "outputs": [
              "n-rl4"
            ]
          },
          {
            "id": "n-rl4",
            "type": "maxpool2d",
            "name": "stem_pool",
            "position": {
              "x": 220,
              "y": 680
            },
            "params": {
              "kernelSize": 3,
              "stride": 2
            },
            "inputs": [
              "n-rl3"
            ],
            "outputs": [
              "n-rl5"
            ]
          },
          {
            "id": "n-rl5",
            "type": "patchEmbed",
            "name": "patch_proj",
            "position": {
              "x": 220,
              "y": 820
            },
            "params": {
              "embedDim": 512,
              "patchSize": 1,
              "inChans": 128
            },
            "inputs": [
              "n-rl4"
            ],
            "outputs": [
              "n-rl6"
            ]
          },
          {
            "id": "n-rl6",
            "type": "positionalEncoding",
            "name": "pos_enc",
            "position": {
              "x": 220,
              "y": 960
            },
            "params": {},
            "inputs": [
              "n-rl5"
            ],
            "outputs": [
              "n-rl7"
            ]
          },
          {
            "id": "n-rl7",
            "type": "transformerBlock",
            "name": "block_1",
            "position": {
              "x": 220,
              "y": 1100
            },
            "params": {
              "embedDim": 512,
              "numHeads": 8,
              "ffDim": 2048
            },
            "inputs": [
              "n-rl6"
            ],
            "outputs": [
              "n-rl8"
            ]
          },
          {
            "id": "n-rl8",
            "type": "transformerBlock",
            "name": "block_2",
            "position": {
              "x": 220,
              "y": 1240
            },
            "params": {
              "embedDim": 512,
              "numHeads": 8,
              "ffDim": 2048
            },
            "inputs": [
              "n-rl7"
            ],
            "outputs": [
              "n-rl9"
            ]
          },
          {
            "id": "n-rl9",
            "type": "transformerBlock",
            "name": "block_3",
            "position": {
              "x": 220,
              "y": 1380
            },
            "params": {
              "embedDim": 512,
              "numHeads": 8,
              "ffDim": 2048
            },
            "inputs": [
              "n-rl8"
            ],
            "outputs": [
              "n-rl10"
            ]
          },
          {
            "id": "n-rl10",
            "type": "layerNorm",
            "name": "ln_out",
            "position": {
              "x": 220,
              "y": 1520
            },
            "params": {
              "normalizedShape": 512
            },
            "inputs": [
              "n-rl9"
            ],
            "outputs": [
              "n-rl11"
            ]
          },
          {
            "id": "n-rl11",
            "type": "linear",
            "name": "head",
            "position": {
              "x": 220,
              "y": 1660
            },
            "params": {
              "outFeatures": 10
            },
            "inputs": [
              "n-rl10"
            ],
            "outputs": [
              "n-rl12"
            ]
          },
          {
            "id": "n-rl12",
            "type": "output",
            "name": "output",
            "position": {
              "x": 220,
              "y": 1800
            },
            "params": {},
            "inputs": [
              "n-rl11"
            ],
            "outputs": []
          }
        ],
        "connections": [
          {
            "id": "c-rl13",
            "from": "n-rl0",
            "to": "n-rl1",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl14",
            "from": "n-rl1",
            "to": "n-rl2",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl15",
            "from": "n-rl2",
            "to": "n-rl3",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl16",
            "from": "n-rl3",
            "to": "n-rl4",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl17",
            "from": "n-rl4",
            "to": "n-rl5",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl18",
            "from": "n-rl5",
            "to": "n-rl6",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl19",
            "from": "n-rl6",
            "to": "n-rl7",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl20",
            "from": "n-rl7",
            "to": "n-rl8",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl21",
            "from": "n-rl8",
            "to": "n-rl9",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl22",
            "from": "n-rl9",
            "to": "n-rl10",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl23",
            "from": "n-rl10",
            "to": "n-rl11",
            "fromPort": "bottom",
            "toPort": "top"
          },
          {
            "id": "c-rl24",
            "from": "n-rl11",
            "to": "n-rl12",
            "fromPort": "bottom",
            "toPort": "top"
          }
        ]
      },
      "summary": "HYB-M-CV: 11 layers, 9.5M params, will not run (2 blockers: \"pos_enc\" is missing maxLen)",
      "params": 9536010,
      "layers": 11,
      "inputShape": [
        1,
        28,
        28
      ],
      "outputShape": [
        36,
        10
      ],
      "fingerprint": "d309d072",
      "cost": {
        "estCostUsd": 0.05514804528841143,
        "estTrainSec": 180.48451185298285,
        "fitsGpu": "A10G (24GB)",
        "gpuFits": {
          "T4": true,
          "A100_40": true,
          "H100_80": true
        },
        "assumptions": "Cost is a roofline estimate on the priced GPU for 10 epochs at batch 32 over 50,000 samples (assumed; no dataset attached). GPU fit is fp32 weights plus gradients plus two Adam moments (16 bytes per parameter) with 1.3x headroom; activations are not included and grow with batch size."
      },
      "blockers": [
        {
          "title": "\"pos_enc\" is missing maxLen",
          "stage": "preflight",
          "detail": "\"pos_enc\" (positionalEncoding) has no value for maxLen. A layer without these cannot be built, so the run fails at construction rather than part way through.",
          "fix": "Select the layer and fill the empty fields in the inspector.",
          "componentIds": [
            "n-rl6"
          ]
        },
        {
          "title": "policy: max_params 1M exceeded (9.5M)",
          "detail": "max_params: 1M",
          "fix": "Reduce the model by 8.5M parameters or raise max_params.",
          "stage": "policy",
          "componentIds": []
        }
      ],
      "warnings": [],
      "text": "Plan: HYB-M-CV   11 layers · 9.5M params · fingerprint d309d072\n  shape     [1,28,28] -> [36,10]\n  will run  NO  (2 blockers)\n  fits      T4 16GB yes · A100 40GB yes · H100 80GB yes\n  train     ~$0.06 / 4m on A10G (24GB)   (10 epochs, batch 32, 50k samples assumed)\n  blockers\n    ! \"pos_enc\" is missing maxLen\n    ! policy: max_params 1M exceeded (9.5M)\n  policy    1 line violated (listed above)"
    }
  ],
  "policy": {
    "applied": {
      "max_params": "1M"
    },
    "source": "The repository's own rule, the same field `.neurarch.yml` carries and `/api/v1/plan` and `/api/v1/train` accept.",
    "note": "`/api/v1/rank` scores the graph and does not read a policy file, so a design this rule excludes can still come back `legal` there. The two are kept apart on purpose."
  },
  "refusedCount": 6,
  "refusalKinds": {
    "preflight": 4,
    "policy": 4
  },
  "ranking": {
    "tieBreak": {
      "rule": "cost",
      "decided": 4,
      "note": "4 candidates were placed by estimated cost inside a measured tie. Those positions are your rule, not a measurement; measuredRank is what the verifier said."
    },
    "ranked": [
      {
        "id": "CNN-S-CV-0",
        "blocking": 0,
        "warnings": 0,
        "otherStageBlockers": [],
        "outcomeFlags": [],
        "params": 113226,
        "estCostUsd": 0.042424553250298785,
        "fitsGpu": "A10G (24GB)",
        "summary": "No dataset is wired yet, so a run would train on random tensors.",
        "tier": "legal",
        "rank": 1,
        "measuredRank": 1,
        "tiedWith": 1,
        "reasons": [
          "Runs, and trips no rule with a trained-outcome measurement behind it.",
          "Tied at measured rank 1 with 3 others; placed by estimated cost (0.042424553250298785) on your tieBreak rule. That is a budget decision, not a claim about the design."
        ]
      },
      {
        "id": "CNN-S-CV-1",
        "blocking": 0,
        "warnings": 0,
        "otherStageBlockers": [],
        "outcomeFlags": [],
        "params": 75530,
        "estCostUsd": 0.0444266753026351,
        "fitsGpu": "A10G (24GB)",
        "summary": "No dataset is wired yet, so a run would train on random tensors.",
        "tier": "legal",
        "rank": 2,
        "measuredRank": 1,
        "tiedWith": 1,
        "reasons": [
          "Runs, and trips no rule with a trained-outcome measurement behind it.",
          "Tied at measured rank 1 with 3 others; placed by estimated cost (0.0444266753026351) on your tieBreak rule. That is a budget decision, not a claim about the design."
        ]
      },
      {
        "id": "CNN-M-CV-1",
        "blocking": 0,
        "warnings": 0,
        "otherStageBlockers": [],
        "outcomeFlags": [],
        "params": 2221962,
        "estCostUsd": 0.0462959239375151,
        "fitsGpu": "A10G (24GB)",
        "summary": "No dataset is wired yet, so a run would train on random tensors.",
        "tier": "legal",
        "rank": 3,
        "measuredRank": 1,
        "tiedWith": 1,
        "reasons": [
          "Runs, and trips no rule with a trained-outcome measurement behind it.",
          "Tied at measured rank 1 with 3 others; placed by estimated cost (0.0462959239375151) on your tieBreak rule. That is a budget decision, not a claim about the design."
        ]
      },
      {
        "id": "CNN-M-CV-0",
        "blocking": 0,
        "warnings": 0,
        "otherStageBlockers": [],
        "outcomeFlags": [],
        "params": 2071562,
        "estCostUsd": 0.07699582498087185,
        "fitsGpu": "A10G (24GB)",
        "summary": "No dataset is wired yet, so a run would train on random tensors.",
        "tier": "legal",
        "rank": 4,
        "measuredRank": 1,
        "tiedWith": 1,
        "reasons": [
          "Runs, and trips no rule with a trained-outcome measurement behind it.",
          "Tied at measured rank 1 with 3 others; placed by estimated cost (0.07699582498087185) on your tieBreak rule. That is a budget decision, not a claim about the design."
        ]
      },
      {
        "id": "HYB-S-CV-0",
        "blocking": 1,
        "warnings": 0,
        "otherStageBlockers": [],
        "outcomeFlags": [],
        "params": 812810,
        "estCostUsd": 0.043335289000672655,
        "fitsGpu": "A10G (24GB)",
        "summary": "1 blocker would have failed a $0.04 / 3m on an A10G (24GB) run.",
        "tier": "blocked",
        "rank": 5,
        "measuredRank": 5,
        "tiedWith": 4,
        "reasons": [
          "1 blocking finding: this graph does not forward-pass, so executing it spends budget on a crash."
        ]
      },
      {
        "id": "HYB-S-CV-1",
        "blocking": 1,
        "warnings": 0,
        "otherStageBlockers": [],
        "outcomeFlags": [],
        "params": 812810,
        "estCostUsd": 0.043335289000672655,
        "fitsGpu": "A10G (24GB)",
        "summary": "1 blocker would have failed a $0.04 / 3m on an A10G (24GB) run.",
        "tier": "blocked",
        "rank": 5,
        "measuredRank": 5,
        "tiedWith": 4,
        "reasons": [
          "1 blocking finding: this graph does not forward-pass, so executing it spends budget on a crash."
        ]
      },
      {
        "id": "HYB-M-CV-0",
        "blocking": 1,
        "warnings": 0,
        "otherStageBlockers": [],
        "outcomeFlags": [],
        "params": 9536010,
        "estCostUsd": 0.05514804528841143,
        "fitsGpu": "A10G (24GB)",
        "summary": "1 blocker would have failed a $0.06 / 4m on an A10G (24GB) run.",
        "tier": "blocked",
        "rank": 5,
        "measuredRank": 5,
        "tiedWith": 4,
        "reasons": [
          "1 blocking finding: this graph does not forward-pass, so executing it spends budget on a crash."
        ]
      },
      {
        "id": "HYB-M-CV-1",
        "blocking": 1,
        "warnings": 0,
        "otherStageBlockers": [],
        "outcomeFlags": [],
        "params": 9536010,
        "estCostUsd": 0.05514804528841143,
        "fitsGpu": "A10G (24GB)",
        "summary": "1 blocker would have failed a $0.06 / 4m on an A10G (24GB) run.",
        "tier": "blocked",
        "rank": 5,
        "measuredRank": 5,
        "tiedWith": 4,
        "reasons": [
          "1 blocking finding: this graph does not forward-pass, so executing it spends budget on a crash."
        ]
      }
    ],
    "recommended": "CNN-S-CV-0",
    "recommendation": "CNN-S-CV-0 sits alone at the top because you asked ties to be broken on cost. Nothing measured separates it from 3 others at measured rank 1; the choice is your budget's, not the verifier's.",
    "budget": {
      "candidates": 8,
      "blocked": 4,
      "legal": 4,
      "wouldNotRun": [
        "HYB-S-CV-0",
        "HYB-S-CV-1",
        "HYB-M-CV-0",
        "HYB-M-CV-1"
      ],
      "reclaimed": 0.5
    },
    "calibration": {
      "exclusion": {
        "claim": "A design with a pre-flight blocker does not forward-pass.",
        "evidence": "264-graph study, torch 2.8: 96 of 96 blocked graphs crashed PyTorch forward, 80 of 80 passes ran clean."
      },
      "ordering": {
        "claim": "Ordering two legal designs is weakly supported and usually abstains.",
        "pairwiseAccuracy": 0.514,
        "coverage": 0.083,
        "sampleSize": 36,
        "decidedPairs": 3,
        "quotable": false,
        "basis": "in-sample: 24 designs over 6 tasks trained end to end on one T4 (scripts/rl-benchmark/grounded-results.json)",
        "comparators": {
          "chance": 0.5,
          "zheng-2026-best": 0.615,
          "foster-2026-best": 0.6935
        }
      },
      "outOfSample": {
        "ran": "2026-09-01",
        "trainedRows": 15,
        "judgedPairs": 15,
        "decidedPairs": 4,
        "abstained": 11,
        "quotable": false,
        "note": "Held-out campaign reproduced the abstention (11 of 15 pairs) but decided too few pairs to promote an accuracy. See scripts/rl-benchmark/CALIBRATION.md.",
        "codeReadingJudges": {
          "basis": "same 15 held-out pairs, exported PyTorch, both orderings, position flips scored as abstentions (scripts/rl-benchmark/llm-baseline-results.json)",
          "claude-opus-5": {
            "decidedPairs": 15,
            "correct": 12,
            "pairwiseAccuracy": 0.8,
            "coverage": 1
          },
          "grok-4.3": {
            "decidedPairs": 15,
            "correct": 11,
            "pairwiseAccuracy": 0.7333,
            "coverage": 1
          }
        },
        "trivialBaseline": {
          "id": "largest-params",
          "decidedPairs": 15,
          "correct": 11,
          "pairwiseAccuracy": 0.7333,
          "coverage": 1,
          "note": "A no-model rule within a few pairs of both judges on this set. Neither judge number is evidence that reading code sees what parameter count does not."
        }
      },
      "source": "https://neurarch.com/docs/structural-checks"
    }
  },
  "chosen": {
    "id": "CNN-S-CV-0",
    "planUrl": "https://www.neurarch.com/p/hf8wvtqnq2",
    "fingerprint": "4f78dfe7"
  },
  "questions": [
    {
      "stage": "data",
      "id": "dataset",
      "question": "Which data should this train on?",
      "because": "Everything else about the run is derived from the graph. This is not: the design says it wants vision input of shape (1, 28, 28), but not which corpus you have.",
      "options": [
        {
          "label": "CIFAR-10",
          "value": "hf:cifar10",
          "hint": "60k 32×32 colour images, 10 classes"
        },
        {
          "label": "MNIST",
          "value": "hf:mnist",
          "hint": "70k 28×28 greyscale digits, 10 classes"
        },
        {
          "label": "Upload my own images",
          "value": "upload:image_zip",
          "hint": "ImageFolder .zip, goes to your private storage"
        },
        {
          "label": "No data yet, smoke-test it",
          "value": "synthetic",
          "hint": "Random tensors matching the input contract, so train.py runs end to end"
        }
      ],
      "answer": "hf:mnist",
      "answeredWhy": "The visitor said \"handwritten digits\". Which corpus that is remains theirs to say."
    },
    {
      "stage": "train",
      "id": "train-mode",
      "question": "How do you want to train it?",
      "because": "The estimate and the hardware fit are derived. Whether you want to spend the time or the money is not.",
      "options": [
        {
          "label": "Simulate it (free, instant)",
          "value": "simulate",
          "hint": "Architecture-based curves, useful to check the wiring, not a measurement"
        },
        {
          "label": "Free GPU (Colab / Kaggle)",
          "value": "free_gpu",
          "hint": "A notebook you run yourself; results report back into the app"
        },
        {
          "label": "Managed GPU (about $0.04)",
          "value": "managed_gpu",
          "hint": "3m on an A10G (24GB), confirmed in the runner before anything starts"
        }
      ],
      "answer": "managed_gpu",
      "answeredWhy": "Nothing in the graph can decide whether this run is worth paying for."
    }
  ],
  "history": {
    "fingerprint": "4f78dfe7",
    "rows": [
      {
        "at": "2026-09-04T08:25:52.186+00:00",
        "metric": "valAcc",
        "value": 0.9723,
        "epochs": 10,
        "wallSec": 120,
        "estCostUsd": 0.0257,
        "source": "via=v1/train job=job_1788510352186_pngead",
        "jobId": "job_1788510352186_pngead"
      },
      {
        "at": "2026-09-04T07:46:35.842+00:00",
        "metric": "valAcc",
        "value": 0.9683,
        "epochs": 10,
        "wallSec": 121,
        "estCostUsd": 0.0257,
        "source": "via=v1/train job=job_1788507995842_urhepy",
        "jobId": "job_1788507995842_urhepy"
      },
      {
        "at": "2026-09-04T07:13:24.731+00:00",
        "metric": "valAcc",
        "value": 0.9783,
        "epochs": 10,
        "wallSec": 137,
        "estCostUsd": 0.0294,
        "source": "via=v1/train job=job_1788506004731_41gum3",
        "jobId": "job_1788506004731_41gum3"
      },
      {
        "at": "2026-09-04T07:10:12.921+00:00",
        "metric": "valAcc",
        "value": 0.9498,
        "epochs": 3,
        "wallSec": 72,
        "estCostUsd": 0.0155,
        "source": "via=v1/train job=job_1788505812921_cm072a",
        "jobId": "job_1788505812921_cm072a"
      }
    ]
  },
  "training": {
    "request": {
      "dataset": "mnist",
      "gpu": "T4",
      "config": {
        "epochs": 10,
        "batchSize": 128,
        "lr": 0.001,
        "optimizer": "adam"
      }
    },
    "submit": {
      "job_id": "job_1788510352186_pngead",
      "mode": "gpu",
      "backend": "modal",
      "config": {
        "epochs": 10,
        "batchSize": 128,
        "lr": 0.001,
        "optimizer": "adam"
      }
    },
    "polls": [
      {
        "job_id": "job_1788510352186_pngead",
        "status": "running",
        "mode": "gpu",
        "dataset": "mnist",
        "epochs": [],
        "metrics": [],
        "wall_sec": null,
        "est_cost_usd": null,
        "created_at": "2026-09-04T08:25:52.186+00:00",
        "completed_at": null,
        "fingerprint": "4f78dfe7",
        "config": {
          "lr": 0.001,
          "__kind": "canvas",
          "epochs": 10,
          "__capMin": 120,
          "__source": {
            "via": "v1/train",
            "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
          },
          "batchSize": 128,
          "optimizer": "adam",
          "__gpuCount": 1
        },
        "__at": "2026-09-04T08:26:04.594Z"
      },
      {
        "job_id": "job_1788510352186_pngead",
        "status": "running",
        "mode": "gpu",
        "dataset": "mnist",
        "epochs": [
          {
            "util": true,
            "elapsedSec": 5,
            "gpuUtilPct": 0,
            "gpuMemPeakMb": 0,
            "gpuMemUsedMb": 0
          },
          {
            "util": true,
            "elapsedSec": 10,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          }
        ],
        "metrics": [],
        "wall_sec": null,
        "est_cost_usd": null,
        "created_at": "2026-09-04T08:25:52.186+00:00",
        "completed_at": null,
        "fingerprint": "4f78dfe7",
        "config": {
          "lr": 0.001,
          "__kind": "canvas",
          "epochs": 10,
          "__capMin": 120,
          "__source": {
            "via": "v1/train",
            "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
          },
          "batchSize": 128,
          "optimizer": "adam",
          "__gpuCount": 1
        },
        "__at": "2026-09-04T08:26:12.900Z"
      },
      {
        "job_id": "job_1788510352186_pngead",
        "status": "running",
        "mode": "gpu",
        "dataset": "mnist",
        "epochs": [
          {
            "util": true,
            "elapsedSec": 5,
            "gpuUtilPct": 0,
            "gpuMemPeakMb": 0,
            "gpuMemUsedMb": 0
          },
          {
            "util": true,
            "elapsedSec": 10,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 15,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 1,
            "valAcc": 0.942,
            "epochMs": 10456,
            "valLoss": 0.2959,
            "trainAcc": 0.8266,
            "trainLoss": 0.8339,
            "totalEpochs": 10
          }
        ],
        "metrics": [
          {
            "name": "valAcc",
            "value": 0.942
          },
          {
            "name": "valLoss",
            "value": 0.2959
          }
        ],
        "wall_sec": null,
        "est_cost_usd": null,
        "created_at": "2026-09-04T08:25:52.186+00:00",
        "completed_at": null,
        "fingerprint": "4f78dfe7",
        "config": {
          "lr": 0.001,
          "__kind": "canvas",
          "epochs": 10,
          "__capMin": 120,
          "__source": {
            "via": "v1/train",
            "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
          },
          "batchSize": 128,
          "optimizer": "adam",
          "__gpuCount": 1
        },
        "__at": "2026-09-04T08:26:21.178Z"
      },
      {
        "job_id": "job_1788510352186_pngead",
        "status": "running",
        "mode": "gpu",
        "dataset": "mnist",
        "epochs": [
          {
            "util": true,
            "elapsedSec": 5,
            "gpuUtilPct": 0,
            "gpuMemPeakMb": 0,
            "gpuMemUsedMb": 0
          },
          {
            "util": true,
            "elapsedSec": 10,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 15,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 1,
            "valAcc": 0.942,
            "epochMs": 10456,
            "valLoss": 0.2959,
            "trainAcc": 0.8266,
            "trainLoss": 0.8339,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 20,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 25,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          }
        ],
        "metrics": [
          {
            "name": "valAcc",
            "value": 0.942
          },
          {
            "name": "valLoss",
            "value": 0.2959
          }
        ],
        "wall_sec": null,
        "est_cost_usd": null,
        "created_at": "2026-09-04T08:25:52.186+00:00",
        "completed_at": null,
        "fingerprint": "4f78dfe7",
        "config": {
          "lr": 0.001,
          "__kind": "canvas",
          "epochs": 10,
          "__capMin": 120,
          "__source": {
            "via": "v1/train",
            "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
          },
          "batchSize": 128,
          "optimizer": "adam",
          "__gpuCount": 1
        },
        "__at": "2026-09-04T08:26:29.430Z"
      },
      {
        "job_id": "job_1788510352186_pngead",
        "status": "running",
        "mode": "gpu",
        "dataset": "mnist",
        "epochs": [
          {
            "util": true,
            "elapsedSec": 5,
            "gpuUtilPct": 0,
            "gpuMemPeakMb": 0,
            "gpuMemUsedMb": 0
          },
          {
            "util": true,
            "elapsedSec": 10,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 15,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 1,
            "valAcc": 0.942,
            "epochMs": 10456,
            "valLoss": 0.2959,
            "trainAcc": 0.8266,
            "trainLoss": 0.8339,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 20,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 25,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 2,
            "valAcc": 0.9125,
            "epochMs": 9863,
            "valLoss": 0.3288,
            "trainAcc": 0.9588,
            "trainLoss": 0.207,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 30,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 35,
            "gpuUtilPct": 79,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          }
        ],
        "metrics": [
          {
            "name": "valAcc",
            "value": 0.9125
          },
          {
            "name": "valLoss",
            "value": 0.3288
          }
        ],
        "wall_sec": null,
        "est_cost_usd": null,
        "created_at": "2026-09-04T08:25:52.186+00:00",
        "completed_at": null,
        "fingerprint": "4f78dfe7",
        "config": {
          "lr": 0.001,
          "__kind": "canvas",
          "epochs": 10,
          "__capMin": 120,
          "__source": {
            "via": "v1/train",
            "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
          },
          "batchSize": 128,
          "optimizer": "adam",
          "__gpuCount": 1
        },
        "__at": "2026-09-04T08:26:37.666Z"
      },
      {
        "job_id": "job_1788510352186_pngead",
        "status": "running",
        "mode": "gpu",
        "dataset": "mnist",
        "epochs": [
          {
            "util": true,
            "elapsedSec": 5,
            "gpuUtilPct": 0,
            "gpuMemPeakMb": 0,
            "gpuMemUsedMb": 0
          },
          {
            "util": true,
            "elapsedSec": 10,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 15,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 1,
            "valAcc": 0.942,
            "epochMs": 10456,
            "valLoss": 0.2959,
            "trainAcc": 0.8266,
            "trainLoss": 0.8339,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 20,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 25,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 2,
            "valAcc": 0.9125,
            "epochMs": 9863,
            "valLoss": 0.3288,
            "trainAcc": 0.9588,
            "trainLoss": 0.207,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 30,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 35,
            "gpuUtilPct": 79,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 3,
            "valAcc": 0.8933,
            "epochMs": 10086,
            "valLoss": 0.3395,
            "trainAcc": 0.9674,
            "trainLoss": 0.1389,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 40,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          }
        ],
        "metrics": [
          {
            "name": "valAcc",
            "value": 0.8933
          },
          {
            "name": "valLoss",
            "value": 0.3395
          }
        ],
        "wall_sec": null,
        "est_cost_usd": null,
        "created_at": "2026-09-04T08:25:52.186+00:00",
        "completed_at": null,
        "fingerprint": "4f78dfe7",
        "config": {
          "lr": 0.001,
          "__kind": "canvas",
          "epochs": 10,
          "__capMin": 120,
          "__source": {
            "via": "v1/train",
            "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
          },
          "batchSize": 128,
          "optimizer": "adam",
          "__gpuCount": 1
        },
        "__at": "2026-09-04T08:26:46.319Z"
      },
      {
        "job_id": "job_1788510352186_pngead",
        "status": "running",
        "mode": "gpu",
        "dataset": "mnist",
        "epochs": [
          {
            "util": true,
            "elapsedSec": 5,
            "gpuUtilPct": 0,
            "gpuMemPeakMb": 0,
            "gpuMemUsedMb": 0
          },
          {
            "util": true,
            "elapsedSec": 10,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 15,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 1,
            "valAcc": 0.942,
            "epochMs": 10456,
            "valLoss": 0.2959,
            "trainAcc": 0.8266,
            "trainLoss": 0.8339,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 20,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 25,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 2,
            "valAcc": 0.9125,
            "epochMs": 9863,
            "valLoss": 0.3288,
            "trainAcc": 0.9588,
            "trainLoss": 0.207,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 30,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 35,
            "gpuUtilPct": 79,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 3,
            "valAcc": 0.8933,
            "epochMs": 10086,
            "valLoss": 0.3395,
            "trainAcc": 0.9674,
            "trainLoss": 0.1389,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 40,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 45,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 4,
            "valAcc": 0.9038,
            "epochMs": 9971,
            "valLoss": 0.3041,
            "trainAcc": 0.9729,
            "trainLoss": 0.1106,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 50,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          }
        ],
        "metrics": [
          {
            "name": "valAcc",
            "value": 0.9038
          },
          {
            "name": "valLoss",
            "value": 0.3041
          }
        ],
        "wall_sec": null,
        "est_cost_usd": null,
        "created_at": "2026-09-04T08:25:52.186+00:00",
        "completed_at": null,
        "fingerprint": "4f78dfe7",
        "config": {
          "lr": 0.001,
          "__kind": "canvas",
          "epochs": 10,
          "__capMin": 120,
          "__source": {
            "via": "v1/train",
            "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
          },
          "batchSize": 128,
          "optimizer": "adam",
          "__gpuCount": 1
        },
        "__at": "2026-09-04T08:26:54.595Z"
      },
      {
        "job_id": "job_1788510352186_pngead",
        "status": "running",
        "mode": "gpu",
        "dataset": "mnist",
        "epochs": [
          {
            "util": true,
            "elapsedSec": 5,
            "gpuUtilPct": 0,
            "gpuMemPeakMb": 0,
            "gpuMemUsedMb": 0
          },
          {
            "util": true,
            "elapsedSec": 10,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 15,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 1,
            "valAcc": 0.942,
            "epochMs": 10456,
            "valLoss": 0.2959,
            "trainAcc": 0.8266,
            "trainLoss": 0.8339,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 20,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 25,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 2,
            "valAcc": 0.9125,
            "epochMs": 9863,
            "valLoss": 0.3288,
            "trainAcc": 0.9588,
            "trainLoss": 0.207,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 30,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 35,
            "gpuUtilPct": 79,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 3,
            "valAcc": 0.8933,
            "epochMs": 10086,
            "valLoss": 0.3395,
            "trainAcc": 0.9674,
            "trainLoss": 0.1389,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 40,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 45,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 4,
            "valAcc": 0.9038,
            "epochMs": 9971,
            "valLoss": 0.3041,
            "trainAcc": 0.9729,
            "trainLoss": 0.1106,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 50,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 55,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 5,
            "valAcc": 0.9698,
            "epochMs": 10016,
            "valLoss": 0.1057,
            "trainAcc": 0.9781,
            "trainLoss": 0.0844,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 60,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          }
        ],
        "metrics": [
          {
            "name": "valAcc",
            "value": 0.9698
          },
          {
            "name": "valLoss",
            "value": 0.1057
          }
        ],
        "wall_sec": null,
        "est_cost_usd": null,
        "created_at": "2026-09-04T08:25:52.186+00:00",
        "completed_at": null,
        "fingerprint": "4f78dfe7",
        "config": {
          "lr": 0.001,
          "__kind": "canvas",
          "epochs": 10,
          "__capMin": 120,
          "__source": {
            "via": "v1/train",
            "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
          },
          "batchSize": 128,
          "optimizer": "adam",
          "__gpuCount": 1
        },
        "__at": "2026-09-04T08:27:02.848Z"
      },
      {
        "job_id": "job_1788510352186_pngead",
        "status": "running",
        "mode": "gpu",
        "dataset": "mnist",
        "epochs": [
          {
            "util": true,
            "elapsedSec": 5,
            "gpuUtilPct": 0,
            "gpuMemPeakMb": 0,
            "gpuMemUsedMb": 0
          },
          {
            "util": true,
            "elapsedSec": 10,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 15,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 1,
            "valAcc": 0.942,
            "epochMs": 10456,
            "valLoss": 0.2959,
            "trainAcc": 0.8266,
            "trainLoss": 0.8339,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 20,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 25,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 2,
            "valAcc": 0.9125,
            "epochMs": 9863,
            "valLoss": 0.3288,
            "trainAcc": 0.9588,
            "trainLoss": 0.207,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 30,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 35,
            "gpuUtilPct": 79,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 3,
            "valAcc": 0.8933,
            "epochMs": 10086,
            "valLoss": 0.3395,
            "trainAcc": 0.9674,
            "trainLoss": 0.1389,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 40,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 45,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 4,
            "valAcc": 0.9038,
            "epochMs": 9971,
            "valLoss": 0.3041,
            "trainAcc": 0.9729,
            "trainLoss": 0.1106,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 50,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 55,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 5,
            "valAcc": 0.9698,
            "epochMs": 10016,
            "valLoss": 0.1057,
            "trainAcc": 0.9781,
            "trainLoss": 0.0844,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 60,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 65,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 311
          },
          {
            "lr": 0.0005,
            "epoch": 6,
            "valAcc": 0.956,
            "epochMs": 9928,
            "valLoss": 0.1433,
            "trainAcc": 0.979,
            "trainLoss": 0.0797,
            "totalEpochs": 10
          }
        ],
        "metrics": [
          {
            "name": "valAcc",
            "value": 0.956
          },
          {
            "name": "valLoss",
            "value": 0.1433
          }
        ],
        "wall_sec": null,
        "est_cost_usd": null,
        "created_at": "2026-09-04T08:25:52.186+00:00",
        "completed_at": null,
        "fingerprint": "4f78dfe7",
        "config": {
          "lr": 0.001,
          "__kind": "canvas",
          "epochs": 10,
          "__capMin": 120,
          "__source": {
            "via": "v1/train",
            "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
          },
          "batchSize": 128,
          "optimizer": "adam",
          "__gpuCount": 1
        },
        "__at": "2026-09-04T08:27:11.073Z"
      },
      {
        "job_id": "job_1788510352186_pngead",
        "status": "running",
        "mode": "gpu",
        "dataset": "mnist",
        "epochs": [
          {
            "util": true,
            "elapsedSec": 5,
            "gpuUtilPct": 0,
            "gpuMemPeakMb": 0,
            "gpuMemUsedMb": 0
          },
          {
            "util": true,
            "elapsedSec": 10,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 15,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 1,
            "valAcc": 0.942,
            "epochMs": 10456,
            "valLoss": 0.2959,
            "trainAcc": 0.8266,
            "trainLoss": 0.8339,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 20,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 25,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 2,
            "valAcc": 0.9125,
            "epochMs": 9863,
            "valLoss": 0.3288,
            "trainAcc": 0.9588,
            "trainLoss": 0.207,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 30,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 35,
            "gpuUtilPct": 79,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 3,
            "valAcc": 0.8933,
            "epochMs": 10086,
            "valLoss": 0.3395,
            "trainAcc": 0.9674,
            "trainLoss": 0.1389,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 40,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 45,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 4,
            "valAcc": 0.9038,
            "epochMs": 9971,
            "valLoss": 0.3041,
            "trainAcc": 0.9729,
            "trainLoss": 0.1106,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 50,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 55,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 5,
            "valAcc": 0.9698,
            "epochMs": 10016,
            "valLoss": 0.1057,
            "trainAcc": 0.9781,
            "trainLoss": 0.0844,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 60,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 65,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 311
          },
          {
            "lr": 0.0005,
            "epoch": 6,
            "valAcc": 0.956,
            "epochMs": 9928,
            "valLoss": 0.1433,
            "trainAcc": 0.979,
            "trainLoss": 0.0797,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 70,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 75,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          }
        ],
        "metrics": [
          {
            "name": "valAcc",
            "value": 0.956
          },
          {
            "name": "valLoss",
            "value": 0.1433
          }
        ],
        "wall_sec": null,
        "est_cost_usd": null,
        "created_at": "2026-09-04T08:25:52.186+00:00",
        "completed_at": null,
        "fingerprint": "4f78dfe7",
        "config": {
          "lr": 0.001,
          "__kind": "canvas",
          "epochs": 10,
          "__capMin": 120,
          "__source": {
            "via": "v1/train",
            "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
          },
          "batchSize": 128,
          "optimizer": "adam",
          "__gpuCount": 1
        },
        "__at": "2026-09-04T08:27:19.311Z"
      },
      {
        "job_id": "job_1788510352186_pngead",
        "status": "running",
        "mode": "gpu",
        "dataset": "mnist",
        "epochs": [
          {
            "util": true,
            "elapsedSec": 5,
            "gpuUtilPct": 0,
            "gpuMemPeakMb": 0,
            "gpuMemUsedMb": 0
          },
          {
            "util": true,
            "elapsedSec": 10,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 15,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 1,
            "valAcc": 0.942,
            "epochMs": 10456,
            "valLoss": 0.2959,
            "trainAcc": 0.8266,
            "trainLoss": 0.8339,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 20,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 25,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 2,
            "valAcc": 0.9125,
            "epochMs": 9863,
            "valLoss": 0.3288,
            "trainAcc": 0.9588,
            "trainLoss": 0.207,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 30,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 35,
            "gpuUtilPct": 79,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 3,
            "valAcc": 0.8933,
            "epochMs": 10086,
            "valLoss": 0.3395,
            "trainAcc": 0.9674,
            "trainLoss": 0.1389,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 40,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 45,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 4,
            "valAcc": 0.9038,
            "epochMs": 9971,
            "valLoss": 0.3041,
            "trainAcc": 0.9729,
            "trainLoss": 0.1106,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 50,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 55,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 5,
            "valAcc": 0.9698,
            "epochMs": 10016,
            "valLoss": 0.1057,
            "trainAcc": 0.9781,
            "trainLoss": 0.0844,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 60,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 65,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 311
          },
          {
            "lr": 0.0005,
            "epoch": 6,
            "valAcc": 0.956,
            "epochMs": 9928,
            "valLoss": 0.1433,
            "trainAcc": 0.979,
            "trainLoss": 0.0797,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 70,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 75,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 7,
            "valAcc": 0.9188,
            "epochMs": 9963,
            "valLoss": 0.247,
            "trainAcc": 0.98,
            "trainLoss": 0.0759,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 80,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 85,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          }
        ],
        "metrics": [
          {
            "name": "valAcc",
            "value": 0.9188
          },
          {
            "name": "valLoss",
            "value": 0.247
          }
        ],
        "wall_sec": null,
        "est_cost_usd": null,
        "created_at": "2026-09-04T08:25:52.186+00:00",
        "completed_at": null,
        "fingerprint": "4f78dfe7",
        "config": {
          "lr": 0.001,
          "__kind": "canvas",
          "epochs": 10,
          "__capMin": 120,
          "__source": {
            "via": "v1/train",
            "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
          },
          "batchSize": 128,
          "optimizer": "adam",
          "__gpuCount": 1
        },
        "__at": "2026-09-04T08:27:27.571Z"
      },
      {
        "job_id": "job_1788510352186_pngead",
        "status": "running",
        "mode": "gpu",
        "dataset": "mnist",
        "epochs": [
          {
            "util": true,
            "elapsedSec": 5,
            "gpuUtilPct": 0,
            "gpuMemPeakMb": 0,
            "gpuMemUsedMb": 0
          },
          {
            "util": true,
            "elapsedSec": 10,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 15,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 1,
            "valAcc": 0.942,
            "epochMs": 10456,
            "valLoss": 0.2959,
            "trainAcc": 0.8266,
            "trainLoss": 0.8339,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 20,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 25,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 2,
            "valAcc": 0.9125,
            "epochMs": 9863,
            "valLoss": 0.3288,
            "trainAcc": 0.9588,
            "trainLoss": 0.207,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 30,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 35,
            "gpuUtilPct": 79,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 3,
            "valAcc": 0.8933,
            "epochMs": 10086,
            "valLoss": 0.3395,
            "trainAcc": 0.9674,
            "trainLoss": 0.1389,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 40,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 45,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 4,
            "valAcc": 0.9038,
            "epochMs": 9971,
            "valLoss": 0.3041,
            "trainAcc": 0.9729,
            "trainLoss": 0.1106,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 50,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 55,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 5,
            "valAcc": 0.9698,
            "epochMs": 10016,
            "valLoss": 0.1057,
            "trainAcc": 0.9781,
            "trainLoss": 0.0844,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 60,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 65,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 311
          },
          {
            "lr": 0.0005,
            "epoch": 6,
            "valAcc": 0.956,
            "epochMs": 9928,
            "valLoss": 0.1433,
            "trainAcc": 0.979,
            "trainLoss": 0.0797,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 70,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 75,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 7,
            "valAcc": 0.9188,
            "epochMs": 9963,
            "valLoss": 0.247,
            "trainAcc": 0.98,
            "trainLoss": 0.0759,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 80,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 85,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 8,
            "valAcc": 0.9723,
            "epochMs": 10030,
            "valLoss": 0.0994,
            "trainAcc": 0.9798,
            "trainLoss": 0.072,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 90,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          }
        ],
        "metrics": [
          {
            "name": "valAcc",
            "value": 0.9723
          },
          {
            "name": "valLoss",
            "value": 0.0994
          }
        ],
        "wall_sec": null,
        "est_cost_usd": null,
        "created_at": "2026-09-04T08:25:52.186+00:00",
        "completed_at": null,
        "fingerprint": "4f78dfe7",
        "config": {
          "lr": 0.001,
          "__kind": "canvas",
          "epochs": 10,
          "__capMin": 120,
          "__source": {
            "via": "v1/train",
            "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
          },
          "batchSize": 128,
          "optimizer": "adam",
          "__gpuCount": 1
        },
        "__at": "2026-09-04T08:27:35.809Z"
      },
      {
        "job_id": "job_1788510352186_pngead",
        "status": "running",
        "mode": "gpu",
        "dataset": "mnist",
        "epochs": [
          {
            "util": true,
            "elapsedSec": 5,
            "gpuUtilPct": 0,
            "gpuMemPeakMb": 0,
            "gpuMemUsedMb": 0
          },
          {
            "util": true,
            "elapsedSec": 10,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 15,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 1,
            "valAcc": 0.942,
            "epochMs": 10456,
            "valLoss": 0.2959,
            "trainAcc": 0.8266,
            "trainLoss": 0.8339,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 20,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 25,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 2,
            "valAcc": 0.9125,
            "epochMs": 9863,
            "valLoss": 0.3288,
            "trainAcc": 0.9588,
            "trainLoss": 0.207,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 30,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 35,
            "gpuUtilPct": 79,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 3,
            "valAcc": 0.8933,
            "epochMs": 10086,
            "valLoss": 0.3395,
            "trainAcc": 0.9674,
            "trainLoss": 0.1389,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 40,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 45,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 4,
            "valAcc": 0.9038,
            "epochMs": 9971,
            "valLoss": 0.3041,
            "trainAcc": 0.9729,
            "trainLoss": 0.1106,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 50,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 55,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 5,
            "valAcc": 0.9698,
            "epochMs": 10016,
            "valLoss": 0.1057,
            "trainAcc": 0.9781,
            "trainLoss": 0.0844,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 60,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 65,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 311
          },
          {
            "lr": 0.0005,
            "epoch": 6,
            "valAcc": 0.956,
            "epochMs": 9928,
            "valLoss": 0.1433,
            "trainAcc": 0.979,
            "trainLoss": 0.0797,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 70,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 75,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 7,
            "valAcc": 0.9188,
            "epochMs": 9963,
            "valLoss": 0.247,
            "trainAcc": 0.98,
            "trainLoss": 0.0759,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 80,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 85,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 8,
            "valAcc": 0.9723,
            "epochMs": 10030,
            "valLoss": 0.0994,
            "trainAcc": 0.9798,
            "trainLoss": 0.072,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 90,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 95,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 9,
            "valAcc": 0.9562,
            "epochMs": 9951,
            "valLoss": 0.1349,
            "trainAcc": 0.9807,
            "trainLoss": 0.0691,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 100,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          }
        ],
        "metrics": [
          {
            "name": "valAcc",
            "value": 0.9562
          },
          {
            "name": "valLoss",
            "value": 0.1349
          }
        ],
        "wall_sec": null,
        "est_cost_usd": null,
        "created_at": "2026-09-04T08:25:52.186+00:00",
        "completed_at": null,
        "fingerprint": "4f78dfe7",
        "config": {
          "lr": 0.001,
          "__kind": "canvas",
          "epochs": 10,
          "__capMin": 120,
          "__source": {
            "via": "v1/train",
            "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
          },
          "batchSize": 128,
          "optimizer": "adam",
          "__gpuCount": 1
        },
        "__at": "2026-09-04T08:27:44.071Z"
      },
      {
        "job_id": "job_1788510352186_pngead",
        "status": "running",
        "mode": "gpu",
        "dataset": "mnist",
        "epochs": [
          {
            "util": true,
            "elapsedSec": 5,
            "gpuUtilPct": 0,
            "gpuMemPeakMb": 0,
            "gpuMemUsedMb": 0
          },
          {
            "util": true,
            "elapsedSec": 10,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 15,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 1,
            "valAcc": 0.942,
            "epochMs": 10456,
            "valLoss": 0.2959,
            "trainAcc": 0.8266,
            "trainLoss": 0.8339,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 20,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 25,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 2,
            "valAcc": 0.9125,
            "epochMs": 9863,
            "valLoss": 0.3288,
            "trainAcc": 0.9588,
            "trainLoss": 0.207,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 30,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 35,
            "gpuUtilPct": 79,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 3,
            "valAcc": 0.8933,
            "epochMs": 10086,
            "valLoss": 0.3395,
            "trainAcc": 0.9674,
            "trainLoss": 0.1389,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 40,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 45,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 4,
            "valAcc": 0.9038,
            "epochMs": 9971,
            "valLoss": 0.3041,
            "trainAcc": 0.9729,
            "trainLoss": 0.1106,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 50,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 55,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 5,
            "valAcc": 0.9698,
            "epochMs": 10016,
            "valLoss": 0.1057,
            "trainAcc": 0.9781,
            "trainLoss": 0.0844,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 60,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 65,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 311
          },
          {
            "lr": 0.0005,
            "epoch": 6,
            "valAcc": 0.956,
            "epochMs": 9928,
            "valLoss": 0.1433,
            "trainAcc": 0.979,
            "trainLoss": 0.0797,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 70,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 75,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 7,
            "valAcc": 0.9188,
            "epochMs": 9963,
            "valLoss": 0.247,
            "trainAcc": 0.98,
            "trainLoss": 0.0759,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 80,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 85,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 8,
            "valAcc": 0.9723,
            "epochMs": 10030,
            "valLoss": 0.0994,
            "trainAcc": 0.9798,
            "trainLoss": 0.072,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 90,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 95,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 9,
            "valAcc": 0.9562,
            "epochMs": 9951,
            "valLoss": 0.1349,
            "trainAcc": 0.9807,
            "trainLoss": 0.0691,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 100,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 105,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 10,
            "valAcc": 0.9545,
            "epochMs": 9901,
            "valLoss": 0.1497,
            "trainAcc": 0.9826,
            "trainLoss": 0.0644,
            "totalEpochs": 10
          }
        ],
        "metrics": [
          {
            "name": "valAcc",
            "value": 0.9545
          },
          {
            "name": "valLoss",
            "value": 0.1497
          }
        ],
        "wall_sec": null,
        "est_cost_usd": null,
        "created_at": "2026-09-04T08:25:52.186+00:00",
        "completed_at": null,
        "fingerprint": "4f78dfe7",
        "config": {
          "lr": 0.001,
          "__kind": "canvas",
          "epochs": 10,
          "__capMin": 120,
          "__source": {
            "via": "v1/train",
            "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
          },
          "batchSize": 128,
          "optimizer": "adam",
          "__gpuCount": 1
        },
        "__at": "2026-09-04T08:27:52.354Z"
      },
      {
        "job_id": "job_1788510352186_pngead",
        "status": "completed",
        "mode": "gpu",
        "dataset": "mnist",
        "epochs": [
          {
            "util": true,
            "elapsedSec": 5,
            "gpuUtilPct": 0,
            "gpuMemPeakMb": 0,
            "gpuMemUsedMb": 0
          },
          {
            "util": true,
            "elapsedSec": 10,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 15,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 1,
            "valAcc": 0.942,
            "epochMs": 10456,
            "valLoss": 0.2959,
            "trainAcc": 0.8266,
            "trainLoss": 0.8339,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 20,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 25,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 2,
            "valAcc": 0.9125,
            "epochMs": 9863,
            "valLoss": 0.3288,
            "trainAcc": 0.9588,
            "trainLoss": 0.207,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 30,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 35,
            "gpuUtilPct": 79,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.001,
            "epoch": 3,
            "valAcc": 0.8933,
            "epochMs": 10086,
            "valLoss": 0.3395,
            "trainAcc": 0.9674,
            "trainLoss": 0.1389,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 40,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 45,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 4,
            "valAcc": 0.9038,
            "epochMs": 9971,
            "valLoss": 0.3041,
            "trainAcc": 0.9729,
            "trainLoss": 0.1106,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 50,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 55,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 5,
            "valAcc": 0.9698,
            "epochMs": 10016,
            "valLoss": 0.1057,
            "trainAcc": 0.9781,
            "trainLoss": 0.0844,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 60,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 65,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 311
          },
          {
            "lr": 0.0005,
            "epoch": 6,
            "valAcc": 0.956,
            "epochMs": 9928,
            "valLoss": 0.1433,
            "trainAcc": 0.979,
            "trainLoss": 0.0797,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 70,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 75,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 7,
            "valAcc": 0.9188,
            "epochMs": 9963,
            "valLoss": 0.247,
            "trainAcc": 0.98,
            "trainLoss": 0.0759,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 80,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 85,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 8,
            "valAcc": 0.9723,
            "epochMs": 10030,
            "valLoss": 0.0994,
            "trainAcc": 0.9798,
            "trainLoss": 0.072,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 90,
            "gpuUtilPct": 91,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 95,
            "gpuUtilPct": 89,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 9,
            "valAcc": 0.9562,
            "epochMs": 9951,
            "valLoss": 0.1349,
            "trainAcc": 0.9807,
            "trainLoss": 0.0691,
            "totalEpochs": 10
          },
          {
            "util": true,
            "elapsedSec": 100,
            "gpuUtilPct": 90,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "util": true,
            "elapsedSec": 105,
            "gpuUtilPct": 92,
            "gpuMemPeakMb": 405,
            "gpuMemUsedMb": 18
          },
          {
            "lr": 0.0005,
            "epoch": 10,
            "valAcc": 0.9545,
            "epochMs": 9901,
            "valLoss": 0.1497,
            "trainAcc": 0.9826,
            "trainLoss": 0.0644,
            "totalEpochs": 10
          }
        ],
        "metrics": [
          {
            "name": "valAcc",
            "value": 0.9723
          },
          {
            "name": "valLoss",
            "value": 0.1497
          }
        ],
        "wall_sec": 116,
        "est_cost_usd": 0.0257,
        "created_at": "2026-09-04T08:25:52.186+00:00",
        "completed_at": "2026-09-04T08:27:52.26+00:00",
        "fingerprint": "4f78dfe7",
        "config": {
          "lr": 0.001,
          "__kind": "canvas",
          "epochs": 10,
          "__capMin": 120,
          "__source": {
            "via": "v1/train",
            "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
          },
          "batchSize": 128,
          "optimizer": "adam",
          "__gpuCount": 1
        },
        "model_trained": true,
        "model_format": "onnx",
        "model_url": "https://fhvxagghzblnjcyujbuz.supabase.co/storage/v1/object/sign/training-datasets/f05a7f0e-fd39-42c0-b107-0056245d3c52/artifacts/job_1788510352186_pngead.onnx?token=eyJraWQiOiJjNWZjMzc0Ni02NzRiLTQ0MGItOTZkYy1jNDY5YmZkOTVjZWUiLCJhbGciOiJIUzI1NiJ9.eyJ1cmwiOiJ0cmFpbmluZy1kYXRhc2V0cy9mMDVhN2YwZS1mZDM5LTQyYzAtYjEwNy0wMDU2MjQ1ZDNjNTIvYXJ0aWZhY3RzL2pvYl8xNzg4NTEwMzUyMTg2X3BuZ2VhZC5vbm54Iiwic2NvcGUiOiJkb3dubG9hZCIsImlhdCI6MTc4ODUxMDQ4MCwiZXhwIjoxNzg4NTExMDgwfQ.TqlxPo0i3FynnbwVcwyQfn6V-ZdiQjlUb-W3i-A9tfE",
        "ledger": "written",
        "__at": "2026-09-04T08:28:00.740Z"
      }
    ],
    "final": {
      "status": "completed",
      "epochs": [
        {
          "util": true,
          "elapsedSec": 5,
          "gpuUtilPct": 0,
          "gpuMemPeakMb": 0,
          "gpuMemUsedMb": 0
        },
        {
          "util": true,
          "elapsedSec": 10,
          "gpuUtilPct": 90,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "util": true,
          "elapsedSec": 15,
          "gpuUtilPct": 90,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "lr": 0.001,
          "epoch": 1,
          "valAcc": 0.942,
          "epochMs": 10456,
          "valLoss": 0.2959,
          "trainAcc": 0.8266,
          "trainLoss": 0.8339,
          "totalEpochs": 10
        },
        {
          "util": true,
          "elapsedSec": 20,
          "gpuUtilPct": 90,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "util": true,
          "elapsedSec": 25,
          "gpuUtilPct": 92,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "lr": 0.001,
          "epoch": 2,
          "valAcc": 0.9125,
          "epochMs": 9863,
          "valLoss": 0.3288,
          "trainAcc": 0.9588,
          "trainLoss": 0.207,
          "totalEpochs": 10
        },
        {
          "util": true,
          "elapsedSec": 30,
          "gpuUtilPct": 91,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "util": true,
          "elapsedSec": 35,
          "gpuUtilPct": 79,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "lr": 0.001,
          "epoch": 3,
          "valAcc": 0.8933,
          "epochMs": 10086,
          "valLoss": 0.3395,
          "trainAcc": 0.9674,
          "trainLoss": 0.1389,
          "totalEpochs": 10
        },
        {
          "util": true,
          "elapsedSec": 40,
          "gpuUtilPct": 92,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "util": true,
          "elapsedSec": 45,
          "gpuUtilPct": 91,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "lr": 0.0005,
          "epoch": 4,
          "valAcc": 0.9038,
          "epochMs": 9971,
          "valLoss": 0.3041,
          "trainAcc": 0.9729,
          "trainLoss": 0.1106,
          "totalEpochs": 10
        },
        {
          "util": true,
          "elapsedSec": 50,
          "gpuUtilPct": 91,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "util": true,
          "elapsedSec": 55,
          "gpuUtilPct": 92,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "lr": 0.0005,
          "epoch": 5,
          "valAcc": 0.9698,
          "epochMs": 10016,
          "valLoss": 0.1057,
          "trainAcc": 0.9781,
          "trainLoss": 0.0844,
          "totalEpochs": 10
        },
        {
          "util": true,
          "elapsedSec": 60,
          "gpuUtilPct": 90,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "util": true,
          "elapsedSec": 65,
          "gpuUtilPct": 91,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 311
        },
        {
          "lr": 0.0005,
          "epoch": 6,
          "valAcc": 0.956,
          "epochMs": 9928,
          "valLoss": 0.1433,
          "trainAcc": 0.979,
          "trainLoss": 0.0797,
          "totalEpochs": 10
        },
        {
          "util": true,
          "elapsedSec": 70,
          "gpuUtilPct": 89,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "util": true,
          "elapsedSec": 75,
          "gpuUtilPct": 89,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "lr": 0.0005,
          "epoch": 7,
          "valAcc": 0.9188,
          "epochMs": 9963,
          "valLoss": 0.247,
          "trainAcc": 0.98,
          "trainLoss": 0.0759,
          "totalEpochs": 10
        },
        {
          "util": true,
          "elapsedSec": 80,
          "gpuUtilPct": 91,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "util": true,
          "elapsedSec": 85,
          "gpuUtilPct": 89,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "lr": 0.0005,
          "epoch": 8,
          "valAcc": 0.9723,
          "epochMs": 10030,
          "valLoss": 0.0994,
          "trainAcc": 0.9798,
          "trainLoss": 0.072,
          "totalEpochs": 10
        },
        {
          "util": true,
          "elapsedSec": 90,
          "gpuUtilPct": 91,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "util": true,
          "elapsedSec": 95,
          "gpuUtilPct": 89,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "lr": 0.0005,
          "epoch": 9,
          "valAcc": 0.9562,
          "epochMs": 9951,
          "valLoss": 0.1349,
          "trainAcc": 0.9807,
          "trainLoss": 0.0691,
          "totalEpochs": 10
        },
        {
          "util": true,
          "elapsedSec": 100,
          "gpuUtilPct": 90,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "util": true,
          "elapsedSec": 105,
          "gpuUtilPct": 92,
          "gpuMemPeakMb": 405,
          "gpuMemUsedMb": 18
        },
        {
          "lr": 0.0005,
          "epoch": 10,
          "valAcc": 0.9545,
          "epochMs": 9901,
          "valLoss": 0.1497,
          "trainAcc": 0.9826,
          "trainLoss": 0.0644,
          "totalEpochs": 10
        }
      ],
      "metrics": [
        {
          "name": "valAcc",
          "value": 0.9723
        },
        {
          "name": "valLoss",
          "value": 0.1497
        }
      ],
      "wall_sec": 116,
      "est_cost_usd": 0.0257,
      "created_at": "2026-09-04T08:25:52.186+00:00",
      "completed_at": "2026-09-04T08:27:52.26+00:00",
      "fingerprint": "4f78dfe7",
      "config": {
        "lr": 0.001,
        "__kind": "canvas",
        "epochs": 10,
        "__capMin": 120,
        "__source": {
          "via": "v1/train",
          "keyId": "a719f1fe-3ddf-49b4-bfe9-3f621117a0b3"
        },
        "batchSize": 128,
        "optimizer": "adam",
        "__gpuCount": 1
      }
    },
    "ledger": "written"
  },
  "browserModel": {
    "file": "model.onnx",
    "candidateId": "CNN-S-CV-0",
    "weights": "trained",
    "weightsSource": "managed-run",
    "weightsJobId": "job_1788510352186_pngead",
    "weightsFormat": "onnx",
    "weightsNote": "Exported inside the training process from the weights the run finished with (modal_trainer.py, export_onnx), uploaded by the worker, and downloaded here from the `model_url` that `GET /api/v1/train?job=` returned. It is the model this run trained.",
    "weightsBytes": 454422,
    "verification": {
      "runtime": "onnxruntime 1.19.2",
      "testAcc": 0.9547,
      "testRight": 9547,
      "testCount": 10000,
      "digitsAcc": 0.8,
      "digitsRight": 8,
      "digitsCount": 10,
      "digitsPredicted": [
        0,
        1,
        2,
        3,
        4,
        2,
        8,
        7,
        8,
        9
      ],
      "onnxBytes": 454422,
      "preprocessing": "uint8 to [0,1], then (x - 0.1307) / 0.3081, one channel, 28 by 28"
    },
    "preprocessing": {
      "size": [
        28,
        28
      ],
      "channels": 1,
      "normalize": {
        "mean": 0.1307,
        "std": 0.3081
      },
      "note": "Exactly what modal_trainer.py::_build_mnist_script feeds: ToTensor to [0,1], then (x - 0.1307) / 0.3081, one channel, 28 by 28, white digit on black."
    }
  }
}
