Skip to content

feat(server): Grok Build effort, auth, rewind, and usage [WIP - for content] - #6383

Closed
t3dotgg wants to merge 3 commits into
mainfrom
t3code/audit-grok-build-gaps
Closed

feat(server): Grok Build effort, auth, rewind, and usage [WIP - for content]#6383
t3dotgg wants to merge 3 commits into
mainfrom
t3code/audit-grok-build-gaps

Conversation

@t3dotgg

@t3dotgg t3dotgg commented Aug 12, 2026

Copy link
Copy Markdown
Member

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, sends session/set_model with _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 as thread.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 via session/set_model with _meta.reasoningEffort, optional --reasoning-effort at spawn, and in-thread model/effort changes (requiresNewThreadForModelChange is 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. rollbackThread calls _x.ai/rewind/points / _x.ai/rewind/execute and 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: setSessionModel accepts 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 is grok-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

  • Adds reasoning effort selection to Grok sessions: the spawned CLI receives a --reasoning-effort flag, model capabilities expose a Reasoning selector, and applyGrokAcpModelSelection can switch effort without changing model.
  • Implements rollbackThread for Grok using the _x.ai/rewind ACP extension: fetches rewind points, selects a target by turn count, executes the rewind, and trims in-memory turns.
  • Extracts token usage from prompt _meta and publishes thread.token-usage.updated events after each turn.
  • Auth detection in checkGrokProviderStatus now distinguishes API key vs. session auth and surfaces unauthenticated on ACP auth failures via isGrokAcpAuthFailure.
  • Sets requiresNewThreadForModelChange to false and defaults the Grok provider model to grok-build.
  • Adds a user-facing providers-grok.md guide covering login, model selection, reasoning effort, and troubleshooting.

Macroscope summarized 39ed592.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500-999 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. [WIP - for content] WIP pull request opened for content review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant