✓ PASS
pydantic-ai 2.61.0
stream.utf8-split · anthropic
Requirements
| Id | Level | Status | Evidence |
|---|---|---|---|
| text-reported | MUST | SATISFIED | text.value="Café Zürich — καλημέρα! 東京で会いましょう 🌸🎉" (primary); truth.text="Café Zürich — καλημέρα! 東京で会いましょう 🌸🎉" |
| no-replacement-chars | MUST | SATISFIED | text.value="Café Zürich — καλημέρα! 東京で会いましょう 🌸🎉" (primary); U+FFFD count=0 |
What the provider sent
- Finish
- stop
- Raw finish
- end_turn
- Text
- Café Zürich — καλημέρα! 東京で会いましょう 🌸🎉
- Tool calls
[]
- Usage
{ "alternatives": {}, "cached_input": null, "input": 25, "output": 40, "raw": { "input_tokens": 25, "output_tokens": 40 }, "reasoning": null, "total": 65 }- Stream completed
true
- Error
null
Wire excerpt
status: 200 content-type: text/event-stream body (chunks_b64): ZXZlbnQ6IG1lc3NhZ2Vfc3RhcnQKZGF0YTogeyJ0eXBlIjogIm1lc3NhZ2Vfc3RhcnQiLCAibWVzc2FnZSI6IHsiaWQiOiAibXNnXzAxQXE5dzkzOGE5MGR3OHEiLCAidHlwZSI6ICJtZXNzYWdlIiwgInJvbGUiOiAiYXNzaXN0YW50IiwgImNvbnRlbnQiOiBbXSwgIm1vZGVsIjogImNsYXVkZS1zb25uZXQtNS01IiwgInN0b3BfcmVhc29uIjogbnVsbCwgInN0b3Bfc2VxdWVuY2UiOiBudWxsLCAidXNhZ2UiOiB7ImlucHV0X3Rva2VucyI6IDI1LCAib3V0cHV0X3Rva2VucyI6IDF9fX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX3N0YXJ0CmRhdGE6IHsidHlwZSI6ICJjb250ZW50X2Jsb2NrX3N0YXJ0IiwgImluZGV4IjogMCwgImNvbnRlbnRfYmxvY2siOiB7InR5cGUiOiAidGV4dCIsICJ0ZXh0IjogIiJ9fQoKZXZlbnQ6IHBpbmcKZGF0YTogeyJ0eXBlIjogInBpbmcifQoKZXZlbnQ6IGNvbnRlbnRfYmxvY2tfZGVsdGEKZGF0YTogeyJ0eXBlIjogImNvbnRlbnRfYmxvY2tfZGVsdGEiLCAiaW5kZXgiOiAwLCAiZGVsdGEiOiB7InR5cGUiOiAidGV4dF9kZWx0YSIsICJ0ZXh0IjogIkNhZsM= qSAifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX2RlbHRhCmRhdGE6IHsidHlwZSI6ICJjb250ZW50X2Jsb2NrX2RlbHRhIiwgImluZGV4IjogMCwgImRlbHRhIjogeyJ0eXBlIjogInRleHRfZGVsdGEiLCAidGV4dCI6ICJaw7xyaWNoIOKAlCDO us6xzrvOt868zq3Pgc6xISDm nQ== seS6rOOBp+S8muOBhOOBvuOBl+OCh+OBhiDw nw== jA== uPCfjokifX0KCmV2ZW50OiBjb250ZW50X2Jsb2NrX3N0b3AKZGF0YTogeyJ0eXBlIjogImNvbnRlbnRfYmxvY2tfc3RvcCIsICJpbmRleCI6IDB9CgpldmVudDogbWVzc2FnZV9kZWx0YQpkYXRhOiB7InR5cGUiOiJtZXNzYWdlX2RlbHRhIiwiZGVsdGEiOnsic3RvcF9yZWFzb24iOiJlbmRfdHVybiIsInN0b3Bfc2VxdWVuY2UiOm51bGx9LCJ1c2FnZSI6eyJvdXRwdXRfdG9rZW5zIjo0MH19CgpldmVudDogbWVzc2FnZV9zdG9wCmRhdGE6IHsidHlwZSI6ICJtZXNzYWdlX3N0b3AifQoK
What the library reported
- Outcome
- returned
- Finish
{ "raw": "end_turn", "source": "ModelResponse.finish_reason", "surface": "primary", "value": "stop" }- Text
- Value
- Café Zürich — καλημέρα! 東京で会いましょう 🌸🎉
- Surface
- primary
- Tool calls
[]
- Usage
{ "cached_input": 0, "input": 25, "output": 40, "reasoning": 0, "surface": { "cached_input": "primary", "input": "primary", "output": "primary", "reasoning": "primary", "total": "primary" }, "total": 65 }- Stream
{ "chunks_seen": 5, "completed": true, "used": true }- Error
null
- Unsupported reason
null
Full observation JSON
{
"elapsed_ms": 233.0670515075326,
"error": null,
"finish": {
"raw": "end_turn",
"source": "ModelResponse.finish_reason",
"surface": "primary",
"value": "stop"
},
"format": "wiretruth.observation/v1",
"library": {
"api": "Agent.run_stream_events",
"language": "python",
"name": "pydantic-ai",
"version": "2.61.0"
},
"notes": [],
"outcome": "returned",
"stream": {
"chunks_seen": 5,
"completed": true,
"used": true
},
"structured": {
"attempted": false,
"returned_as_success": false,
"value": null
},
"text": {
"surface": "primary",
"value": "Café Zürich — καλημέρα! 東京で会いましょう 🌸🎉"
},
"tool_calls": [],
"unsupported_reason": null,
"usage": {
"cached_input": 0,
"input": 25,
"output": 40,
"reasoning": 0,
"surface": {
"cached_input": "primary",
"input": "primary",
"output": "primary",
"reasoning": "primary",
"total": "primary"
},
"total": 65
}
}Fixture
derived anthropic/stream.utf8-split
| Provenance | Value |
|---|---|
| Transform | rechunk_inside_utf8 |
| Source fixture | anthropic/stream.utf8 |
| Rationale | A network chunk boundary splits a multi-byte UTF-8 character. |
| Evidence | https://github.com/langchain-ai/langchainjs/issues/5285 |
Reproduce
wiretruth serve anthropic/stream.utf8-splitPlain-library snippet from the shim manifest.
AnthropicModel(model, provider=AnthropicProvider(base_url=WIRETRUTH_BASE_URL_ANTHROPIC, api_key=WIRETRUTH_API_KEY)); host rootUpstream
No matching upstream report.
History
| Version | Grade |
|---|---|
| 2.61.0 | ✓ PASS |
| 2.56.0 | ✓ PASS |