Opencode smoke test probes Ollama tags against an OpenAI-compatible endpoint #1503

Closed
opened 2026-07-22 08:57:32 +00:00 by coilyco-ops · 0 comments
Member

An Opencode engineer launch failed before agent startup because the local-model smoke test probed the wrong API shape for the configured endpoint.\n\nObserved on 2026-07-22 from run engineer-opencode-ward-1502 while dispatching #1502:\n\n- Ward wrote Opencode config with baseURL: http://host.docker.internal:8082/v1 and provider @ai-sdk/openai-compatible.\n- The launch config reported model: qwen3-coder:30b.\n- The prelaunch check logged probing opencode ollama endpoint http://host.docker.internal:8082/v1.\n- It then queried http://host.docker.internal:8082/api/tags, received HTTP 404, and classified the model as stale.\n- A direct probe of http://host.docker.internal:8082/v1/models from the director container listed qwen3-coder:30b among the advertised models.\n\nThe Ward source matches this behavior: internal/agents/opencode/config.go configures Opencode through an OpenAI-compatible provider, while internal/launchgate/ollamaprobe/ollamaprobe.go strips /v1 and hardcodes /api/tags for model existence. The current Opencode smoke test also asserts /api/tags.\n\nExpected behavior:\n\n- For Opencode endpoints configured as OpenAI-compatible /v1 providers, the model existence gate should use /v1/models or the same provider API shape Opencode will use.\n- Native Ollama /api/tags probing should remain available for Goose or for explicitly native Ollama endpoints.\n- The stale-model diagnostic should not claim the configured model is absent when the OpenAI-compatible model list advertises it.\n- Add regression coverage for an Opencode endpoint whose /v1/models includes the configured model and whose native /api/tags route returns 404.\n\nThis is separate from the AOS model-roster sync miss, because this observed failure reproduces even with the configured model present in /v1/models. It also adds another cleanup-needed ghost record, compounding #1502.

An Opencode engineer launch failed before agent startup because the local-model smoke test probed the wrong API shape for the configured endpoint.\n\nObserved on 2026-07-22 from run `engineer-opencode-ward-1502` while dispatching https://forgejo.coilysiren.me/coilyco-flight-deck/ward/issues/1502:\n\n- Ward wrote Opencode config with `baseURL: http://host.docker.internal:8082/v1` and provider `@ai-sdk/openai-compatible`.\n- The launch config reported `model: qwen3-coder:30b`.\n- The prelaunch check logged `probing opencode ollama endpoint http://host.docker.internal:8082/v1`.\n- It then queried `http://host.docker.internal:8082/api/tags`, received HTTP 404, and classified the model as stale.\n- A direct probe of `http://host.docker.internal:8082/v1/models` from the director container listed `qwen3-coder:30b` among the advertised models.\n\nThe Ward source matches this behavior: `internal/agents/opencode/config.go` configures Opencode through an OpenAI-compatible provider, while `internal/launchgate/ollamaprobe/ollamaprobe.go` strips `/v1` and hardcodes `/api/tags` for model existence. The current Opencode smoke test also asserts `/api/tags`.\n\nExpected behavior:\n\n- For Opencode endpoints configured as OpenAI-compatible `/v1` providers, the model existence gate should use `/v1/models` or the same provider API shape Opencode will use.\n- Native Ollama `/api/tags` probing should remain available for Goose or for explicitly native Ollama endpoints.\n- The stale-model diagnostic should not claim the configured model is absent when the OpenAI-compatible model list advertises it.\n- Add regression coverage for an Opencode endpoint whose `/v1/models` includes the configured model and whose native `/api/tags` route returns 404.\n\nThis is separate from the AOS model-roster sync miss, because this observed failure reproduces even with the configured model present in `/v1/models`. It also adds another cleanup-needed ghost record, compounding https://forgejo.coilysiren.me/coilyco-flight-deck/ward/issues/1502.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/ward#1503
No description provided.