Commit Graph

8 Commits

Author SHA1 Message Date
Julius Brussee d9faebc2b2 docs(readme): rewrite the front door around measured savings
Two-size install story, a What-you-save section with static SVG charts
rendered from the committed benchmark table, and plain-language copy
for non-programmers. Charts regenerate with benchmarks/render_charts.py.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-02 15:18:19 +02:00
Julius Brussee ce6850dbc6 fix(pi-extension): close the recovery, hook and context leaks; ship on pi-v*
Recovery client. ensure() assigned probed/child only after an await, so N
concurrent callers ran N probes and N spawns and tracked only the last child
— the rest stayed alive as orphans holding ccr.db. One in-flight bring-up is
now shared, dispose() reaps a child that lands late, and a child that fails
or never finishes the handshake is reaped instead of left for the next spawn
to collide with. The handshake also stops borrowing the 30s retrieve budget:
it is awaited inside session_start, so an MCP that starts but never answers
initialize froze Pi startup for the full 30s. 2s, then the session degrades
to "no recovery available".

caveman_retrieve output is no longer shrunk. Its result IS the recovered
original, so masking it hands the model a fresh ccr:// handle and recovery
loops instead of terminating — and registering the tool disables the proxy's
server-side retrieve loop, so nothing else would strip it.

pending context from tool calls accumulates across a whole turn and drains
only at the next before_agent_start; MAX_CONTEXT_BYTES capped one response,
not the join, so a tool-heavy turn built an unbounded system prompt. It now
caps the accumulation.

The stamped hook argv is tried first but no longer alone: it bakes an
absolute [node, …/dist/index.js] at enable time, so an nvm switch made every
hook call ENOENT and the session degraded to permanent silent direct mode.
PATH candidates follow it. Both copies of resolveWindowsCommand (here and in
the CLI) now apply PATHEXT to a *path* too — returning the extensionless
~/.caveman/bin/caveman straight to execFile is the EFTYPE they exist to
prevent.

Release: `pi-v*` tags publish @caveman-ai/pi, with a smoke check that the
tarball actually carries the bundled extension package.json names, plus the
registry-resolved package-lock.json `npm ci` needs (the one generated inside
the pnpm workspace linked to ../../node_modules/.pnpm and would have failed
on a clean checkout). README gains the Pi wrap row (eight native agents) and
drops the Sponsors section.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SqmbqWDtNexzDfH5V3BMRz
2026-08-20 04:14:49 +02:00
Julius Brussee 77257e82c1 README: landing-page rewrite around learn and the proxy
Proxy-first two-choice install, caveman learn section with a report
screenshot, skills-as-images promoted, agent SDK section moved out
with its repo, deep-dive detail collapsed or linked.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Bn1A1mU7TX9dsDb5mbSBE3
2026-08-16 21:21:25 +02:00
Julius Brussee 82864c8f4c feat: ship Caveman 2.0.0 — engine, proxy, SDKs, unified CLI
Single-commit port of the Caveman 2 tree onto the original repo history
(candidate caveman-2@88878a4 applied over main@3098342). No unrelated-history
merge; original history untouched.

Preserved v1 surfaces:
- skills/caveman/SKILL.md byte-for-byte, plus plugin mirror and caveman.skill zip
- legacy CI (Node 18/20/22 installer + Python 3.11 suites) alongside engine-ci
- cli/install.js compatibility shim forwarding to bin/install.js
- .codex/config.toml ships both hooks and codex_hooks for older Codex (#617)
- README Trendshift + Skills.sh badges and local star-history asset
- v1.10.0-pinned curl installs; benchmarks/tmp-starcharts ignore rules

Fixed for public same-repo release:
- SECURITY.md vulnerability reporting points at this repository
- release-binaries.yml publishes to this repo via job-scoped GITHUB_TOKEN
  (cross-repo PAT removed); binary-release environment still gates signing
- packages/cli/PUBLISHING.md rewritten for packages/ layout and same-repo flow
- profile-contract and provider-catalog lanes skip lane-scope gates on
  initial import so the launch PR can gate on their real validation steps
- ANNOUNCEMENT.md network claim corrected: compression is local; requests
  still go to the provider you configured

Caveman 2 stays opt-in: bin-v1.0.0 binaries and @caveman-ai/cli publish
separately after this lands and soaks.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BLvb5QniwYjmcawyssQNw9
2026-08-11 16:46:10 +02:00
Julius Brussee 7066cc8154 chore: use local star history image in README 2026-08-03 15:34:49 +02:00
Julius Brussee dc95e915c5 Caveman Updated Skill + Readme 2026-07-03 12:29:48 +02:00
Julius Brussee baf10366f6 Add Sponsors section and Atlas Cloud logos
Add a Sponsors section to README promoting Atlas Cloud with a centered logo, link, and a call to sponsor the project. Include two new SVG assets (atlas-cloud.svg and atlas-cloud-dark.svg) under docs/assets for light/dark mode logo display.
2026-06-12 14:05:15 +02:00
Julius Brussee 2422bbe59c docs: add caveman-code promo banner + dancing-rock branding
Add a prominent caveman-code callout to the README hero and a
caveman-code row to the ecosystem table. Swap the rock emoji for
the dancing-rock SVG logo across the README, the compress skill
README, and the docs-site cursor.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 12:36:09 +02:00