{
  "summary": {
    "car_count": 272,
    "track_layout_count": 48,
    "cars_with_setup_seed": 15
  },
  "current_combo": {
    "car_model": "ks_mazda_rx7_spirit_r",
    "track": "ks_highlands",
    "track_layout": "layout_int",
    "available_setup_seed": true
  },
  "setup_profiles": {
    "discipline_baseline": {
      "profile_id": "discipline_baseline",
      "name": "Discipline Baseline",
      "description": "Low-fuel baseline with conservative assists so you still have to drive the car.",
      "target_fuel_l": 12,
      "abs_target": 1,
      "tc_target": 1,
      "notes": [
        "Low fuel makes mistakes obvious without burying you under tyre/fuel management noise.",
        "ABS/TC are reduced, not deleted, unless the car is already running without them."
      ]
    },
    "assist_fade": {
      "profile_id": "assist_fade",
      "name": "Assist Fade",
      "description": "One step closer to raw driving: enough support to keep reps clean, not enough to hide bad habits.",
      "target_fuel_l": 10,
      "abs_target": 0,
      "tc_target": 0,
      "notes": [
        "Use this after you can repeat the baseline cleanly.",
        "If the car becomes survival-mode, go back one stage instead of brute-forcing it."
      ]
    },
    "race_discipline": {
      "profile_id": "race_discipline",
      "name": "Race Discipline",
      "description": "Short-fuel race-car profile that keeps you honest on brake release and exits.",
      "target_fuel_l": 18,
      "abs_target": 2,
      "tc_target": 1,
      "notes": [
        "Enough fuel for a focused stint, not a wander.",
        "Assists stay low so the car still teaches you something."
      ]
    }
  },
  "curriculum": [
    {
      "plan_id": "smooth_inputs::abarth500::ks_vallelunga/club_circuit",
      "stage": "smooth_inputs",
      "priority": 1,
      "title": "Smooth Inputs",
      "car_model": "abarth500",
      "track": "ks_vallelunga",
      "track_layout": "club_circuit",
      "setup_profile": "discipline_baseline",
      "live_mode": "smoothness",
      "why": [
        "Short lap length forces repetition instead of sightseeing.",
        "Low-power front-drive cars punish impatience without being chaotic.",
        "Selected combo: Abarth 500 EsseEsse on Vallelunga - Club.",
        "A saved setup seed exists locally, so the tool can materialize a training setup instead of just recommending one."
      ],
      "score": 23.5
    },
    {
      "plan_id": "rwd_momentum::ks_mazda_rx7_spirit_r::ks_brands_hatch/indy",
      "stage": "rwd_momentum",
      "priority": 2,
      "title": "RWD Momentum",
      "car_model": "ks_mazda_rx7_spirit_r",
      "track": "ks_brands_hatch",
      "track_layout": "indy",
      "setup_profile": "assist_fade",
      "live_mode": "exit",
      "why": [
        "This stage teaches throttle discipline and apex commitment.",
        "You have enough power to pay for exit mistakes, but not enough to hide them on the straights.",
        "Selected combo: Mazda RX-7 Spirit R on Brands Hatch - Indy.",
        "A saved setup seed exists locally, so the tool can materialize a training setup instead of just recommending one."
      ],
      "score": 24.25
    },
    {
      "plan_id": "race_braking::lotus_evora_gtc::ks_nurburgring/layout_sprint_a",
      "stage": "race_braking",
      "priority": 3,
      "title": "Race Braking",
      "car_model": "lotus_evora_gtc",
      "track": "ks_nurburgring",
      "track_layout": "layout_sprint_a",
      "setup_profile": "race_discipline",
      "live_mode": "braking",
      "why": [
        "Race-car grip shifts the challenge from survival to brake release and commitment.",
        "Shorter race circuits make the same braking errors repeat often enough to fix them.",
        "Selected combo: Lotus Evora GTC on Nurburgring - Sprint.",
        "A saved setup seed exists locally, so the tool can materialize a training setup instead of just recommending one."
      ],
      "score": 23.5
    }
  ],
  "generated_setups": [
    {
      "profile": {
        "profile_id": "discipline_baseline",
        "name": "Discipline Baseline",
        "description": "Low-fuel baseline with conservative assists so you still have to drive the car.",
        "target_fuel_l": 12,
        "abs_target": 1,
        "tc_target": 1,
        "notes": [
          "Low fuel makes mistakes obvious without burying you under tyre/fuel management noise.",
          "ABS/TC are reduced, not deleted, unless the car is already running without them."
        ]
      },
      "seed_path": "C:\\Users\\shank\\Documents\\Assetto Corsa\\setups\\abarth500\\generic\\last.ini",
      "output_path": "C:\\Users\\shank\\Documents\\Assetto Corsa\\setups\\abarth500\\ks_vallelunga_club_circuit\\codex_smooth_inputs.ini",
      "changes": {
        "FUEL": 12,
        "ABS": 1,
        "TRACTION_CONTROL": 1
      }
    },
    {
      "profile": {
        "profile_id": "assist_fade",
        "name": "Assist Fade",
        "description": "One step closer to raw driving: enough support to keep reps clean, not enough to hide bad habits.",
        "target_fuel_l": 10,
        "abs_target": 0,
        "tc_target": 0,
        "notes": [
          "Use this after you can repeat the baseline cleanly.",
          "If the car becomes survival-mode, go back one stage instead of brute-forcing it."
        ]
      },
      "seed_path": "C:\\Users\\shank\\Documents\\Assetto Corsa\\setups\\ks_mazda_rx7_spirit_r\\generic\\last.ini",
      "output_path": "C:\\Users\\shank\\Documents\\Assetto Corsa\\setups\\ks_mazda_rx7_spirit_r\\ks_brands_hatch_indy\\codex_rwd_momentum.ini",
      "changes": {
        "FUEL": 10,
        "ABS": 0
      }
    },
    {
      "profile": {
        "profile_id": "race_discipline",
        "name": "Race Discipline",
        "description": "Short-fuel race-car profile that keeps you honest on brake release and exits.",
        "target_fuel_l": 18,
        "abs_target": 2,
        "tc_target": 1,
        "notes": [
          "Enough fuel for a focused stint, not a wander.",
          "Assists stay low so the car still teaches you something."
        ]
      },
      "seed_path": "C:\\Users\\shank\\Documents\\Assetto Corsa\\setups\\lotus_evora_gtc\\generic\\last.ini",
      "output_path": "C:\\Users\\shank\\Documents\\Assetto Corsa\\setups\\lotus_evora_gtc\\ks_nurburgring_layout_sprint_a\\codex_race_braking.ini",
      "changes": {
        "FUEL": 18,
        "ABS": 2,
        "TRACTION_CONTROL": 1
      }
    }
  ]
}