Parent
#13
What to build
Extend the provider layer to the full vendor roster so the whole model set can be evaluated, each returning the same structured result with correct status and thinking-token mapping.
- Port OpenAI (finish_reason, reasoning_tokens), Google (finishReason, thoughtsTokenCount), OpenAI-compatible endpoints, Bedrock (stopReason), and Ollama - each mapping into the shared structured result and the status taxonomy.
- Per-vendor best-native-config policy resolved from the model registry: adaptive thinking for Claude 4.6+/Fable, reasoning defaults for OpenAI/Gemini reasoning models, max_tokens >= 16000 everywhere; declarative per-model overrides in config.
- Parallelize the runner across providers (thread pool) for multi-model sweeps.
- API keys only via env vars; errors sanitized before storage.
Acceptance criteria
Blocked by
Parent
#13
What to build
Extend the provider layer to the full vendor roster so the whole model set can be evaluated, each returning the same structured result with correct status and thinking-token mapping.
Acceptance criteria
Blocked by