Skip to content

v1.0.3 — fix --effort 400 cascade on grok-build (#7) + best-of-n docs/banner (#8)

Choose a tag to compare

@taibaran taibaran released this 16 May 11:04

Bug + docs release driven by #7 and #8. Triaged with codex + gemini + grok agents in parallel.

Fixed

  • #7--effort triggers cryptic 400 cascade on grok-build: today's only public model declares `supports_reasoning_effort: false` in `~/.grok/models_cache.json` but the plugin's `/grok:research` always emits `--effort max` by default. New `modelSupportsReasoningEffort()` gate reads the cache and strips `--effort` / `--reasoning-effort` with a clear stderr warning when the resolved model declares no support. Cache-miss is conservative (forward — never silently strip on missing data).

Docs + UX

  • #8 — `--best-of-n` is implicitly code-task-only: `commands/best-of.md` rewritten to lead with "CODE / FILE-CHANGE tasks only" and direct text/research users to `/grok:research` or `/grok:ask`. New one-line stderr banner on every `/grok:best-of` invocation. Suppressed in `--json` mode and via `GROK_PLUGIN_QUIET_BANNERS=1`.

Deferred

  • #8 `--aggregate-of-n` (run N + synthesize): medium-to-large new feature (synthesis prompt + parallel orchestrator + aggregator). Added to v1.1.0 roadmap. Issue stays open as tracker.

Internal

  • `GROK_PLUGIN_DISABLE_EFFORT_GATE=1`: bypass the per-model gate. Primary use is test isolation. End-users can use it to roll back the gate if needed.
  • `GROK_PLUGIN_QUIET_BANNERS=1`: opt out of informational stderr banners.

Tests

11 new behavioral tests via fake cache fixtures + fake-grok stubs. 367 tests total (362 passing + 5 integration skipped).