Originally created by: yablokolabs
A successful /v1/models request proves that an OpenAI-compatible endpoint is reachable, but not that the selected route supports Atomic's actual contract: streaming chat completions, supplied tools, native tool calls, and the configured model.
During Yabloko Labs' evaluation, OmniRoute itself was reachable, but tested routes failed with STREAM_EARLY_EOF, insufficient_quota, unsupported-model errors, or HTTP 400 only when tools were supplied. These were primarily route/provider limitations, not proof of an Atomic core defect. Atomic can still make diagnosis much faster.
The OpenAI provider health check only requests /v1/models:
openai-provider.ts (github.com)The provider wizard saves and activates the provider, but does not exercise a minimal streaming tool call before reporting success:
providers-orchestrator.ts (github.com)Add an explicit provider-contract test in the provider UI/CLI.
The primary conformance probe should send a synthetic, side-effect-free function definition using a probe-specific forced named-tool choice (or provider-equivalent required mode), then inspect the streamed response for one complete native tool call. The synthetic call is diagnostic data only: it must never be dispatched to Atomic's tool registry.
If a provider does not support forced tool choice, an optional tool_choice: auto probe may still run, but a normal text response with no tool call is inconclusive, not proof that tools are unsupported.
The result should distinguish at least:
auto — inconclusive.tool_choice: auto is reported as inconclusive, not incompatible.HTTP N.