139 Commits

Author SHA1 Message Date
Julius Brussee 7421e87d5b README: frozen status banner + ecosystem table with live/labs/frozen tiers 2026-08-15 00:07:51 +02:00
Julius Brussee c322f0bb6d Merge pull request #33 from JuliusBrussee/feat/v4.1-full-loop
v4.1.0 — the full SDD loop (grill → spec → research → review → build)
v4.1.0
2026-06-18 08:00:00 +02:00
Julius Brussee dc77177756 feat: v4.1.0 — the full SDD loop (grill → spec → research → review → build)
Extend cavekit from a 3-command core into the simplest full SDD loop, every
change traced to a documented pain point or research finding. Additive and
backward compatible: the spec → build → check core is unchanged, §R is
optional, existing SPEC.md files still parse.

Four reach-for verbs (skill + thin command, opt-in, right-sized):
- grill     calibrated interrogation → sharp §G/§C, one question at a time
- research  external knowledge → new compressed §R log, every finding sourced
- review    adversarial senior review of the spec before build, go/no-go gate
- deepen    spare-budget design pass — make one shallow module deep (Ousterhout)

Format: add §R RESEARCH, sectioned ownership (no verb rewrites a foreign
section — kills the "tool deleted my spec" failure mode), and a right-size rule
(ceremony scales to blast radius, never a typo).

Core sharpened: build now names which test proves each §V (verification
contract) and reads §R; check reframed as the drift detector. Original
spec/build/check commands converted to thin pointers to their skills (single
source of truth). Nine skill descriptions cost ~1.1k context, 16x lighter than
spec-kit's 18.6k.

Grounded in real pain points (spec-kit #230/#1401/#1686, BMAD #1188/#446/#2003,
OpenSpec #1212, Kiro #5239, HN threads) and research (Anthropic context
engineering, ADaPT NAACL'24, Huang ICLR'24, Du ICML'24, TDAD'26). Design was
adversarially reviewed before commit; 2 BLOCK + 2 HARDEN findings fixed. Full
sourced traceability in CHANGELOG.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J3whGonu8mvZLJC9xx2hn4
2026-06-18 07:59:12 +02:00
Julius Brussee 823ad0437d docs: add ecosystem table linking caveman/cavemem/cavegemma 2026-05-18 00:39:54 +02:00
Julius Brussee 028643f913 feat: mirror commands into skills/ for npx skills install path
Add skills/spec, skills/build, skills/check as SKILL.md files mirroring
the corresponding command prompts. Each has a description frontmatter
that triggers auto-activation when the user asks to write a spec, run
a build, or check drift.

Keeps commands/ intact for the plugin-install slash-command path; the
two are kept in sync at the prose level.

