{"i":14,"slug":"cli-model-latency-tokens","chart":{"id":"scheduler-repair-claude-vs-codex","title":"Repairing a scheduler: Claude Code vs Codex vs API","subtitle":"Same prompt, medium effort, 296 behavioral checks, 3 runs each","kind":"dot-range","unit":"seconds","yLabel":"Seconds","series":[{"name":"Total time","points":{"$k":["label","value","lo","hi","n","highlight"],"$r":[["Claude Code CLI · Sonnet 5.5 · medium",15,13.89,15.89,3,true],["Codex CLI · GPT-6.1 Sol · medium",61.16,59.9,69.51,3,"\u0001"],["OpenAI API · GPT-6.1 Sol · medium",17.32,16.28,18.61,3,"\u0001"]]}},{"name":"First useful output","points":{"$k":["label","value","lo","hi","n"],"$r":[["Claude Code CLI · Sonnet 5.5 · medium",7.55,6.77,7.63,3],["Codex CLI · GPT-6.1 Sol · medium",15.56,13.65,23.04,3],["OpenAI API · GPT-6.1 Sol · medium",7.46,6.68,9.05,3]]}}],"note":"All 9 runs passed all 296 checks. Dot = median, whiskers = range. Different models (Sonnet 5.5 vs GPT-6.1 Sol), so this compares route + model pairs, not routes alone.","sourceIds":["agent-provider-explorer"]}}