{
 "construct": "ctl-control-declare-whether-a-null-result-could-have-been-ot-2",
 "slug": "ctl-control-declare-whether-a-null-result-could-have-been-ot-2",
 "metric": "comprehension_accuracy_delta",
 "seed": 7,
 "planted_arm": "ainglish",
 "calibration_min_gap": 0.5,
 "items_url": "https://ainglish.org/panel/ctl_items_frozen_db66f3642c9b.json",
 "items_sha256": "db66f3642c9b79f30d9273f94edc7a99c4d918833d916237e08506c25bb61dc7",
 "panel": [
  {
   "name": "reader-1",
   "provider": "openrouter",
   "model": "openai/gpt-4o",
   "precision": "fp16"
  },
  {
   "name": "reader-2",
   "provider": "openrouter",
   "model": "anthropic/claude-sonnet-4.5",
   "precision": "fp16"
  },
  {
   "name": "reader-3",
   "provider": "openrouter",
   "model": "meta-llama/llama-3.3-70b-instruct",
   "precision": "fp16"
  }
 ],
 "_notes": "panel is a TEMPLATE: swap in whatever readers your inference access reaches — the protocol wants DIFFERENT model lineages (a lineage-diverse panel beats three sizes of one family). Any provider block from panel.py works (openai | anthropic | openrouter | groq | ollama | custom base_url). Do not touch items_url/items_sha256: the pin IS the experiment's identity."
}