{
  "generated": "2026-06-24",
  "model": "a~N(0,1); actual score x=a+N(0,sTest^2) ranked to percentile xp; true ability percentile ap=rank(a); perceived=clamp(rho*ap+(1-rho)*50+bta+N(0,8^2),0,100); quartiles cut on xp",
  "N": 4000,
  "seeds": 200,
  "c1_independence": {
    "params": {
      "N": 4000,
      "rho": 0,
      "bta": 15,
      "sTest": 0.5
    },
    "bottomGap_pts": 52.5,
    "bottomGap_ci": 0,
    "bottomGap_min": 51.7,
    "topGap_pts": -22.5,
    "topGap_ci": 0,
    "topGap_max": -21.9,
    "perceivedSlope_pts": 0,
    "actualSlope_pts": 75
  },
  "c2_sweep": [
    {
      "rho": 0,
      "botGap": 52.5,
      "rXY": 0
    },
    {
      "rho": 0.25,
      "botGap": 44.2,
      "rXY": 0.59
    },
    {
      "rho": 0.5,
      "botGap": 35.9,
      "rXY": 0.78
    },
    {
      "rho": 0.75,
      "botGap": 27.6,
      "rXY": 0.83
    },
    {
      "rho": 1,
      "botGap": 19.3,
      "rXY": 0.85
    }
  ],
  "c3_autocorrelation": {
    "slope": -1,
    "honest_r": 0
  },
  "c4_rtm_only": {
    "bottomGap_pts": 19.3,
    "topGap_pts": -19.3
  },
  "c5_shape": {
    "perceived": [
      64.8,
      65,
      65,
      65.5
    ],
    "actual": [
      12.5,
      37.5,
      62.5,
      87.5
    ]
  },
  "canonical_original": {
    "source": "Kruger & Dunning 1999",
    "bottom_quartile_actual_pct": 12,
    "bottom_quartile_perceived_pct": 62
  },
  "pass": true
}