0.5.4 — 2026-08-19
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
xaimodel backend — xAI's Grok API as a first-class backend on the
model-backend axis (spec/std-coercion.md"Providers"): the Chat
Completions wire athttps://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_KEYorwhip 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_KEYthe 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
theopenai-genericreachability 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 underlast_input_tokensand projected by both hosts: the
Durable Object'susage_observation.last_input_tokensand 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 | shInstall 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/whipplescriptDownload 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 |