Skip to content

Caveman 2.0.0 β€” engine, proxy, SDKs, unified CLI - #822

Merged
JuliusBrussee merged 1 commit into
mainfrom
launch/caveman-2
Aug 11, 2026
Merged

Caveman 2.0.0 β€” engine, proxy, SDKs, unified CLI#822
JuliusBrussee merged 1 commit into
mainfrom
launch/caveman-2

Conversation

@JuliusBrussee

@JuliusBrussee JuliusBrussee commented Aug 11, 2026

Copy link
Copy Markdown
Owner

All 12 CI checks green (legacy CI Node 18/20/22 + Python Β· engine-ci go/typescript/python/root-surfaces/extension/windows Β· profile-contract Β· provider-catalog-contract).

Single-commit port of the Caveman 2 tree onto original repo history: candidate caveman-2@88878a4 applied over main@3098342. No unrelated-history merge, no force push to main; original history untouched. Rollback point: tag pre-caveman-2-2026-08-11.

Preserved v1 surfaces

Fixed for public same-repo release

  • SECURITY.md advisories β†’ this repo; packages/cli/PUBLISHING.md rewritten for packages/ layout and same-repo flow
  • release-binaries.yml publishes to this repo via job-scoped GITHUB_TOKEN (contents: write on the job only); cross-repo PAT removed; binary-release environment still gates signing
  • profile-contract / provider-catalog-contract lanes skip their lane-scope gate on initial import (validation still gates)
  • ANNOUNCEMENT.md: network claim corrected β€” compression is local, requests still go to your configured provider
  • Secret-shaped redaction test fixtures split mid-literal so push protection never fires on synthetic vectors

Cross-platform and CI-correctness fixes surfaced by this PR's own gates

  • Windows Go support (previously broken at runtime, not just in CI): sqlite parent-writability guard skipped on Windows with documented TODO for a DACL check (Go reports synthetic 0777 perms there); processAlive/processExecutable implemented via Win32 APIs; directory-fsync skipped in cache-replay atomic writes; cavemem retries SQLITE_BUSY writes; .exe-aware test helpers; POSIX perm asserts guarded
  • PATHEXT resolver bug in all five vendored copies: extensionless commands no longer resolve to the non-executable Unix shim that npm/pnpm place next to the real .CMD shim
  • WAL-sidecar TOCTOU race in secureSQLiteFile: a concurrently checkpointed -wal file vanishing between Lstat and open is no longer an error
  • SDK deadline robustness: caveFetch holds a ref'd timer so AbortSignal.timeout (unref'd in Node) can't strand the deadline race when a custom fetch schedules nothing
  • Graders regex worker: execution deadline starts at worker online, not spawn β€” cold CI spawns no longer fail valid patterns closed
  • .gitattributes: * text=auto eol=lf (golden files, hook checksums); engine-ci typescript job enables unprivileged userns (agent sandbox tests) and prebuilds the proxy for the conformance suite
  • Independent security review (Opus) on the guard changes: Unix behavior provably unchanged; findings folded in

After merge (not part of this PR)

  1. 24–48h soak: checks green on main, fresh classic skill installs, no issue spike
  2. Configure binary-release environment + CAVEMAN_BINARY_SIGNING_PRIVATE_KEY_PEM secret, then tag bin-v1.0.0 (annotated, signed)
  3. Verify 36 binaries + manifests anonymously β†’ publish @caveman-ai/cli β†’ clean-machine smokes β†’ tag v2.0.0 β†’ README flip β†’ announcement

πŸ€– Generated with Claude Code

https://claude.ai/code/session_01BLvb5QniwYjmcawyssQNw9

@JuliusBrussee
JuliusBrussee force-pushed the launch/caveman-2 branch 7 times, most recently from 149f870 to 237a801 Compare August 11, 2026 14:11
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
@JuliusBrussee
JuliusBrussee merged commit 82864c8 into main Aug 11, 2026
11 of 12 checks passed
@JuliusBrussee
JuliusBrussee deleted the launch/caveman-2 branch August 11, 2026 15:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant