{
  "file": "F23-llm-catalog-and-connections.md",
  "bullet": "Verified models (`F23.verified-models`).",
  "ids": [
    "F23.verified-models"
  ],
  "line": 229,
  "script": "control-agent-server api GET /api/llm/models/verified --expect 200 --check models.deepseek contains deepseek-chat \\\n  --check models.openai len-ge 1 --check models.anthropic len-ge 1 --check models.openhands len-ge 1 \\\n  --check models.openrouter contains deepseek/deepseek-chat --save F23.verified-models/verified\ncontrol-agent-server api GET /api/llm/models/verified --field models | jq -e 'all(.[]; length > 0 and length == (unique | length))'\n",
  "exit_code": 0,
  "elapsed_ms": 1048,
  "failed_line": null,
  "failed_command": null,
  "stdout": "{\n  \"ok\": true,\n  \"status\": 200,\n  \"request\": {\n    \"method\": \"GET\",\n    \"path\": \"/api/llm/models/verified\",\n    \"query\": [],\n    \"auth\": \"header\",\n    \"body\": null,\n    \"files\": []\n  },\n  \"response\": {\n    \"status\": 200,\n    \"headers\": {\n      \"content-length\": \"2769\",\n      \"content-type\": \"application/json\"\n    },\n    \"body\": {\n      \"models\": {\n        \"openhands\": [\n          \"claude-opus-5-5\",\n          \"claude-opus-5\",\n          \"claude-sonnet-5\",\n          \"claude-sonnet-4-6\",\n          \"claude-fable-5-1\",\n          \"claude-fable-5\",\n          \"gpt-6-sol\",\n          \"gpt-6-luna\",\n          \"gpt-6-astra\",\n          \"gpt-5.6\",\n          \"gpt-5.3-codex\",\n          \"gpt-5.2-codex\",\n          \"minimax-m3\",\n          \"minimax-m2.7\",\n          \"gemini-3.1-pro\",\n          \"gemini-3.1-pro-preview\",\n          \"gemini-3.8-flash\",\n          \"gemini-3.7-flash\",\n          \"gemini-3.5-flash-lite\",\n          \"deepseek-chat\",\n          \"deepseek-v4-pro\",\n          \"deepseek-v4-flash\",\n          \"deepseek-v4-flash-vision-exp\",\n          \"deepseek-v4.1-flash\",\n          \"deepseek-v3.2-reasoner\",\n          \"kimi-k3\",\n          \"kimi-k2.7-code\",\n          \"devstral-2512\",\n          \"devstral-medium-2512\",\n          \"glm-5.3\",\n          \"glm-5.3-flash\",\n          \"glm-5.2\",\n          \"nemotron-3.5-lightning-30b-a3b\",\n          \"nemotron-3-nano\",\n          \"nemotron-3-super-120b-a12b\",\n          \"nemotron-3-ultra-550b-a55b\",\n          \"qwen3.7-plus\",\n          \"qwen3.6-plus\",\n          \"qwen3.8-max\",\n          \"qwen3.7-max\",\n          \"qwen3.8-flash\",\n          \"qwen3.7-flash\",\n          \"qwen3-coder-480b\",\n          \"qwen3-coder-next\",\n          \"qwen3-coder-plus\",\n          \"qwen3-coder-flash\",\n          \"trinity-large-thinking\"\n        ],\n        \"anthropic\": [\n          \"claude-opus-5-5\",\n          \"claude-opus-5\",\n          \"claude-sonnet-5\",\n          \"claude-sonnet-4-6\",\n          \"claude-haiku-4-5-20251001\",\n          \"claude-fable-5-1\",\n          \"claude-fable-5\"\n        ],\n        \"openai\": [\n          \"gpt-6-sol\",\n          \"gpt-6-luna\",\n          \"gpt-6-astra\",\n          \"gpt-5.6\",\n          \"gpt-5.6-sol\",\n          \"gpt-5.6-terra\",\n          \"gpt-5.6-luna\",\n          \"gpt-5.3-codex\",\n          \"gpt-5.2-codex\"\n        ],\n        \"mistral\": [\n          \"devstral-2512\",\n          \"devstral-medium-2512\"\n        ],\n        \"gemini\": [\n          \"gemini-3.1-pro\",\n          \"gemini-3.1-pro-preview\",\n          \"gemini-3.8-flash\",\n          \"gemini-3.7-flash\",\n          \"gemini-3.5-flash-lite\",\n          \"gemini-3.1-flash-lite\"\n        ],\n        \"deepseek\": [\n          \"deepseek-chat\",\n          \"deepseek-v4-pro\",\n          \"deepseek-v4-flash\",\n          \"deepseek-v4-flash-vision-exp\",\n          \"deepseek-v4.1-flash\",\n          \"deepseek-v3.2-reasoner\"\n        ],\n        \"moonshot\": [\n          \"kimi-k3\",\n          \"kimi-k2.7-code\",\n          \"kimi-for-coding\"\n        ],\n        \"minimax\": [\n          \"minimax-m3\",\n          \"minimax-m2.7\"\n        ],\n        \"glm\": [\n          \"glm-5.3\",\n          \"glm-5.3-flash\",\n          \"glm-5.2\"\n        ],\n        \"nvidia\": [\n          \"nemotron-3.5-lightning-30b-a3b\",\n          \"nemotron-3-nano\",\n          \"nemotron-3-nano-omni-30b-a3b-reasoning\",\n          \"nemotron-3-super-120b-a12b\",\n          \"nemotron-3-ultra-550b-a55b\"\n        ],\n        \"qwen\": [\n          \"qwen3.7-plus\",\n          \"qwen3.6-plus\",\n          \"qwen3.8-max\",\n          \"qwen3.7-max\",\n          \"qwen3.8-flash\",\n          \"qwen3.7-flash\",\n          \"qwen3-coder-480b\",\n          \"qwen3-coder-next\",\n          \"qwen3-coder-plus\",\n          \"qwen3-coder-flash\"\n        ],\n        \"openrouter\": [\n          \"anthropic/claude-opus-5\",\n          \"anthropic/claude-sonnet-5\",\n          \"anthropic/claude-haiku-4.5\",\n          \"openai/gpt-6-astra\",\n          \"openai/gpt-5.6-sol\",\n          \"openai/gpt-5.3-codex\",\n          \"openai/gpt-5.2-codex\",\n          \"deepseek/deepseek-chat\",\n          \"deepseek/deepseek-v4-pro\",\n          \"deepseek/deepseek-v4-flash\",\n          \"google/gemini-3.1-pro-preview\",\n          \"google/gemini-3.8-flash\",\n          \"google/gemini-3.7-flash\",\n          \"google/gemini-3.5-flash-lite\",\n          \"moonshotai/kimi-k3\",\n          \"moonshotai/kimi-k2.7-code\",\n          \"mistralai/devstral-2512\",\n          \"z-ai/glm-5.3\",\n          \"z-ai/glm-5.3-flash\",\n          \"z-ai/glm-5.2\",\n          \"minimax/minimax-m3\"\n        ],\n        \"digitalocean\": [\n          \"anthropic-claude-opus-5.5\",\n          \"anthropic-claude-opus-5\",\n          \"anthropic-claude-sonnet-5.5\",\n          \"anthropic-claude-5-sonnet\",\n          \"openai-gpt-5.6-sol\",\n          \"openai-gpt-5.6-terra\",\n          \"openai-gpt-5.6-luna\",\n          \"deepseek-v4-pro\",\n          \"glm-5.3\",\n          \"glm-5.2\",\n          \"kimi-k3\",\n          \"qwen3.8-max\"\n        ]\n      }\n    },\n    \"truncated\": false\n  },\n  \"elapsed_ms\": 107,\n  \"checks\": [\n    {\n      \"check\": \"models.deepseek contains deepseek-chat\",\n      \"ok\": true,\n      \"actual\": \"[\\\"deepseek-chat\\\", \\\"deepseek-v4-pro\\\", \\\"deepseek-v4-flash\\\", \\\"deepseek-v4-flash-vision-exp\\\", \\\"deepseek-v4.1-flash\\\", \\\"deepseek-v3.2-reasoner\\\"]\"\n    },\n    {\n      \"check\": \"models.openai len-ge 1\",\n      \"ok\": true,\n      \"actual\": \"[\\\"gpt-6-sol\\\", \\\"gpt-6-luna\\\", \\\"gpt-6-astra\\\", \\\"gpt-5.6\\\", \\\"gpt-5.6-sol\\\", \\\"gpt-5.6-terra\\\", \\\"gpt-5.6-luna\\\", \\\"gpt-5.3-codex\\\", \\\"gpt-5.2-codex\\\"]\"\n    },\n    {\n      \"check\": \"models.anthropic len-ge 1\",\n      \"ok\": true,\n      \"actual\": \"[\\\"claude-opus-5-5\\\", \\\"claude-opus-5\\\", \\\"claude-sonnet-5\\\", \\\"claude-sonnet-4-6\\\", \\\"claude-haiku-4-5-20251001\\\", \\\"claude-fable-5-1\\\", \\\"claude-fable-5\\\"]\"\n    },\n    {\n      \"check\": \"models.openhands len-ge 1\",\n      \"ok\": true,\n      \"actual\": \"[\\\"claude-opus-5-5\\\", \\\"claude-opus-5\\\", \\\"claude-sonnet-5\\\", \\\"claude-sonnet-4-6\\\", \\\"claude-fable-5-1\\\", \\\"claude-fable-5\\\", \\\"gpt-6-sol\\\", \\\"gpt-6-luna\\\", \\\"gpt-6-astra\\\", \\\"gpt-5.6\\\", \\\"gpt-5.3-codex\\\", \\\"gpt-5.2-codex\\\"\\u2026\"\n    },\n    {\n      \"check\": \"models.openrouter contains deepseek/deepseek-chat\",\n      \"ok\": true,\n      \"actual\": \"[\\\"anthropic/claude-opus-5\\\", \\\"anthropic/claude-sonnet-5\\\", \\\"anthropic/claude-haiku-4.5\\\", \\\"openai/gpt-6-astra\\\", \\\"openai/gpt-5.6-sol\\\", \\\"openai/gpt-5.3-codex\\\", \\\"openai/gpt-5.2-codex\\\", \\\"deepseek/deepseek-ch\\u2026\"\n    }\n  ],\n  \"saved\": \"/workspace/verification-artifacts/runs/20261013-024155-0956-map-f23/evidence/F23.verified-models/verified.json\"\n}\ntrue\n",
  "stderr": ""
}
