| Skeleton | go.mod, cmd/session-indexer/main.go, docs/ | Go 1.26 module declared, Cobra root + 4 subcommands wired (mine, embed, search, stats), docs/ accuracy vs code | cat go.mod | head -15; head -50 cmd/session-indexer/main.go; ls -la docs/ |
| Nervous system | No .env* yet; Stop hook in .claude/settings.local.json; future debug env vars | Hook wired, env vars referenced in source vs documented in CLAUDE.md | cat .claude/settings.local.json | jq .; grep -roh 'os\.Getenv("[^"]*")' . --include="*.go" 2>/dev/null | sort -u |
| Vital organs | Parse→Chunk→Store→Embed pipeline in internal/mine/; search in internal/search/ | JSONL parsing correctness, noise filter thresholds, dedup key stability, cosine vs FTS5 fallback wiring | wc -l internal/mine/*.go internal/search/*.go internal/embed/*.go 2>/dev/null; head -80 internal/mine/mine.go 2>/dev/null |
| Immunity | *_test.go files across all internal/ packages | Test count vs source count, coverage of parse/chunk/embed/search; presence of regression tests for edge cases | find . -name "*_test.go" | grep -v .git | wc -l; find . -name "*.go" ! -name "*_test.go" | grep -v .git | wc -l; go test -cover ./... 2>/dev/null |
| Memory | SQLite at .claude/sessions.db; schema at internal/db/schema.sql; dedup index | Schema version in meta table, chunk/embedding counts, pending embeddings, WAL size | sqlite3 .claude/sessions.db "SELECT * FROM meta; SELECT COUNT(*) FROM chunks; SELECT COUNT(*) FROM embeddings;" 2>/dev/null; ls -lh .claude/sessions.db* 2>/dev/null |
| Metabolism | Ollama REST client (localhost:11434); bge-m3:latest model; POST /api/embed | Probe reachable, model listed, embedding dim = 1024, float32 BLOB len = 4096 bytes | curl -s --max-time 2 http://localhost:11434/api/tags 2>/dev/null | jq -c '[.models[]?.name]' 2>/dev/null || echo "Ollama unreachable" |
| Nutrition | go.mod dependencies: modernc.org/sqlite (pure Go SQLite), github.com/spf13/cobra, standard library | Outdated packages, known vulnerabilities in deps | cat go.mod; go list -m -u all 2>/dev/null | grep '\[' | head -20 |
| Biography | Git history; sole author: Valentyn Solomko | Born 2026-06-25, commit velocity, task distribution | git log --oneline -20; git shortlog -sn; git log --format="%ci" | tail -1 |
| Appearance | No UI; CLI stdout output only | Search result format ([date | role]\ncontent\n──────), stats table, --json flag output | session-indexer stats --db .claude/sessions.db 2>/dev/null || echo "binary not built yet" |
| Habitat | No Docker; No CI yet; Stop hook runs on every Claude Code session end | Hook fires, session-indexer binary in PATH, timeout within 60s | which session-indexer 2>/dev/null || echo "not in PATH"; ls .github/workflows/ 2>/dev/null || echo "no CI" |
| Self-image | docs/architecture.md, docs/requirements.md, CLAUDE.md, README.md | README is 17B (empty); docs are detailed; CLAUDE.md tracks reality | wc -c README.md docs/*.md CLAUDE.md; head -5 README.md |