Results / stream.missing-finish
Stream ends without a finish signal
The HTTP stream ends cleanly after partial text, without a finish event or a completion marker.
Bug class: Streamed content or completion state corrupted
The library corrupts streamed text, for example at multi-byte character boundaries, or reports a stream that ended early as complete.
Corrupted or unfinished text is treated as the final answer.
Requirements
| Level | Id | Check | Requirement | Providers |
|---|---|---|---|---|
| MUST | no-normal-stop | finish_is_not | The library does not report that the model stopped normally. | All |
| MUST | stream-incomplete | stream_not_reported_complete | The caller can tell that the stream did not complete. | All |
Fixtures
| Provider | Tier | any-llm | litellm | pydantic-ai | tanstack-ai | vercel-ai |
|---|---|---|---|---|---|---|
| anthropic | derived | ~ LOSSY | ✗ WRONG | ✗ WRONG | ✓ PASS | ✓ PASS |
| gemini | derived | ~ LOSSY | ✗ WRONG | ✗ WRONG | ~ LOSSY | ✓ PASS |
| ollama | derived | ~ LOSSY | ✗ WRONG | – UNSUPPORTED | ✓ PASS | – UNSUPPORTED |
| ollama-openai | derived | ~ LOSSY | ✗ WRONG | ✗ WRONG | ✓ PASS | ✓ PASS |
| openai-chat | derived | ~ LOSSY | ✗ WRONG | ✗ WRONG | ✓ PASS | ✓ PASS |
| openai-responses | derived | ✓ PASS | ✓ PASS | ✗ WRONG | ✓ PASS | ✓ PASS |