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. +