fix(ai-conversations): Order conversation messages by span start/end#114129
Merged
obostjancic merged 2 commits intomasterfrom Apr 28, 2026
Conversation
Anchor user messages to the generation span's start_timestamp and assistant messages to its end_timestamp. The previous code anchored both to the span's end_timestamp with a `+ 1` offset for the assistant to break ties. Because timestamps are in seconds, that offset was a full second — so when two turns completed within a second of each other, the assistant's timestamp crossed over the next turn's user timestamp on the final sort, producing an order like Q1, Q2, A1, Q3, A2, A3. Fixes TET-2249
…-user-messages-in-a-row-wrongly-in-a
vgrozdanic
approved these changes
Apr 28, 2026
3 tasks
cleptric
pushed a commit
that referenced
this pull request
May 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Anchor user messages to the generation span's
start_timestampand assistant messages to itsend_timestamp. The previous code anchored both toend_timestampwith a+ 1offset — which is one full second since timestamps are in seconds — so back-to-back turns crossed over each other on the final sort, producing orderings likeQ1, Q2, A1, Q3, A2, A3.Fixes TET-2249