name: efficiency_v1
intent: >
  This experiment asks whether the anneal-plus-bursts curriculum learns
  agreement more efficiently than a fixed \@[α]{alpha} of 1.4, measured over
  2400 iterations, twice the horizon of the earlier curriculum experiments.
  Efficiency here has two parts: whether the curriculum reaches its peak
  sooner, and whether it then stays higher. The winning prefix from
  burst\_v1, a 3.0-and-1.0 alternating anneal through iteration 900 that held
  93 to 97 percent \@{unseen-mismatch} across iterations 450 to 900, is
  continued past 900 under three maintenance diets rather than the
  deep-uniform tail that undid it in burst\_v1.
hypothesis: >
  Two models make opposite predictions about stability, and both expect the
  curriculum to peak sooner. Jason's model expects the anneal-plus-bursts
  arms to peak sooner than fixed \@[α]{alpha} = 1.4, the efficiency win, but
  to be unstable: they should degrade more over continued training than the
  fixed-α model and finish below it at 2400. The build-vs-erosion model
  carried over from curriculum\_v1 and burst\_v1 predicts the opposite for
  stability, that under maintenance α at or above 1.0 there is no erosion
  pressure, so the burst arms should hold their early peak through 2400 and
  finish at or above fixed\_14. The three maintenance arms, holding at 1.0,
  holding at 1.4, and continuing to cycle 1.4 and 1.0, separate whether any
  degradation comes from the maintenance diet or from the peaked start
  itself.
seed: 42
base_args: [curriculum, --n-iterations, "10",
            --waypoints, "150", "300", "450", "600", "750", "900", "1050",
            "1200", "1350", "1500", "1650", "1800", "1950", "2100", "2250",
            "2400"]
runs:
  - label: fixed_14
    args: [--schedule, "1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150"]
  - label: ann_burst_hold10
    args: [--schedule, "3.0:150,1.0:150,2.1429:150,1.0:150,1.2857:150,1.0:150,1.0:150,1.0:150,1.0:150,1.0:150,1.0:150,1.0:150,1.0:150,1.0:150,1.0:150,1.0:150"]
  - label: ann_burst_hold14
    args: [--schedule, "3.0:150,1.0:150,2.1429:150,1.0:150,1.2857:150,1.0:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150,1.4:150"]
  - label: ann_burst_cycle
    args: [--schedule, "3.0:150,1.0:150,2.1429:150,1.0:150,1.2857:150,1.0:150,1.4:150,1.0:150,1.4:150,1.0:150,1.4:150,1.0:150,1.4:150,1.0:150,1.4:150,1.0:150"]
compare:
  metric: unseen_mismatch
