v2.2.0
Added 1
- benchmarks/run.py gains a terse control arm to separate skill improvements from baseline instruction effects
Changed 1
- cavecrew model overrides no longer rewrite tracked agents/*.md when the plugin root is a source checkout
Fixed 8
- Uninstall no longer deletes hook files while settings.json still points at them
- Settings file that cannot be parsed or rewritten now causes a hard stop
- POSIX and PowerShell uninstallers exit non-zero on missing node
- Install leaves another plugin's hooks/package.json alone and removes only the manifest caveman ships
- Binary installers give each download its own .part file to prevent concurrent installs from publishing each other's half-written files
- Compress skill outer-fence strip no longer merges a document's first and last code blocks into prose
- Compress skill validator now sees CommonMark indented code blocks
- Compress skill treats lost file paths and renamed headings as errors instead of warnings
Security 1
- Installer temp downloads move to a 0700 mkdtemp to prevent a pre-planted symlink from capturing the init script
From caveman
Safety fixes across the installer, the uninstaller, and the compress skill.
Install / uninstall
- Uninstall no longer deletes hook files while
settings.jsonstill points at them — that is #471 on every session start. A settings file it cannot parse or rewrite is now a hard stop, and the POSIX and PowerShell uninstallers exit non-zero on a missingnodefor the same reason. - Install leaves another plugin's
hooks/package.jsonalone; uninstall removes only the manifest caveman ships. - Installer temp downloads move to a
0700mkdtemp, so a pre-planted symlink can no longer capture the init script the installer then executes. - The binary installers give each download its own
.part. The fixed name made theO_EXCLguard unreachable, letting concurrent installs publish each other's half-written files as "checksum verified".
Compress skill
- The outer-fence strip no longer merges a document's first and last code blocks into prose. It matched any file that merely started and ended with a fence line.
- The validator now sees CommonMark indented code blocks — a 4-space-indented
kubectl deletewas prose to it, so a rewritten destructive command passed clean and overwrote the file. - Lost file paths and renamed headings are errors, not warnings that let the in-place overwrite stand.
Hooks
- cavecrew model overrides no longer rewrite tracked
agents/*.mdwhen the plugin root is a source checkout.
Benchmarks
benchmarks/run.pygains a terse control arm, so the next regenerated table separates what the skill adds from what any "answer concisely" instruction already buys. The published 65% is against an unprompted baseline and now says so.
Install
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/v2.2.0/install.sh | bash
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/v2.2.0/install.ps1 | iex