`npx skills add JuliusBrussee/cavekit` now installs all five skills
(spec, build, check, caveman, backprop). The three /ck: slash commands
remain available via plugin marketplace install.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
v4.0.1
2026-04-20 14:25:32 +02:00
Julius Brussee aa01518647 docs: npx skills add installs the full stack, not just caveman
Reword README / LAUNCH-POST to reflect that `npx skills add JuliusBrussee/cavekit`
installs both the three /ck: commands and the two skills together —
it is the primary one-line install path, not a skill-only fallback.
Marketplace and git clone remain as alternatives.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 14:18:16 +02:00
Julius Brussee 9386ab8bd7 v4.0.0: version bump + launch docs
- plugin.json 2.0.0 → 4.0.0 (semver-consistent, matches existing tag line)
- README, CHANGELOG, UPGRADE reference v3.1.0 as the frozen v1-generation release
- drop "cavekit v2" dual naming — now just cavekit (version 4.0.0)
- add LAUNCH-POST.md for the launch announcement (move to Discussions post-push)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
v4.0.0
2026-04-20 14:16:22 +02:00
Julius Brussee 4d188c3d47 docs: launch plan — v1 preserved alongside v2
Add CHANGELOG.md and UPGRADE.md for the v1→v2 break. Rewrite README
with explicit v1 description and install paths (marketplace tag
v1.3.1-final + git clone), framing v1 as frozen-but-working rather
than deprecated. Link UPGRADE.md for migration guidance and two-way
door reassurance.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 02:07:28 +02:00
Julius Brussee 8cf2c93e64 Add SPEC format and simplify to Cavekit v2
Migrate project to a compressed 'v2' focused workflow: add FORMAT.md (SPEC.md format + caveman encoding and backprop rules), streamline README to describe the new single-file SPEC and three core commands (/ck:spec, /ck:build, /ck:check), and update plugin metadata (.claude-plugin/plugin.json and marketplace.json) to reflect v2. Remove legacy Codex plugin assets, many agent/command/docs/scripts/internal implementation files and tests that belonged to the previous, larger architecture to concentrate on the minimal v2 surface.
2026-04-20 02:01:56 +02:00
Julius Brussee 7850f8a901 Refine agent & command docs wording
Editorial clean-up across agent and command documentation: simplified and standardized phrasing, tightened bullet lists, and clarified references to kits, plans, impl, and DESIGN.md. Changes appear in multiple agent skill files (architect, builder, cavekit-reviewer, convergence-monitor, design-reviewer, drafter, inspector, researcher, surveyor, task-builder, verifier) and command docs (init, make), removing redundancy and improving readability without altering semantics or behavior.
2026-04-18 23:34:23 +02:00
Julius Brussee 2b950c819b Enforce inline drafter & handle no-op returns
Clarify and tighten agent and workflow protocols: make the drafter run inline (do not spawn ck:drafter subagents) and require full-domain decompositions presented in a single message for approval. Add a hard rule to task-builder: never return silently — each dispatch must perform at least one real tool call and emit a TASK RESULT with COMPLETE / PARTIAL / BLOCKED. Introduce silent-return / no-op detection and recovery across make and make-parallel: classify empty bodies / zero tool calls / auto-removed worktrees as no-ops, log dead-ends, retry once inline in the parent session, and mark/block or escalate if the inline retry also fails; add a two-no-op circuit-breaker to fallback to inline processing for the rest of the wave. Update sketch and ship flows to write kits inline, auto-advance on explicit approval, and adjust related guidance in the cavekit-writing skill. These changes reduce subagent/worktree failure modes and make failures observable and recoverable.
2026-04-18 23:21:19 +02:00
Julius Brussee 9aa1905f7d team: kit-level Files column scopes claims, plus install fix for team subcommand
Add an optional trailing `Files` column to build-site task tables declaring
each task's expected file footprint (comma- or semicolon-separated globs).

- Parser: Task gains Files []string; trailing column parsed for tier 0
  (cell[5]) and tier N (cell[6]). Empty / "-" treated as unset.
- Scheduler: replaces substring heuristic with real PathsOverlap check when
  Files is present; falls back to the old spec-substring hint for legacy
  sites. NextSuggestion now returns the task's Files as Paths.
- Claim: if --paths is omitted and the kit declares Files, Claim defaults
  to those globs. Removes the "user forgot --paths" failure mode and means
  the pre-commit guard gets correct scope without anyone guessing.
- Tests: parser Files parsing (both tiers, both separators, placeholder
  dashes); Claim_DefaultsPathsFromSiteFiles asserts the claim event records
  the kit's Files in the ledger.

Install: `scripts/cavekit` never dispatched `team` to the Go binary, so
`cavekit team init` failed on every fresh install. Fixed by:
- install.sh builds cmd/cavekit → $INSTALL_DIR/bin/cavekit-bin (warn if
  `go` is missing).
- scripts/cavekit delegates team/version/debug/reset/status/monitor to the
  Go binary via a delegate_to_bin helper.

Docs: README gets a "Teams" section describing setup, the Files column,
day-to-day commands, and where configuration lives.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
v3.1.0
2026-04-18 18:13:06 +02:00
Julius Brussee 46f24cc7aa team: add path-scoped claims, guard, and next
Add path-scoped team coordination features and ref-backed ledger plumbing.

