chore(caveman): purge plugin + always-on integration

Disable + uninstall caveman@caveman and delete every repo dependency on
it: SessionStart/UserPromptSubmit hook blocks, standalone hook files,
settings.json enabledPlugins + marketplace entries, install-plugins.sh
STEP 5.5, update-all.sh refresh step, plugins.lock.json entry, doctor.sh
checks, lib/detect-plugins.sh helpers, lib/profile.sh + plugin-advisor +
skills/profile protected-list entries, .gitignore runtime-file block,
and README/USAGE docs. Dead /caveman:compress refs replaced with
manual/claude.ai guidance. Memory-registry terse-format convention kept
(separate subsystem). Version 3.4.0 -> 3.5.0.

On a subscription plan caveman's ~75% output-token compression has no
cost benefit, and the always-on hooks added friction on validation
gates and client deliverables.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X3e8LaH2vymmxyh36h3jFU
This commit is contained in:
Bastien Chanot
2026-06-19 19:08:40 +02:00
co-authored by Claude Opus 4.8
parent 7403c658d2
commit d4a5cfec93
18 changed files with 29 additions and 234 deletions
-19
View File
@@ -66,12 +66,6 @@ detect_graphifyy() {
command -v graphify &>/dev/null
}
detect_caveman() {
# Caveman — output-token compression via caveman-speak (marketplace plugin)
local cache_dir="$HOME/.claude/plugins/cache"
[ -d "$cache_dir" ] && compgen -G "$cache_dir"/*caveman* &>/dev/null
}
# True if a plugin is registered as enabled in settings.json's
# enabledPlugins map. Filesystem only (no subprocess to claude CLI).
# Argument is the full "name@marketplace" key.
@@ -81,19 +75,6 @@ plugin_enabled() {
grep -qE "\"${key}\"[[:space:]]*:[[:space:]]*true" "$HOME/.claude/settings.json"
}
detect_caveman_hooks() {
# Standalone hooks (statusline + stats) deployed by caveman hooks/install.sh
[ -f "$HOME/.claude/hooks/caveman-statusline.sh" ]
}
detect_caveman_shrink() {
# caveman-shrink is a proxy — only valid when registered with an
# upstream wrapper (e.g. caveman-shrink-fs:, caveman-shrink-github:).
# Bare 'caveman-shrink:' fails health checks and is treated as missing.
command -v claude &>/dev/null \
&& claude mcp list 2>/dev/null | grep -q '^caveman-shrink-'
}
# --- Plan detection ---
+2 -3
View File
@@ -15,7 +15,7 @@
# advisory otherwise
# - CLIs: advisory only (rtk, gsd, ctx7, graphify — installed externally)
#
# Always-on plugins (never toggled by `set`): caveman, security-guidance,
# Always-on plugins (never toggled by `set`): security-guidance,
# superpowers + rtk hook + .claude internal. The script refuses to disable
# anything in PROTECTED_PLUGINS.
#
@@ -49,7 +49,7 @@ TOGGLE_EXTERNAL="$REPO/lib/toggle-external.sh"
ACTIVE_CACHE="$REPO/.active-profile" # statusline reads this — keep fast (single-line file, profile name only)
# Plugins that are toggle-managed by `set`. Anything NOT in this list is
# never auto-disabled — protects always-on plugins (caveman, security-guidance,
# never auto-disabled — protects always-on plugins (security-guidance,
# superpowers) and unrelated user plugins. Add a plugin here only when its
# enabled state is meaningfully driven by task type.
MANAGED_PLUGINS=(
@@ -62,7 +62,6 @@ MANAGED_PLUGINS=(
# they're not in the profile. (Defensive: belt-and-suspenders alongside
# MANAGED_PLUGINS allowlist.)
PROTECTED_PLUGINS=(
"caveman@caveman"
"security-guidance@claude-code-plugins"
"superpowers@superpowers-marketplace"
)