CLAIM 4 / Ollama
Tool calling with streaming (documented as a supported pattern with Python and JavaScript examples)
not as labeled
Observed
Contradicted by production evidence: when streaming is enabled (the default), Ollama returns an empty content chunk with finish_reason "stop" instead of tool_calls delta chunks — every tool-dependent agent skill (web search, file ops, shell, MCP dispatch) fails silently, regardless of model quality or context configuration; independently confirmed by the OpenClaw/BetterClaw production report (2026); workaround is stream:false. Re-checked 2026-06-11: the closest upstream issue (#16212, qwen3-coder streaming emits all tool_calls at index 0 with finish_reason "stop") was closed the same day it was filed after its reporter marked it opened in error — a re-verification trigger, not a verified fix (OL-03 remains open).
- UPDATE 2026-06-28(re-verified on v0.30.11): now backed by three primary GitHub issues — #15497 (root cause: models without a registered streaming parser fall through a legacy path that never sets Function.Index; PR #15467 patched only 8 models), #16279 (MLX backend buffers tool-call output entirely), and #16932 (a tool parameter literally named "name" is silently dropped). The bug is path-specific: the /v1 OpenAI-compatible endpoint drops deltas; native /api/chat preserves them.