- CLI: add `team next` (suggests a non-conflicting frontier task) and `team guard-commit` (invoked by pre-commit). Extend `team claim` with --paths and surface provisional/offline queued claims.
- Pre-commit guard: installable hook that rejects commits touching files claimed by other sessions; supports emergency override via CAVEKIT_TEAM_OVERRIDE (exit code 8). New internal/team/hook.go implements guard and staged-path inspection.
- Ledger/refs: ledger now lives on refs/heads/cavekit/team via a RefClient (Manager.Ref). Manager.Init ensures remote branch (may defer), Sync fetches the ref and opportunistically drains the outbox, Claim/Release/Heartbeat now publish via RefClient and expose provisional commit state and outbox counts. Path overlap detection and AllActiveClaims support added.
- Robustness: Claim retries on CAS loss, with rollback and re-fetch logic; Release and Sync updated to use RefClient. Config loading fills missing heartbeat_publish_every default and tests added (internal/team/config_test.go).
- Git hygiene: .gitignore/.gitattributes patching updated for ref-backed ledger; EnsureGitignoreBlock and EnsureGitattributesBlock adjusted and tests updated.
- Executor: add RunDirStdin and RunDirEnv helpers for deterministic child env/stdin execution.
- Docs/installer: update README, commands docs (team.md, make.md), add implementation tracking (context/impl/impl-team.md), and tweak install wording for Codex/Codex bundle.

These changes enable path-level claim isolation, offline-safe queuing, commit-time enforcement, and safer CAS-backed collaboration without touching the working branch.
2026-04-18 17:59:31 +02:00
Julius Brussee a71317eb1d Add 'team' subcommand and team support
Introduce a new team coordination feature: adds a `team` subcommand to the cavekit CLI, the internal team implementation, and documentation/spec kits. Changes include:

- CLI: register `team` in cmd/cavekit/main.go and implement subcommands in cmd/cavekit/team.go (init, join, status, claim, release, sync, internal heartbeat). Supports --json output and deterministic exit codes with exit helpers.
- Internal: new internal/team package (config, identity, lease, ledger, manager, gitpatch, tests) to implement file-based ledger, leases, and claim/release protocol.
- Docs: new / updated docs and kits under commands/ and context/kits/ describing slash-command wrappers (/ck:team), TUI integration, CLI spec, and make-loop dispatch/heartbeat semantics.
- Integration: update commands (make, make-parallel, status) to document and allow invoking cavekit team for task claim/heartbeat/release and add allowed-tools entries. Add commands/team.md wrapper.
- Misc: update scripts/setup-build.sh and site/frontend pieces to reflect team mode; add JSON marshal helpers and argument normalization utilities in CLI.

This commit wires team-mode into the build loop (claim → heartbeat → release), adds the union-merged ledger and lease semantics, and provides machine-readable JSON outputs and docs for TUI and CLI integration.
2026-04-18 17:15:10 +02:00
Julius Brussee 74cb27b1c4 Update sync-codex-plugin.sh 2026-04-18 12:31:12 +02:00
Julius Brussee d6300bd95e Merge branch 'main' of https://github.com/JuliusBrussee/cavekit 2026-04-18 12:30:00 +02:00
Julius Brussee ad7aa4ebd7 Clean up legacy blueprint-marketplace and cache on install
Adds a preflight step that removes the deprecated
~/.claude/plugins/local/blueprint-marketplace and
~/.claude/plugins/cache/blueprint-local directories left behind by
earlier "bp" installs, so the installer converges on a clean ck-only
plugin layout.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 12:28:13 +02:00
Julius Brussee cb6d532e19 Remove bp legacy alias from installer
Drops the deprecated "bp" plugin alias from the marketplace manifest,
the plugin list, and the symlink; installs a cleanup step that removes
any stale bp symlink from earlier installs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 12:27:46 +02:00
Julius Brussee ff0bac1199 v3.0.1: inline-by-default /ck:make; add /ck:make-parallel opt-in
Fix two bugs that could break /ck:make under the quality preset:

1. Caveman mode was telling task-builder subagents to apply caveman-speak
   to their *reasoning*, which corrupted <tool_use> formatting — subagents
   emitted tool calls as body text and terminated with 0 tool_uses.
   Scope caveman to final prose output only (status reports, summaries).
   Reasoning, tool calls, tool arguments, code, commits, and structured
   fields are explicitly excluded. Fixed in make.md, task-builder.md,
   check.md, map.md.

