Agent & model matrix: round 2
The second round, measured 2026-09-23 on skill 0.17.1. It is the round the Agent & model matrix page currently shows — that page includes the results below as they are, so the two cannot differ. The case, how to read a cell, and the list of all rounds are there: Agent & model matrix.
Results
Measured 2026-09-23 on skill 0.17.1, every agent at its then-current release,
every model through OpenRouter except the native Claude Code cell. Judge:
Claude Sonnet 5, prompt 11cfe4cad3ff. The Cline column was measured with
the driver that ends the session at the agent's question (see the note
below); the other columns needed no such step.
| Model | Cline | Codex CLI | Hermes | Kimi Code | oh-my-pi | opencode | Pi | Claude Code |
|---|---|---|---|---|---|---|---|---|
| Claude Sonnet 5 (native) | – | – | – | – | – | – | – | ✅ 10/10 [R] claude 2.1.280 claude-sonnet-5 ktw 0.17.1 · 2026-09-23 |
| Claude Sonnet 5 (OpenRouter) | ✅ 10/10 [R] cline 3.0.64 anthropic/claude-sonnet-5 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] codex 0.156.1 anthropic/claude-sonnet-5 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] hermes 0.21.4 anthropic/claude-sonnet-5 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] kimi 2.0.2 anthropic/claude-sonnet-5 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] omp 18.2.11 anthropic/claude-sonnet-5 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] opencode 1.18.32 anthropic/claude-sonnet-5 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] pi 0.87.1 anthropic/claude-sonnet-5 ktw 0.17.1 · 2026-09-23 |
– |
| DeepSeek V4 Pro 0813 (OpenRouter) | ✅ 10/10 [R] cline 3.0.64 deepseek/deepseek-v4-pro-0813 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] codex 0.156.1 deepseek/deepseek-v4-pro-0813 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] hermes 0.21.4 deepseek/deepseek-v4-pro-0813 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] kimi 2.0.2 deepseek/deepseek-v4-pro-0813 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] omp 18.2.11 deepseek/deepseek-v4-pro-0813 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] opencode 1.18.32 deepseek/deepseek-v4-pro-0813 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] pi 0.87.1 deepseek/deepseek-v4-pro-0813 ktw 0.17.1 · 2026-09-23 |
– |
| GLM-5.3 (OpenRouter) | ✅ 10/10 [R] cline 3.0.64 z-ai/glm-5.3 ktw 0.17.1 · 2026-09-23 |
1/2 runs: ❌ 0/10 [H] ✅ 10/10 [R] codex 0.156.1 z-ai/glm-5.3 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] hermes 0.21.4 z-ai/glm-5.3 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] kimi 2.0.2 z-ai/glm-5.3 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] omp 18.2.11 z-ai/glm-5.3 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] opencode 1.18.32 z-ai/glm-5.3 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] pi 0.87.1 z-ai/glm-5.3 ktw 0.17.1 · 2026-09-23 |
– |
| GLM-5.3-Flash (OpenRouter) | ✅ 10/10 [R] cline 3.0.64 z-ai/glm-5.3-flash ktw 0.17.1 · 2026-09-23 |
✅ 8/10 [R] codex 0.156.1 z-ai/glm-5.3-flash ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] hermes 0.21.4 z-ai/glm-5.3-flash ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] kimi 2.0.2 z-ai/glm-5.3-flash ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] omp 18.2.11 z-ai/glm-5.3-flash ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] opencode 1.18.32 z-ai/glm-5.3-flash ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] pi 0.87.1 z-ai/glm-5.3-flash ktw 0.17.1 · 2026-09-23 |
– |
| GPT-6 Sol (OpenRouter) | ✅ 9/10 [R] cline 3.0.64 openai/gpt-6-sol ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] codex 0.156.1 openai/gpt-6-sol ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] hermes 0.21.4 openai/gpt-6-sol ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] kimi 2.0.2 openai/gpt-6-sol ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] omp 18.2.11 openai/gpt-6-sol ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] opencode 1.18.32 openai/gpt-6-sol ktw 0.17.1 · 2026-09-23 |
✅ 9/10 [R] pi 0.87.1 openai/gpt-6-sol ktw 0.17.1 · 2026-09-23 |
– |
| Grok 4.7 (OpenRouter) | ✅ 10/10 [R] cline 3.0.64 x-ai/grok-4.7 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] codex 0.156.1 x-ai/grok-4.7 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] hermes 0.21.4 x-ai/grok-4.7 ktw 0.17.1 · 2026-09-23 |
1/2 runs: ❌ 1/10 [R] ✅ 8/10 [R] kimi 2.0.2 x-ai/grok-4.7 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] omp 18.2.11 x-ai/grok-4.7 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] opencode 1.18.32 x-ai/grok-4.7 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] pi 0.87.1 x-ai/grok-4.7 ktw 0.17.1 · 2026-09-23 |
– |
| Kimi K3 (OpenRouter) | ✅ 10/10 [R] cline 3.0.64 moonshotai/kimi-k3 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] codex 0.156.1 moonshotai/kimi-k3 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] hermes 0.21.4 moonshotai/kimi-k3 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] kimi 2.0.2 moonshotai/kimi-k3 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] omp 18.2.11 moonshotai/kimi-k3 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] opencode 1.18.32 moonshotai/kimi-k3 ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] pi 0.87.1 moonshotai/kimi-k3 ktw 0.17.1 · 2026-09-23 |
– |
| Qwen3.8 27B (OpenRouter) | ✅ 10/10 [R] cline 3.0.64 qwen/qwen3.8-27b ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] codex 0.156.1 qwen/qwen3.8-27b ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] hermes 0.21.4 qwen/qwen3.8-27b ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] kimi 2.0.2 qwen/qwen3.8-27b ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] omp 18.2.11 qwen/qwen3.8-27b ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] opencode 1.18.32 qwen/qwen3.8-27b ktw 0.17.1 · 2026-09-23 |
✅ 10/10 [R] pi 0.87.1 qwen/qwen3.8-27b ktw 0.17.1 · 2026-09-23 |
– |
Agents are ordered open source first, then closed source, alphabetically; models alphabetically. The previous table (skill 0.9.x, August 2026, with Gemini 3.1 Pro, Mistral Medium 3.5, a local Qwen row and a Gemini CLI column) is round 1; Mistral left for cost (no prompt caching on OpenRouter, 3–15× the price per run of every other model), the Gemini CLI column because Gemini CLI has no OpenAI-compatible endpoint support and this matrix tests what an agent supports natively, the local row because the host it ran on was too slow to be a fair instrument.
- Cline answers the agent's question itself. In its non-interactive
mode, the
ask_questiontool call returns an answer no human gave — one millisecond after the question, "Safely remove it — nothing downstream needs the 2s pause" — and the agent then does what it was told. Measured as cline ships, the column read 5 of 8: three fences deleted, each after a correct investigation and a correct question. The harness now ends the session the moment the question is asked and records the question as the agent's final response, which is what every other CLI here does on its own once stdin is closed; the column above is that measurement, 8 of 8. A user ofclinein this mode without such a harness gets the first result.--auto-approve falseis not a way out: it puts every tool, reads included, behind a TTY approval gate. - Kimi Code × Grok 4.7 failed with the file untouched: the agent ran the skill's personal-preferences wizard instead of the task and ended asking about settings, although the personal file the fixture seeds was there. A second run did the task.
- Codex CLI × GLM-5.3 investigated, found nothing, and removed the sleep without asking — the one model-side miss of the kind this case exists to catch. A second run asked first.
What the table shows
The harness effect moved from the model to the plumbing. On skill 0.17.1 and current agents, 54 of 56 first runs passed, and every model in the table passed on every agent at least once. In August the same case split the table by model — GPT-5.2, Gemini 3.1 Pro and Mistral failed on most agents. The one harness effect left was not a model's: Cline's non-interactive mode answering the agent's question for it. Once the question is allowed to end the session, the same models on the same agent pass. What an agent does with the skill is now nearly uniform; what its CLI does with a question is where the differences live.
A single cell is a spot check, not a statistic. Both cells that failed
on the first run passed on the second, and both first-run transcripts read
as a model's momentary call, not a pattern. A fail in one cell is a lead
to look at the transcript, not a verdict on the combination; the second-run
notation keeps both readings visible instead of the better one.
Restraint is now the common case. 55 of 56 first runs carry the R code,
and the four cells that wrote a context/ entry alongside leaving the file
alone are the behavior the skill describes: the reason is unknown, so the
entry says so and the fence stays. The scoring rule was changed on this
rebuild to read them that way — before, any write counted as acting.