docs: tighten troubleshooting safety guidance

This commit is contained in:
Affaan Mustafa
2026-03-10 19:14:07 -07:00
committed by Affaan Mustafa
parent b7bafb40cb
commit 5644415767

View File

@@ -9,6 +9,8 @@ Common issues and solutions for Everything Claude Code (ECC) plugin.
- [Hook & Workflow Errors](#hook--workflow-errors) - [Hook & Workflow Errors](#hook--workflow-errors)
- [Installation & Setup](#installation--setup) - [Installation & Setup](#installation--setup)
- [Performance Issues](#performance-issues) - [Performance Issues](#performance-issues)
- [Common Error Messages](#common-error-messages)
- [Getting Help](#getting-help)
--- ---
@@ -32,7 +34,7 @@ Common issues and solutions for Everything Claude Code (ECC) plugin.
head -n 100 large-file.log > sample.log head -n 100 large-file.log > sample.log
# 3. Use streaming for large outputs # 3. Use streaming for large outputs
cat large-file.txt | head -50 head -n 50 large-file.txt
# 4. Split tasks into smaller chunks # 4. Split tasks into smaller chunks
# Instead of: "Analyze all 50 files" # Instead of: "Analyze all 50 files"
@@ -51,13 +53,28 @@ cat large-file.txt | head -50
**Solutions:** **Solutions:**
```bash ```bash
# Check if observations are being recorded # Check if observations are being recorded
ls ~/.claude/homunculus/*/observations.jsonl ls ~/.claude/homunculus/projects/*/observations.jsonl
# View recent observations # Find the current project's hash id
tail -20 ~/.claude/homunculus/$(basename $PWD)/observations.jsonl python3 - <<'PY'
import json, os
registry_path = os.path.expanduser("~/.claude/homunculus/projects.json")
with open(registry_path) as f:
registry = json.load(f)
for project_id, meta in registry.items():
if meta.get("root") == os.getcwd():
print(project_id)
break
else:
raise SystemExit("Project hash not found in ~/.claude/homunculus/projects.json")
PY
# Reset observations if corrupted # View recent observations for that project
rm ~/.claude/homunculus/$(basename $PWD)/observations.jsonl tail -20 ~/.claude/homunculus/projects/<project-hash>/observations.jsonl
# Back up a corrupted observations file before recreating it
mv ~/.claude/homunculus/projects/<project-hash>/observations.jsonl \
~/.claude/homunculus/projects/<project-hash>/observations.jsonl.bak.$(date +%Y%m%d-%H%M%S)
# Verify hooks are enabled # Verify hooks are enabled
grep -r "observe" ~/.claude/settings.json grep -r "observe" ~/.claude/settings.json
@@ -153,7 +170,7 @@ echo $PATH
**Solutions:** **Solutions:**
```bash ```bash
# Check hooks are registered # Check hooks are registered
cat ~/.claude/settings.json | grep -A 10 '"hooks"' grep -A 10 '"hooks"' ~/.claude/settings.json
# Verify hook files exist and are executable # Verify hook files exist and are executable
ls -la ~/.claude/plugins/cache/*/hooks/ ls -la ~/.claude/plugins/cache/*/hooks/
@@ -231,8 +248,12 @@ tmux attach -t dev
**Solutions:** **Solutions:**
```bash ```bash
# Clear plugin cache # Inspect the plugin cache before changing it
rm -rf ~/.claude/plugins/cache/* ls -la ~/.claude/plugins/cache/
# Back up the plugin cache instead of deleting it in place
mv ~/.claude/plugins/cache ~/.claude/plugins/cache.backup.$(date +%Y%m%d-%H%M%S)
mkdir -p ~/.claude/plugins/cache
# Reinstall from marketplace # Reinstall from marketplace
# Claude Code → Extensions → Everything Claude Code → Uninstall # Claude Code → Extensions → Everything Claude Code → Uninstall
@@ -268,7 +289,9 @@ echo '{"packageManager": "pnpm"}' > .claude/package-manager.json
# Or use package.json field # Or use package.json field
npm pkg set packageManager="pnpm@8.15.0" npm pkg set packageManager="pnpm@8.15.0"
# Remove conflicting lock files # Warning: removing lock files can change installed dependency versions.
# Commit or back up the lock file first, then run a fresh install and re-run CI.
# Only do this when intentionally switching package managers.
rm package-lock.json # If using pnpm/yarn/bun rm package-lock.json # If using pnpm/yarn/bun
``` ```
@@ -287,14 +310,22 @@ rm package-lock.json # If using pnpm/yarn/bun
**Solutions:** **Solutions:**
```bash ```bash
# Archive old observations # Archive large observations instead of deleting them
find ~/.claude/homunculus -name "observations.jsonl" -size +10M -delete archive_dir="$HOME/.claude/homunculus/archive/$(date +%Y%m%d)"
mkdir -p "$archive_dir"
find ~/.claude/homunculus/projects -name "observations.jsonl" -size +10M -exec sh -c '
for file do
base=$(basename "$(dirname "$file")")
gzip -c "$file" > "'"$archive_dir"'/${base}-observations.jsonl.gz"
: > "$file"
done
' sh {} +
# Disable unused hooks temporarily # Disable unused hooks temporarily
# Edit ~/.claude/settings.json # Edit ~/.claude/settings.json
# Use local caching # Keep active observation files small
# Enable Redis for semantic search caching # Large archives should live under ~/.claude/homunculus/archive/
``` ```
### High CPU Usage ### High CPU Usage
@@ -332,7 +363,7 @@ du -sh ~/.claude/homunculus/*/
find ~/.claude/plugins -name "*.sh" -exec chmod +x {} \; find ~/.claude/plugins -name "*.sh" -exec chmod +x {} \;
# Fix observation directory permissions # Fix observation directory permissions
chmod -R 755 ~/.claude/homunculus chmod -R u+rwX,go+rX ~/.claude/homunculus
``` ```
### "MODULE_NOT_FOUND" ### "MODULE_NOT_FOUND"