Results / finish.unknown-value
Unfamiliar provider finish value
The provider returns a finish value that the library has not mapped.
Bug class: Finish reason mapped to the wrong value
The library maps the provider's finish value to a different canonical value, drops it, or fails on a value it doesn't know.
Code that branches on the finish reason takes the wrong branch, for example treating a content filter or a new value as a normal stop.
Requirements
| Level | Id | Check | Requirement | Providers |
|---|---|---|---|---|
| MUST | response-returned | outcome_is_returned | The library hands back the response instead of reporting an error the provider never sent. | All |
| MUST | finish-is-other | finish_is | The library reports a finish outside the known values, not a familiar one or none. | All |
| MUST | text-reported | text_matches_truth | The text is reported exactly as the provider sent it. | All |
| SHOULD | raw-finish-reported | raw_finish_matches_truth | The provider's raw finish value is preserved. | All |
Fixtures
| Provider | Tier | any-llm | litellm | pydantic-ai | tanstack-ai | vercel-ai |
|---|---|---|---|---|---|---|
| anthropic | derived | ✗ WRONG | ✗ WRONG | ~ LOSSY | – UNSUPPORTED | ✓ PASS |
| gemini | derived | ✗ WRONG | ✗ WRONG | ~ LOSSY | – UNSUPPORTED | ✓ PASS |
| ollama | derived | ✗ WRONG | ✗ WRONG | – UNSUPPORTED | – UNSUPPORTED | – UNSUPPORTED |
| ollama-openai | derived | ✓ PASS | ✗ WRONG | ~ LOSSY | – UNSUPPORTED | ✓ PASS |
| openai-chat | derived | ✓ PASS | ✗ WRONG | ~ LOSSY | – UNSUPPORTED | ✓ PASS |
| openai-responses | derived | ✓ PASS | ✓ PASS | ~ LOSSY | – UNSUPPORTED | ✓ PASS |