Repository navigation
fix(parser): record the model on vscode-copilot assistant messages - #1778
Merged
mariusvniekerk merged 1 commit intoSep 17, 2026
Merged
Conversation
roborev: Combined Review (
|
VS Code Copilot chat sessions persist the serving model per request, in modelId and in result.metadata.resolvedModel, but only the per-turn usage event consumed it. Assistant messages were appended without a Model, so mirrored message rows carried an empty model column even though the provider advertises per-message model support. Resolve the model through one helper used by both the usage event and the message.
mariusvniekerk
force-pushed
the
fix/vscode-copilot-message-model
branch
from
September 17, 2026 18:25
9b13d0b to
8bdb327
Compare
roborev: Combined Review (
|
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.
VS Code Copilot chat sessions persist the serving model per request, in
modelIdand inresult.metadata.resolvedModel, but only the per-turn usage event read it. Assistant messages were appended without aModeleven though the provider advertises per-message model support, so mirrored message rows carried an empty model column.Both consumers now resolve the model through one helper:
result.metadata.resolvedModelwhen the request carries metadata, otherwise the request's prefixedmodelId, normalized the same way the usage event already normalized it. The token columns are unaffected and stay empty by design for this format: it records only per-turn token totals, which the parser emits as usage events rather than per-message values.The test covers a turn whose model comes from metadata, a turn whose model falls back to
modelId, and a per-turn switch between two models, which is why the value belongs on the message and not on the session.Locally, one unrelated parser test fails on the branch base in this sandbox (
TestParseWorkBuddySessionUsesCwdProjectAndFileSessionID).Fixes #1777