Surface grok-web served model at runtime and flag new models - #6
Draft
ernop wants to merge 1 commit into
Draft
Conversation
The imagine WebSocket pins no model (only enable_pro); grok.com picks the model server-side, and xAI shipped Imagine Image 2.0 as the consumer Quality Mode on 2026-08-07. Every response already reports model_name/mode; now that identity is surfaced instead of just quietly logged: - GrokWebClient: BaselineServedModelNames (imagine-x-1, the only name observed pre-release) + a loud once-per-process-per-name log announcement when a generation is served by any other model. - TaskProcessResult carries ServedModelName/ServedModelMode; the imagine generator populates them and flags NEW MODEL in its OK log line. - UI gen-result events add servedModel/servedModelMode/servedModelIsNew; the result cell shows the reported name beside the pixel size, as an accent 'new model!' pill when outside the baseline. Display/telemetry only; never a gate or fallback. The app-chat edit/video path reports no model identity and is unchanged. Co-authored-by: Ernest French <ernestfrench@gmail.com>
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.
Why
xAI released Imagine Image 2.0 on 2026-08-07 as the new consumer Quality Mode on grok.com. The grok-web transport pins no model — it sends only
enable_proand the server picks — so the serving model can change under us with no code change. The imagine WebSocket already reports the serving model on every response (model_name+mode), but we only logged it quietly. This makes the runtime say, visibly, when a generation was served by a model other than the previously observed one.What changed
GrokWebClient: newBaselineServedModelNames(imagine-x-1, the only name observed before the 2.0 release) withIsBaselineServedModel, plus a loud once-per-process-per-distinct-name log announcement (==== GROK-WEB MODEL CHANGE: ... ====) fired insideGenerateImageAsyncwhen a generation is served by any other model.TaskProcessResult: carriesServedModelName/ServedModelMode(null except where a transport reports one).GrokWebImagineGenerator: populates those fields and appends** NEW MODEL **to its OK log line for non-baseline names.UiJobs+app.js+style.css):gen-resultevents gainservedModel/servedModelMode/servedModelIsNew; the result cell shows the reported model name beside the pixel size, rendered as an accent "— new model!" pill when outside the baseline, with the full explanation in the tooltip. Events persisted before this change simply lack the field and render unchanged.Display/telemetry only — never a gate or a fallback; generation results are used exactly as returned. The app-chat edit/video path reports no model identity and is unchanged.
Services affected
grok-web only (text-to-image WebSocket path). No settings changes required.
Verification
dotnet build MultiImageClient.sln: 0 errors.dotnet test: 57/57 pass.model_nameand, if it isn'timagine-x-1, print the model-change banner and show the pill on the job card.