Skip to content

0.5.4 — 2026-08-19

Choose a tag to compare

@github-actions github-actions released this 19 Aug 19:53

Release Notes

xAI's Grok models become a first-class model backend, and the harness loop
exports its settled context-window reading — the number its own compaction
trigger consumes — so an embedding product can finally show an honest
context meter instead of a billing sum that overcounts the window by the
number of tool rounds. The endpoint already
worked through openai-generic plus a hand-set base URL, but that spelling
made the credential an "OpenAI key" and left the operator to know the URL;
a first-class xai backend owns its credential surface and its default.

Added

  • xai model backend — xAI's Grok API as a first-class backend on the
    model-backend axis (spec/std-coercion.md "Providers"): the Chat
    Completions wire at https://api.x.ai/v1, reachable everywhere the other
    backends are — native coerce (WHIPPLESCRIPT_COERCE_PROVIDER=xai), the
    owned agent harness (provider profiles and
    WHIPPLESCRIPT_HARNESS_PROVIDER), and the hosted Durable Object doors
    (coerce_config_json / agent config / model broker). The credential is
    XAI_API_KEY or whip auth set xai — its own surface, never the OpenAI
    one, and the Codex OAuth token never satisfies it. Grok context windows are
    derived per family (fast variants 2M, grok-4/grok-code 256k, conservative
    131k otherwise). Provider subprocess spawns (codex, claude) strip
    XAI_API_KEY the way they strip each other's keys.
  • spec/std-coercion.md "Adding a model backend" — the exhaustive wiring
    checklist a new backend must cover, distilled from this addition and from
    the openai-generic reachability lesson.
  • Settled context-window reading — BrokeredTurnOutcome::last_input_tokens
    (the final MAIN reply's prompt size), stamped once at the terminal into the
    usage object under last_input_tokens and projected by both hosts: the
    Durable Object's usage_observation.last_input_tokens and the local host's
    TurnExecution::usage (TurnUsageObservation). A gauge beside the meter:
    billing settlement deliberately keeps carrying only the four summed
    counters.

Install whipplescript 0.5.4

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/GaugeWright/whipplescript/releases/download/v0.5.4/whipplescript-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/GaugeWright/whipplescript/releases/download/v0.5.4/whipplescript-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install GaugeWright/tap/whipplescript

Download whipplescript 0.5.4

File Platform Checksum
whipplescript-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
whipplescript-x86_64-apple-darwin.tar.xz Intel macOS checksum
whipplescript-x86_64-pc-windows-msvc.zip x64 Windows checksum
whipplescript-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
whipplescript-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum