Skip to content

fix(grok-cli): stop discovery from pinning Grok Build's 256k context window - #15412

Merged
diegosouzapw merged 1 commit into
cheaper-inference:release/v3.8.52from
QuangBlue:fix/grok-cli-discovery-context-window
Oct 8, 2026
Merged

diegosouzapw merged 1 commit into
cheaper-inference:release/v3.8.52from
QuangBlue:fix/grok-cli-discovery-context-window

Conversation

@QuangBlue

Copy link
Copy Markdown
Contributor

Symptom

grok-cli/grok-4.6 (and grok-4.5 / grok-4.7) advertise a 256k context window on /v1/models, and so does every combo built on them. Clients therefore compact long before they need to.

Root cause

Grok Build's /v1/models reports contextWindow: 256000 for every model. When the field is absent, discovery falls back to GROK_BUILD_DEFAULT_CONTEXT_WINDOW (also 256000). Either way, the Feature 5004 reconciler sees a number that differs from the catalog and pins it as an auto:discovery override, and that override beats the registry window (500k for 4.5/4.6/4.7).

The backend serves grok-4.6 far past 256k. Production traffic includes successful grok-4.6 requests with 256k–485k input tokens, and upstream rejects only above 500k:

[input_too_large] The prompt is too long for this model's context window (684512 tokens > 500000 tokens)

Fix

  • Grok Build discovery uses the grok-cli registry window first. For models the registry does not know, it uses the upstream number (under-advertising only makes clients compact early). It never invents a default. The now-unused GROK_BUILD_DEFAULT_CONTEXT_WINDOW is removed.
  • reconcileContextWindows drops a stale auto:discovery pin when discovery reports no window. manual overrides are untouched. Previously such a pin could never be cleared.

Trade-off: for known models the registry is authoritative. If xAI raises a window, the registry entry must be updated.

Tests

  • tests/unit/grok-cli-responses-compat.test.ts: advertised 256k on grok-4.6 → 500k from the registry; unknown model keeps the upstream 256k; no window → unadvertised (the existing live-discovery test no longer expects the 256k default).
  • tests/unit/context-window-reconcile.test.ts: an omitted window removes an auto:discovery pin and keeps a manual one. The rest of the diff in this file is a Prettier reformat from lint-staged.
  • Both files fail on the base and pass with the fix. Grok/discovery suites pass (421). check-api-typecheck, check-open-sse-typecheck and check-file-size are within baseline.

⚠️ base-red inherited: #15306

…window

Grok Build /v1/models reports contextWindow 256000 for every model, and
discovery fell back to GROK_BUILD_DEFAULT_CONTEXT_WINDOW (256000) when the
field was absent. The Feature 5004 reconciler then pinned that number as an
auto:discovery override over the registry window, so grok-cli/grok-4.6
(and 4.5/4.7) advertised 256k on /v1/models.

The backend serves grok-4.6 well beyond that: production traffic had 88
successful grok-4.6 requests with 256k-485k input tokens, and upstream
rejects only above 500000 tokens (input_too_large).

- Discovery prefers the grok-cli registry window, then the upstream number
  for models the registry does not know, and never invents a default.
- The reconciler drops a stale auto:discovery pin when discovery reports no
  window (manual overrides stay).
@QuangBlue
QuangBlue force-pushed the fix/grok-cli-discovery-context-window branch from f99aa66 to c6464fb Compare October 3, 2026 05:28
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
Onda 6. Este squash entra com o crédito de @lorenzozanee (fix(combo): include monthly quota in reset-aware scoring).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @lorenzozanee.
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
Onda 6. Este squash entra com o crédito de @lorenzozanee (fix(api): route provider-model handlers through management auth).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @lorenzozanee.
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
Onda 6. Este squash entra com o crédito de @lorenzozanee (fix(sse): make streaming fetch-start cap configurable).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @lorenzozanee.
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
Onda 6. Este squash entra com o crédito de @lorenzozanee (fix(providers): route Command Code Claude models to Messages).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @lorenzozanee.
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
Onda 6. Este squash entra com o crédito de @lorenzozanee (docs: clarify npm 11 allow-scripts setup for global installation).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @lorenzozanee.
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
…15413)

Onda 6. Este squash entra com o crédito de @QuangBlue (fix(kiro): stop discovery from stamping a fake 200k context window).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @QuangBlue.
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
Onda 6. Este squash entra com o crédito de @QuangBlue (fix(api): keep Next's upgrade listener off the run-next server).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @QuangBlue.
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
… runs (#15331)

Onda 6. Este squash entra com o crédito de @QuangBlue (fix(api): standalone server owns SIGTERM so graceful-shutdown cleanup runs).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @QuangBlue.
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
Onda 6. Este squash entra com o crédito de @insoln (fix(sse): scope type-only context errors in combo streams).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @insoln.
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
…ate (#15598)

Onda 6. Este squash entra com o crédito de @insoln (fix(sse): accept first-party Claude empty end_turn in combo quality gate).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @insoln.
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
…#15557)

Onda 6. Este squash entra com o crédito de @insoln (fix(sse): stabilize standalone compression worker resolution (#12797)).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @insoln.
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
…s-platform (#15572)

Onda 6. Este squash entra com o crédito de @Junior-HJ (test(compression): make worker-specifier and RTK TOML assertions cross-platform).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @Junior-HJ.
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
…namespaced root (#15452)

Onda 6. Este squash entra com o crédito de @yourspraveen (fix(api): stop restricted-key /v1/models leaking aggregator rows via namespaced root).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @yourspraveen.
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
… Go (#15453)

Onda 6. Este squash entra com o crédito de @yourspraveen (fix(providers): keep a third-party agent's own User-Agent on OpenCode Go).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @yourspraveen.
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
…fig auto table (#15467)

Onda 6. Este squash entra com o crédito de @yourspraveen (docs(readme): list auto/subscription and auto/thrifty in the zero-config auto table).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @yourspraveen.
diegosouzapw pushed a commit that referenced this pull request Oct 6, 2026
…15458)

Onda 6. Este squash entra com o crédito de @skygunner (fix(combo): keep declared priority order ahead of session stickiness).

O board único validou os 19 PRs (sem o #15412): file-size OK, changelog OK, i18n drift OK, typecheck:core OK, complexity e cognitive dentro do baseline. Testes focados: 390 passaram, 1 skip. O teste novo de GHE Copilot Sonnet 5.5 falhou no head original e foi corrigido no board; esse ajuste entra com o #15478, fora deste squash.

O rebaseline de file-size e o adopt de i18n ficam num follow-up.

⚠️ base-red inherited: #15306

Obrigado, @skygunner.
@diegosouzapw
diegosouzapw merged commit 20fa805 into cheaper-inference:release/v3.8.52 Oct 8, 2026
42 of 51 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants