# caveman v2.3.1 - Product: caveman (https://whatsnew.fyi/product/caveman) - Vendor: Julius Brussee - Date: 2026-08-23 - Version: v2.3.1 - Original notes: https://github.com/JuliusBrussee/caveman/releases/tag/v2.3.1 - Permalink: https://whatsnew.fyi/product/caveman/releases/v2.3.1 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — Installer pins in install.sh and install.ps1 were out of sync with bin/install.js and the documented one-liners, causing the v2.3.0 one-liner to bootstrap the previous release - **added** — caveman learn now prices the scanned window from provider-counted usage read out of agent transcripts - **added** — Confirmed savings are attributed to a named method: deterministic_remeasure, controlled_holdout, counterfactual_replay, or interrupted_time_series - **added** — Controlled-holdout harness runs a fix on and off on the same machine and returns insufficient_data under 5 sessions per arm - **added** — caveman learn reconcile checks measured spend against a provider usage export with a privacy-safe export digest - **changed** — Spend is reported as the actual window cost, never projected into a month or called verified - **changed** — Proxy gateway buffers non-streaming upstream bodies before replying and serve-mode warnings land in ~/.caveman/proxy.log - **added** — Test asserts that bootstrap pins, installer package version, and documented one-liners all name the same release - **changed** — Pinned bin-v1.1.3 companions and CLI 1.2.4 Everything in [v2.3.0](https://github.com/JuliusBrussee/caveman/releases/tag/v2.3.0) — learn v3 spend and attributed savings — plus the installer-pin fix below. **Install v2.3.1, not v2.3.0.** ##### Installer pin fix v2.3.0 bumped `bin/install.js` and the documented one-liners but left `install.sh` and `install.ps1` pinned at `v2.2.0`. The curl-pipe path reads the shim's own default ref, so the v2.3.0 one-liner bootstrapped the previous release. The root installer package version had drifted the same way. A test now asserts that the three bootstrap pins, the installer package version, and every documented one-liner name the same release, so the next bump cannot miss one silently. ##### Learn v3 (from v2.3.0) - `caveman learn` prices the scanned window from provider-counted usage read out of agent transcripts, so the cost figure is the provider's arithmetic rather than an estimate. - Confirmed savings are attributed to a **named method** — `deterministic_remeasure`, `controlled_holdout`, `counterfactual_replay`, or `interrupted_time_series` — and rungs are never summed into one blended headline. - A **controlled-holdout harness** runs a fix on and off on the same machine; under 5 sessions per arm it returns `insufficient_data` rather than a small win. - `caveman learn reconcile` checks measured spend against a provider usage export, and a privacy-safe export digest makes that export shareable without shipping prompt text. - Spend is what the window cost — never what a fix would return, never projected into a month, never called verified. - Proxy: the gateway buffers non-streaming upstream bodies before replying, and serve-mode warnings land in `~/.caveman/proxy.log`. ##### Runtime Pins the **bin-v1.1.3** companions and **CLI 1.2.4**. All 36 binaries and the signed manifest are at [bin-v1.1.3](https://github.com/JuliusBrussee/caveman/releases/tag/bin-v1.1.3). ##### Install ```bash curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/v2.3.1/install.sh | bash ``` ```powershell irm https://raw.githubusercontent.com/JuliusBrussee/caveman/v2.3.1/install.ps1 | iex ```