2. Parallel ck:task-builder dispatch with isolation: "worktree" can hit
   a Claude-Code-harness worktree race, returning "[Tool result missing
   due to internal error]" with no agentId. Avoid the race by defaulting
   /ck:make to inline sequential execution: no subagent, no worktree, no
   merge. The parent session implements tasks directly on the current
   branch — the path the user confirmed works.

New command /ck:make-parallel keeps the parallel-subagent path available
as explicit opt-in. It forces TB_ISOLATION=worktree + MAX_PARALLEL=3
(tunable via --concurrency N) for a single run without touching config.
Adds a one-time retry-on-harness-error rule: harness failures re-dispatch
once sequentially, then mark BLOCKED.

Config knob: task_builder_isolation (worktree/inline, default inline).
parallelism defaults lowered: max_agents=1, max_per_repo=1.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 12:27:20 +02:00
Julius Brussee 865fb8f4fb docs: cross-link caveman / cavemem / cavekit ecosystem (#19)
Add consistent ecosystem banner near the top and a unified
"Caveman Ecosystem" section near the bottom so visitors of any repo
can discover and reach the others.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 12:11:41 +02:00
Julius Brussee 30323a0c70 Fix install.sh version strings and command list for v3.0.0
Marketplace metadata referenced 2.2.0 while plugin.json is 3.0.0.
Added /ck:review to the post-install command summary.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
v3.0.0
2026-04-18 02:45:29 +02:00
Julius Brussee edcc9f9217 Merge v3.0.0: simplified Hunt cycle (25 → 12 commands)
Core cycle unchanged: /ck:sketch → /ck:map → /ck:make → /ck:check.

Command consolidation:
- Deleted 14 legacy/alias commands (architect, build, draft, inspect,
  backprop, scan, judge, watch, progress, setup-tools, quick,
  review-branch, codex-review, gap-analysis).
- Added /ck:ship (one-shot), /ck:review (absorbs scan+judge+review-branch
  via --mode gap / --codex / --tier / --strict flags), /ck:status
  (absorbs watch+progress via --watch flag).
- /ck:revise gained --trace (absorbs /ck:backprop).
- /ck:init gained --tools-only (absorbs /ck:setup-tools).
- Every retained command got a 2-line "What this does / When to use it"
  header; deprecation notes stripped; Next guidance surfaced.

Skill consolidation (23 → 21):
- skills/backpropagation folded into skills/revision (new §8 "Automated
  Backpropagation").
- skills/peer-review-loop folded into skills/peer-review (new "Codex Loop
  Mode" section).

Docs:
- README fully rewritten: leads with 4-command mental model, narrated
  greenfield + brownfield runs, 12-command table; runtime/Codex/skills/
  methodology collapsed into <details>.
- help.md rewritten for the 12-command surface.
- plugin.json 2.2.0 → 3.0.0.

Reference audit: every dangling /ck:* and /bp:* reference cleaned up
across scripts, hooks, agents, install.sh, skills, marketplace metadata,
and dog-food context kits.
2026-04-18 02:35:36 +02:00
Julius Brussee 0fa227f1ee Bump plugin to v3.0 and overhaul docs
Bump plugin to version 3.0 and update plugin/marketplace metadata (description and keywords). Major README rewrite: reorganized into a clear "loop" (sketch → map → make → check), added first-run and brownfield flows, new/renamed commands (e.g. /ck:ship, /ck:review, /ck:revise, /ck:init, /ck:config, /ck:status, /ck:help), expanded CLI and configuration docs, and clarified Codex integration and review modes. Rename/clarify backpropagation → revision flows (commands and docs updated to use /ck:revise --trace), update verifier routing in commands/check.md, and adjust Codex-related command names (/ck:review --codex). Update agent metadata (architect, drafter) to reflect new command names. Update runtime and tooling docs and scripts (install.sh, scripts/cavekit-tools.cjs) and several context/kit implementation files to reflect the Codex review loop, tier gating, and make/mapping command changes. Misc: README copy edits, skills docs updates, and small doc/path adjustments throughout the repository to match the new workflow and naming.
2026-04-18 02:34:25 +02:00
Julius Brussee 5d590aab3e Consolidate command docs; add review/ship/status
Remove numerous deprecated/duplicated command docs and consolidate CLI documentation. Add new commands: ck-review (consolidated branch review), ck-ship, and ck-status; update plugin.json. Revise major command pages (help, init, check, design, map, make, research, config) to clarify "What this does"/"When to use it", introduce init --tools-only capability discovery and summary output, and standardize flags and workflows. Adjust skill docs (peer-review, revision) and drop obsolete skill/command files to streamline review/backprop/quick/inspect flows and unify the end-to-end pipeline documentation.
2026-04-18 02:29:05 +02:00
Claude 0934103ca2 Wire autonomous runtime into the Hunt lifecycle (v2.2.0)
The runtime from 2.1.0 shipped as a standalone engine; this change wires
it through every existing command so /ck:make drives itself under the
stop-hook once /ck:init has been run. No breaking changes — every command
detects .cavekit/ and falls back to the pre-2.2 path when absent.

Correctness:
- Fix sentinel mismatch: stop-hook, cavekit-tools, docs now match
  setup-build.sh's <promise>CAVEKIT COMPLETE</promise> (space, not
  underscore). Without this, the loop could never terminate.
- .gitignore: add the transient runtime files (.loop.json, .loop.lock,
  .progress.json, tool-cache/, state.md, ledgers, etc.) while leaving
  .cavekit/config.json and .cavekit/history/ under version control.

Command wiring:
- /ck:init — calls cavekit-tools init + discover; seeds .cavekit/; appends
  runtime entries to .gitignore if missing; prints detected capabilities.
- /ck:config — surfaces new runtime keys (session_budget, task_budget_*,
  auto_backprop, tool_cache, parallelism_*, model_routing, graphify) and
  accepts get/set directly for any bp-config.sh key.
- /ck:progress — prints `cavekit-tools status` block first when .cavekit/
  is present; legacy impl-based rollup follows.
- /ck:sketch — dispatches ck:complexity per approved kit to auto-fill the
  complexity: frontmatter; tags novelty-heavy kits for research.
- /ck:map — emits .cavekit/tasks.json and calls init-registry; inserts
  ck:researcher dependency tasks for kits tagged needs_research.
- /ck:make — documents runtime mode: setup-loop activates the stop-hook,
  the hook routes waves automatically, task-builders mark completions
  via cavekit-tools, and the final message emits
  <promise>CAVEKIT COMPLETE</promise>. Legacy Ralph-loop path preserved.
- /ck:check — dispatches ck:verifier for goal-backward verification and
  falsely_complete detection; routes gaps through /ck:backprop.
- /ck:review-branch — adds a fix-cycle section: blocking findings become
  fix tasks on the next loop iteration; max 2 cycles, then
  ADVANCE_WITH_FINDINGS.
- /ck:backprop — consumes .cavekit/.auto-backprop-pending.json when
  invoked with no args, in addition to --from-flag / --from-finding.
- /ck:revise — preferred path: route each manual fix through /ck:backprop
  when .cavekit/ is present (regression test + audit log).
- /ck:research — prefers a single ck:researcher dispatch for narrow
  briefs; multi-agent fan-out for broad topics.

Scripts:
- setup-build.sh — calls cavekit-tools init + setup-loop when node is
  available, activating the stop-hook mid-/ck:make. Keeps the legacy
  .claude/ralph-loop.local.md file for back-compat.
- cavekit-tools.cjs — adds `intensity` subcommand that resolves
  lite|full|ultra based on session budget pressure, task depth, and
  phase. Consumed by /ck:make and /ck:check.

Go CLI (cmd/cavekit/main.go):
- runStatus prints `cavekit-tools status` block when .cavekit/state.md
  exists (alongside the existing worktree rollup).
- runReset additionally clears transient runtime files from .cavekit/
  (.loop.json, .loop.lock, .progress.json, .auto-backprop-pending.json,
  .debug.log), leaving config.json and history/ untouched.

Tests:
- tests/intensity.test.cjs — six new assertions covering the caveman-
  internal decision table (session pressure, task pressure, depth clamps,
  phase clamps, explicit override).
- Total: 40/40 passing.

Plugin manifest:
- plugin.json, .claude-plugin/plugin.json, install.sh → 2.2.0.

https://claude.ai/code/session_018edLvsv8JE9947oFiBXyHS
2026-04-17 19:41:38 +00:00
Claude 499205d2e0 Add autonomous runtime layer — hooks, orchestration engine, router, budgets
Introduces the machinery that turns /ck:make into a hands-off autonomous
loop without changing the Hunt methodology. Nothing in existing commands,
skills, or agents breaks; the new layer is additive and opt-in.

New runtime (scripts/):
- cavekit-tools.cjs — state machine, lock with heartbeat, token ledger,
  task registry, routing, capability discovery, backprop directive,
  status-block dashboard. Zero runtime deps.
- cavekit-router.cjs — five-axis task scoring mapped to haiku/sonnet/opus
  tiers with role baselines and budget-pressure demotion.

New hook system (hooks/):
- stop-hook.sh — Stop-event driver; reads .cavekit/state, routes the next
  prompt, returns {decision:"block",reason:...} to keep the session going
  until <promise>CAVEKIT_COMPLETE</promise> is emitted or a budget trips.
- token-monitor.sh — per-task budget (80% warn, 100% halt).
- tool-cache.js / tool-cache-store.js — 120s TTL cache for read-only tools.
- test-output-filter.js — condense test output around failure lines.
- auto-backprop.js — write flag file on test failure; stop-hook prepends
  a backpropagation directive on the next iteration.
- progress-tracker.js — zero-stdout snapshot for /ck:watch.
- hooks.json — registers all of the above (Stop + PreToolUse + PostToolUse).

New skills (skills/):
- karpathy-guardrails — four behavioral rules (think-before-code, simplicity,
  surgical, goal-driven) enforced by reviewer and task-builder.
- caveman-internal — three intensity modes (lite/full/ultra) for
  machine-to-machine artifacts, with budget-pressure auto-selection and a
  verbose-regeneration fallback. Separate from the user-facing /caveman skill.
- backpropagation — six-step bug-to-kit trace; auto-triggered by the
  auto-backprop hook or manually via /ck:backprop.
- complexity-detection — five-axis scoring rubric; depth mapping
  (0-6 quick / 7-13 standard / 14+ thorough).
- autonomous-loop — end-to-end loop reference (state files, sentinels,
  lock protocol, debugging).
- capability-discovery — MCP + plugin + CLI detection, writes
  .cavekit/capabilities.json.
- graphify-integration — optional knowledge-graph queries; degrades to grep
  when graphify-out/graph.json is absent.

New commands (commands/):
- /ck:watch — live dashboard.
- /ck:resume — recover from crash, lock conflict, or interrupt.
- /ck:backprop — manual entry to the backpropagation skill.
- /ck:review-branch — two-pass (kit + code) branch review, optional Codex.
- /ck:setup-tools — run capability discovery and summarize.

New agents (agents/):
- complexity — haiku-only classifier, returns JSON score.
- verifier — goal-backward verification with stub detection.
- researcher — multi-source research brief with citations.

Templates (templates/):
- state.md, config.json, task-status.json, spec-kit.md — seed files that
  commands copy into .cavekit/ or context/ on init.

Config (scripts/bp-config.sh):
- Adds session_budget, max_iterations, task_budget_{quick,standard,thorough},
  auto_backprop, tool_cache(+_ttl_ms), test_filter, progress_tracker,
  parallelism_max_{agents,per_repo}, model_routing, graphify_enabled.
- Extends caveman_phases validator to accept review and verify.

Plugin manifest (.claude-plugin/):
- plugin.json + marketplace.json for the marketplace discovery path.
  Existing root plugin.json bumped to 2.1.0; install.sh version strings
  bumped to match.

Tests (tests/):
- 34 zero-dep Node.js tests covering frontmatter round-trip, state
  merging, lock acquire/heartbeat/steal/release, per-task + session
  budget, task registry with dependency ordering, routing sentinels,
  router tier bands, preset matrix, and deep-merged config loading.
- Runner: `node tests/run-tests.cjs`.

No changes to existing /ck:sketch, /ck:map, /ck:make, /ck:check, or any
existing skill/agent — this commit strictly adds the runtime layer beneath
them.

https://claude.ai/code/session_018edLvsv8JE9947oFiBXyHS
2026-04-17 18:46:00 +00:00
Julius Brussee 8b663b8538 Merge pull request #16 from JuliusBrussee/claude/review-merge-pull-requests-cglzp
fix/permissions-issue-on-script-run
2026-04-17 19:57:46 +02:00
Claude 65bb3fc04c Merge PR #10: Correct permission issue on /ck:judge and /ck:make 2026-04-17 17:54:05 +00:00
Claude fa1391ae15 Merge PR #11: Fix nil context panic in runStatus and runKill 2026-04-17 17:54:04 +00:00
Julius Brussee 58d9c2a6a0 Merge pull request #15 from JuliusBrussee/claude/remove-worktrees-RcTAX
Remove worktree references from skills

This is to avoid the issue with ck make
2026-04-17 19:47:21 +02:00
Claude 319f2a11db Remove worktree references from skills
Agent dispatch guidance no longer prescribes worktree isolation; skills
now simply reference dispatching via the Agent tool.

https://claude.ai/code/session_01M8zgoAASFPmfYSBb1x3pQ7
2026-04-17 17:42:20 +00:00
Gytisw 166cd99159 Fix nil context panic in runStatus and runKill
Passing nil as context to worktree methods causes SIGKILL on macOS.

Both runStatus() and runKill() were passing nil context to
wtMgr.ProjectRoot(), tmuxMgr.ListSessions(), tmuxMgr.Kill(), and
wtMgr.Remove(). Changed to use context.Background() instead.

runMonitor() already used context.Background() correctly.
2026-04-14 06:28:25 +02:00
Julius Brussee 83417447fd Create FUNDING.yml 2026-04-12 20:00:04 +02:00
ConVonKnorrisson 559700a56b fix/permissions-issue-on-script-run 2026-04-12 04:43:18 +01:00
Julius Brussee 9aede41f23 Rename CLI/agent namespace from bp to ck v2.0.0 2026-04-06 20:14:45 +02:00
Julius Brussee a14362ab22 Rename plugin prefix bp → ck with caveman-themed DABI commands
- Plugin prefix: bp: → ck: (bp: kept as deprecated alias via symlink)
- DABI cycle renamed: sketch (draft), map (architect), make (build), check (inspect)
- Also renamed: scan (gap-analysis), judge (codex-review)
- Old command names preserved as symlinks for backward compatibility
- All commands include deprecation notices pointing to new names
- install.sh registers both ck and bp plugins

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-06 19:24:24 +02:00
Julius Brussee dd610faa1a Use 'draft' mode and update Caveman README
Simplify Caveman entry in README (remove the skill number and wording) to state it's bundled in Cavekit and enabled by default. Change scripts/codex-design-challenge.sh to query bp_config_caveman_active with 'draft' instead of 'build' so caveman activation reflects the draft phase.
2026-04-06 19:08:56 +02:00
Claude ac813b8e3b Integrate Caveman token-compression skill into CaveKit pipeline
Bundle Caveman as skill #16 with full CaveKit integration:
- Add skills/caveman/SKILL.md with lite/full/ultra intensity levels
- Add caveman_mode (default: on) and caveman_phases (default: build,inspect)
  config options to bp-config.sh with validation and caveman-active helper
- Inject CAVEMAN MODE into subagent prompts in build.md so all inter-agent
  communication is token-compressed (~75% savings across parallel waves)
- Add caveman-aware loop logging: compressed one-liner entries when active
- Apply caveman-speak to Codex review and design challenge prompt framing
  (structured findings tables stay in normal format)
- Update all four phase commands (draft, architect, build, inspect) to
  resolve caveman_active from config at startup
- Update task-builder agent to respect CAVEMAN MODE from dispatch prompt
- Update README with skill #16, config docs, and bundled status

https://claude.ai/code/session_018MDR9vb5fsAKp4c2LtxYb5
2026-04-06 16:57:25 +00:00
Julius Brussee 14d4d1dceb Update README.md 2026-04-06 18:28:58 +02:00
Julius Brussee aace8bfc78 Use stone emoji for plugin icons and README
Replace custom SVG artwork with emoji-based stone icons: update .codex-plugin/icon.svg and .codex-plugin/logo.svg to simple SVGs that render the 🪨 emoji (add role/aria-label and emoji font fallbacks). Also simplify README by inlining the stone emoji instead of referencing the SVG image. This reduces asset complexity and ensures consistent emoji rendering and accessible labels.
2026-04-06 18:28:26 +02:00
Julius Brussee bd94ca0928 Merge remote-tracking branch 'origin/claude/rename-blueprint-to-cavekit-w6C28' 2026-04-06 18:23:41 +02:00
Claude cdcc1728f3 Rewrite README to match caveman ecosystem tone
- Punchy, direct prose — no filler, no fluff
- Dynamic GitHub badges (stars, last commit, license)
- Before/After comparison table up front
- Problem framed as table for quick scanning
- All technical content preserved: phases, parallel execution,
  Codex adversarial review, configuration, commands, methodology
- Skills listed in table format inside collapsible section
- Star history chart and ecosystem links
- Consistent with caveman README style

https://claude.ai/code/session_012D3nKU3keqDLHpk7ustfUc
2026-04-06 16:18:43 +00:00
Julius Brussee 5e2f6f484f Merge pull request #5 from JuliusBrussee/claude/rename-blueprint-to-cavekit-w6C28
Rename Blueprint to Cavekit across entire project
2026-04-06 18:13:32 +02:00
Claude 67ad13fce0 Rename Blueprint to Cavekit across entire project
- Rename all files/directories: .blueprint -> .cavekit, cmd/blueprint -> cmd/cavekit,
  context/blueprints -> context/kits, skills/blueprint-writing -> skills/cavekit-writing,
  agents/blueprint-reviewer -> agents/cavekit-reviewer, scripts/blueprint* -> scripts/cavekit*
- Update Go module path: github.com/julb/blueprint-monitor -> github.com/JuliusBrussee/cavekit
- Replace all content references from blueprint/Blueprint to cavekit/Cavekit
- Update plugin.json, install.sh, codex-plugin config, and all documentation
- Add caveman ecosystem link to README
- Binary renamed from blueprint to cavekit

Part of the Caveman ecosystem: https://github.com/JuliusBrussee/caveman

https://claude.ai/code/session_012D3nKU3keqDLHpk7ustfUc
2026-04-06 16:12:16 +00:00
Julius Brussee 37e6c9d486 Update project name from Blueprint to Cavekit 2026-04-06 18:01:29 +02:00
Julius Brussee 19abe493f0 Merge branch 'main' of https://github.com/JuliusBrussee/blueprint 2026-04-05 21:09:27 +02:00
Julius Brussee 7c077d357e Update README.md 2026-04-05 21:09:25 +02:00
Julius Brussee 42194fd811 Add cross-links to Caveman and Revu 2026-04-05 18:31:17 +02:00
Julius Brussee e598364e3f Update README.md 2026-04-04 23:56:04 +02:00
Julius Brussee 981d3f1f17 Add Coverage Matrix and pre/post-flight blueprint verification
Closes the gap where acceptance criteria specified in draft could be lost
during architect and build phases. Adds:

- Coverage Matrix to build-site format: maps every acceptance criterion to
  its assigned task(s), making gaps visible before build starts
- Pre-flight coverage check in build: flags unassigned criteria before
  executing any tasks
- Post-flight blueprint verification: cross-references completed tasks
  against original blueprint criteria after build, adds remediation tasks
  for anything missed
- Quick mode coverage gate: lightweight but mandatory criterion check
- Criterion-level validation rules in architect command and agent

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-04 12:41:26 +02:00