feat(server): Grok Build effort, auth, rewind, and usage [WIP - for content] - #6383
Closed
t3dotgg wants to merge 3 commits into
Closed
feat(server): Grok Build effort, auth, rewind, and usage [WIP - for content]#6383t3dotgg wants to merge 3 commits into
t3dotgg wants to merge 3 commits into
Conversation
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.
Grok Build already exposes reasoning effort, login state, rewind, and token usage. T3 ignored all of that. You could not pick effort, a logged-out CLI still looked ready, and model changes forced a new thread.
T3 now reads the live Grok effort menu from ACP model
_meta, sendssession/set_modelwith_meta.reasoningEffort, and lets you change model or effort on the current thread. ACP login failures show as unauthenticated. Conversation rollback uses_x.ai/rewind. Prompt usage is emitted asthread.token-usage.updated. There is a Grok user guide.Made with Grok 4.6.
Note
Medium Risk
Changes Grok session lifecycle (model/effort switching, rewind mutating provider and in-memory turns) and auth probing; scope is Grok-only but rollback and turn trimming affect conversation integrity if mis-targeted.
Overview
Wires Grok Build into capabilities the CLI already exposes but T3 previously ignored: reasoning effort, login state, conversation rewind, and per-prompt token usage.
Reasoning & models: Effort menus come from ACP model
_meta; the composer gets a Reasoning option (with fallbacks when discovery is thin). Selection is applied viasession/set_modelwith_meta.reasoningEffort, optional--reasoning-effortat spawn, and in-thread model/effort changes (requiresNewThreadForModelChangeis now false). Effort is not carried across a model switch unless explicitly requested.Runtime behavior: After each prompt, usage from Grok metadata is published as
thread.token-usage.updated.rollbackThreadcalls_x.ai/rewind/points/_x.ai/rewind/executeand trims local turn history. Provider status distinguishes unauthenticated Grok from other ACP failures and surfaces API-key vs session auth when discovery succeeds.Supporting changes:
setSessionModelaccepts optional_meta; the ACP mock agent simulates rewind, usage, and effort metadata for tests. User docs add providers-grok.md; default text model for Grok isgrok-build.Reviewed by Cursor Bugbot for commit 39ed592. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add Grok Build reasoning effort, auth detection, rewind, and token usage support
--reasoning-effortflag, model capabilities expose a Reasoning selector, andapplyGrokAcpModelSelectioncan switch effort without changing model.rollbackThreadfor Grok using the_x.ai/rewindACP extension: fetches rewind points, selects a target by turn count, executes the rewind, and trims in-memory turns._metaand publishesthread.token-usage.updatedevents after each turn.checkGrokProviderStatusnow distinguishes API key vs. session auth and surfacesunauthenticatedon ACP auth failures viaisGrokAcpAuthFailure.requiresNewThreadForModelChangetofalseand defaults the Grok provider model togrok-build.Macroscope summarized 39ed592.