mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-05-17 22:33:06 +08:00
fix: port continuous-learning observer fixes
Ports continuous-learning observer signal, storage, remote normalization, and v1 deprecation fixes onto current main.
This commit is contained in:
@@ -26,7 +26,7 @@ An advanced learning system that turns your Claude Code sessions into reusable k
|
||||
|
||||
| Feature | v2.0 | v2.1 |
|
||||
|---------|------|------|
|
||||
| Storage | Global (~/.claude/homunculus/) | Project-scoped (projects/<hash>/) |
|
||||
| Storage | Global (`~/.claude/homunculus/`) | Project-scoped (`${XDG_DATA_HOME:-~/.local/share}/ecc-homunculus/projects/<hash>/`) |
|
||||
| Scope | All instincts apply everywhere | Project-scoped + global |
|
||||
| Detection | None | git remote URL / repo path |
|
||||
| Promotion | N/A | Project → global when seen in 2+ projects |
|
||||
@@ -132,7 +132,21 @@ The system automatically detects your current project:
|
||||
3. **`git rev-parse --show-toplevel`** -- fallback using repo path (machine-specific)
|
||||
4. **Global fallback** -- if no project is detected, instincts go to global scope
|
||||
|
||||
Each project gets a 12-character hash ID (e.g., `a1b2c3d4e5f6`). A registry file at `~/.claude/homunculus/projects.json` maps IDs to human-readable names.
|
||||
Each project gets a 12-character hash ID (e.g., `a1b2c3d4e5f6`). A registry file at `${XDG_DATA_HOME:-~/.local/share}/ecc-homunculus/projects.json` maps IDs to human-readable names.
|
||||
|
||||
### Data Directory
|
||||
|
||||
Continuous-learning-v2 stores observer data outside `~/.claude` so Claude Code's sensitive-path guard does not block background instinct writes:
|
||||
|
||||
1. `CLV2_HOMUNCULUS_DIR` when set to an absolute path
|
||||
2. `$XDG_DATA_HOME/ecc-homunculus`
|
||||
3. `$HOME/.local/share/ecc-homunculus`
|
||||
|
||||
Existing users with data at `~/.claude/homunculus` can migrate once:
|
||||
|
||||
```bash
|
||||
bash skills/continuous-learning-v2/scripts/migrate-homunculus.sh
|
||||
```
|
||||
|
||||
## Quick Start
|
||||
|
||||
@@ -173,7 +187,7 @@ The system creates directories automatically on first use, but you can also crea
|
||||
|
||||
```bash
|
||||
# Global directories
|
||||
mkdir -p ~/.claude/homunculus/{instincts/{personal,inherited},evolved/{agents,skills,commands},projects}
|
||||
mkdir -p "${XDG_DATA_HOME:-$HOME/.local/share}/ecc-homunculus"/{instincts/{personal,inherited},evolved/{agents,skills,commands},projects}
|
||||
|
||||
# Project directories are auto-created when the hook first runs in a git repo
|
||||
```
|
||||
@@ -226,7 +240,7 @@ Other behavior (observation capture, instinct thresholds, project scoping, promo
|
||||
## File Structure
|
||||
|
||||
```
|
||||
~/.claude/homunculus/
|
||||
${XDG_DATA_HOME:-~/.local/share}/ecc-homunculus/
|
||||
+-- identity.json # Your profile, technical level
|
||||
+-- projects.json # Registry: project hash -> name/path/remote
|
||||
+-- observations.jsonl # Global observations (fallback)
|
||||
@@ -322,7 +336,7 @@ Hooks fire **100% of the time**, deterministically. This means:
|
||||
## Backward Compatibility
|
||||
|
||||
v2.1 is fully compatible with v2.0 and v1:
|
||||
- Existing global instincts in `~/.claude/homunculus/instincts/` still work as global instincts
|
||||
- Existing global instincts can be migrated from `~/.claude/homunculus/instincts/` with `scripts/migrate-homunculus.sh`
|
||||
- Existing `~/.claude/skills/learned/` skills from v1 still work
|
||||
- Stop hook still runs (but now also feeds into v2)
|
||||
- Gradual migration: run both in parallel
|
||||
|
||||
Reference in New Issue
Block a user