Shared-prefix IDs collide after truncation
Two distinct IDs from a replayed or deduped session can become the same outbound value. The request is shorter, but the assistant tool calls and tool results are no longer uniquely identifiable.
{
"tool_calls": [
{ "id": "call_0123456789abcdef0123456789abcdef012" },
{ "id": "call_0123456789abcdef0123456789abcdef012" }
],
"messages": [
{ "role": "tool", "tool_call_id": "call_0123456789abcdef0123456789abcdef012" },
{ "role": "tool", "tool_call_id": "call_0123456789abcdef0123456789abcdef012" }
]
}
- Distinct legacy IDs differ only after byte 40.
- Prefix slicing makes both values identical on the wire.
- Parallel tool results can no longer be correlated safely.