diff --git a/CHANGELOG.md b/CHANGELOG.md
index 42d81408..51245723 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,513 +1,127 @@
# Changelog
-All notable changes to MeMesh will be documented in this file.
+All notable changes to MeMesh are documented here.
-The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
-and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## [4.0.0] — 2026-04-20
-## [Unreleased]
-
-## [2.11.0] - 2026-03-09
-
-### Added
-
-- **`memesh-view` CLI command** — generates self-contained HTML dashboard with D3.js force-directed knowledge graph, searchable entity table, and statistics
-
-### Breaking Changes
-
-- **Minimal core rewrite** — stripped from 50+ source files to 5, 26 dependencies to 3
-- **3 MCP tools only**: `remember`, `recall`, `forget` (removed buddy-do, buddy-help, memesh-hook-tool-use, memesh-generate-tests, memesh-metrics)
-- **2 hooks only**: session-start, post-commit (removed pre-tool-use, post-tool-use, stop, subagent-stop)
-
-### Removed
-
-- Vector search (ONNX embeddings, sqlite-vec, EmbeddingService)
-- Daemon/proxy server modes (standalone only)
-- CLI features (commander, inquirer, interactive prompts)
-- HTTP server (express)
-- All UI formatting (chalk, boxen, ora, cli-spinners, cli-table3, asciichart)
-- Logging framework (winston)
-- 23 production dependencies
-
-### Fixed
-
-- vitest pool from `threads` to `forks` to prevent SIGSEGV with better-sqlite3 native module
-
-### Architecture
-
-- **Database**: Direct better-sqlite3 with FTS5 full-text search
-- **Server**: Standalone MCP via StdioServerTransport
-- **Validation**: Zod schemas for all tool inputs
-- **Backward compatible**: Existing DB data (entities, observations, relations, tags) preserved and queryable
-
-## [2.10.2] - 2026-03-09
-
-### Changed
-
-- Clean up changelog entries
-
-## [2.10.1] - 2026-03-09
-
-### Fixed
-
-- **health-check**: Support npm global install and plugin marketplace install modes (previously only worked from dev directory)
-
-### Changed
-
-- Streamline repository for professional open source standards
-- Simplify documentation and build configuration
-
-## [2.10.0] - 2026-03-08
-
-### Added
-
-- **Streamlit Visual Explorer** — interactive web UI for exploring the knowledge graph
- - **Dashboard page**: entity/relation/observation/tag counts, entity type distribution (pie chart), top tags (bar chart), entity growth over time (line chart), recent entities table
- - **KG Explorer page**: interactive graph visualization with color-coded entity types and relation edges, FTS5 full-text search, filtering by type/tags/date range, adjustable node count
- - Uses `streamlit-agraph` (vis.js) for graph rendering with physics-based layout
- - Automatic database path resolution (`~/.memesh/` and legacy `~/.claude-code-buddy/`)
-- **Auto-relation inference** — entities created via `create-entities` now automatically infer relations
- - Intra-batch relations between newly created entities sharing topic keywords
- - New-to-existing relations linking new entities with relevant existing ones
- - Semantic relation types: `similar_to`, `solves`, `caused_by`, `enabled_by`, `depends_on`, `follows_pattern`
-- **Relation backfill script** (`streamlit/backfill_relations.py`) — 3-layer strategy for existing entities
- - Layer 1: Topic/project clustering via name prefix matching
- - Layer 2: Cross-type semantic relations within topic clusters
- - Layer 3: Tag-based similarity (entities sharing 2+ tags)
- - Supports `--dry-run` and `--db-path` flags, idempotent via INSERT OR IGNORE
-- **KG-style SVG logo** — replaced emoji badge with clean vector knowledge graph icon
-
-### Fixed
-
-- FTS5 false unavailability on Streamlit hot-reload (removed stale module-level cache)
-- JSON injection in backfill relation metadata (f-string → `json.dumps`)
-- Keyword false positives in auto-relation inference (minimum 4-char filter)
-- Removed dead code (`insert_relations`, unused `KNOWN_PREFIXES` constant)
-
-## [2.9.3] - 2026-03-08
-
-### Added
-
-- **ProactiveRecaller** — automatically surfaces relevant memories based on context triggers
- - `session-start`: injects top 5 memories (>0.5 similarity) into hook output using project name + recent commits
- - `test-failure`: recalls top 3 memories (>0.6 similarity) matching test name + error message
- - `error-detection`: recalls top 3 memories (>0.6 similarity) matching error type + first line
- - Session-start: integrated into `scripts/hooks/session-start.js` via FTS5 query
- - Test/error: integrated via `post-tool-use.js` → `proactive-recall.json` → `HookToolHandler`
-- **ContentHasher** — SHA-256 hash-based embedding deduplication
- - Skips ONNX inference when entity content (name + observations) unchanged
- - `embedding_hashes` side table (vec0 virtual tables don't support ALTER TABLE)
- - Cleaned up on entity deletion
-- **Batch embedding** — `createEntitiesBatch()` uses `encodeBatch()` instead of N individual `encode()` calls
- - Combined with hash dedup for maximum efficiency
-
-### Fixed
-
-- Update all repository URLs from `claude-code-buddy` to `memesh-plugin`
-- Sync `marketplace.json` version to match package version
-- Update dependencies to resolve security vulnerabilities (express-rate-limit, ip-address)
-
-## [2.9.2] - 2026-03-08
-
-### Architecture Refactoring
-
-- **VectorSearchAdapter** (Strategy pattern) — decouples vector search from sqlite-vec
- - `SqliteVecAdapter`: sqlite-vec implementation (pinned to v0.1.3 stable)
- - `InMemoryVectorAdapter`: pure TypeScript implementation for testing without native deps
- - KnowledgeGraph now uses injected adapter instance instead of static VectorExtension
-- **ToolHandlers decomposition** — split 922-line monolith into 3 focused sub-handlers
- - `MemoryToolHandler`: entity/relation/recall/mistake operations
- - `SystemToolHandler`: skills, uninstall, test generation
- - `HookToolHandler`: hook tool-use tracking
- - ToolHandlers.ts reduced to ~130-line facade
-- **KGSearchEngine** — extracted FTS5, semantic, and hybrid search from KnowledgeGraph
-- **MemorySearchEngine** — extracted search/filter/rank/dedup from UnifiedMemoryStore
-- **GitCommandParser** — extracted git command detection from HookIntegration
-- **StdinBufferManager** — extracted stdin buffering from server-bootstrap.ts
-
-### Performance
-
-- **Embedding LRU cache** — 500-entry cache eliminates redundant ONNX inference
-- **Batch transactions** — `createEntitiesBatch()` wraps N inserts in single transaction
-- **ONNX preloading** — daemon mode preloads model in background (eliminates 10-20s cold start)
-- **encodeBatch parallelization** — texts encoded in parallel chunks of 10
-
-### Fixed
-
-- Global `unhandledRejection` and `uncaughtException` handlers in server-bootstrap
-- Embedding failure log level upgraded from DEBUG to WARN
-- Socket cleanup in `StdioProxyClient.connectToDaemon()` error path
-- Duplicate `CONTROL_CHAR_PATTERN` constant unified
-- Duplicate `uncaughtException` handler prevented in daemon mode
-- StdinBufferManager catch block now logs errors instead of silent swallow
-
-### Removed
-
-- 6 unused npm dependencies (ink, ink-spinner, multer, cors, form-data, log-update)
-- 4 dead utility modules (money.ts, toonify-adapter.ts, toonify.ts, tracing/middleware.ts)
-- Unused AgentRegistry injection from ToolHandlers
-
-### Documentation
-
-- Added project CLAUDE.md with mandatory documentation-code synchronization rules
-- Updated ARCHITECTURE.md to reflect all architectural changes
-- Fixed embedding model references (bge-small-en-v1.5 → all-MiniLM-L6-v2)
-
-## [2.9.1] - 2026-03-01
-
-### Security
-
-- Updated plugin dependencies to resolve Dependabot alerts
-- Removed orphaned dist files and scripts from previously removed features
-
-## [2.9.0] - 2026-02-25
+MeMesh transforms from memory database to **cognitive middleware** — memory that auto-injects, auto-captures, auto-cleans, and auto-improves.
### Added
-
-- **Claude Code Hooks System** - 7 hooks for session lifecycle automation
- - `pre-tool-use`: Smart routing (model selection per task type), planning enforcement (SDD+BDD template), dry-run gate (untested code warning), code review reminder
- - `post-tool-use`: Pattern detection (EDIT_WITHOUT_READ, GIT_WORKFLOW, FRONTEND_WORK), anomaly detection, session state tracking
- - `post-commit`: Saves commit metadata to knowledge graph
- - `subagent-stop`: Captures code review findings to knowledge graph
- - `session-start`: Cache-first memory recall with SQLite fallback, CLAUDE.md reload
- - `stop`: Session archiving, key point extraction, pattern analysis
- - `hook-utils`: Shared utilities (sqliteQuery, sqliteBatch, sqliteBatchEntity, readStdin)
- - 15 automated tests via custom test harness
-- **`memesh-metrics` MCP Tool** - Exposes session, routing, and memory metrics
- - Session: modified files, tested files, code review status
- - Routing: active model rules, planning enforcement, audit log
- - Memory: knowledge graph size and status
-- **Semantic Search** - KnowledgeGraph now supports vector similarity search via sqlite-vec
- - `semanticSearch()`: Vector search with FTS5 keyword fallback
- - `hybridSearch()`: Combines keyword and vector results, deduplicates by entity name
- - Async embedding generation via `Xenova/all-MiniLM-L6-v2`
- - Keyword fallback uses 0.5 similarity (not 1.0) for honest scoring
-- **Smart Task Analysis in `buddy-do`** - Detects task type (bug-fix, feature, refactor, test, performance, security), extracts metadata (goal, reason, expected outcome), queries related context from knowledge graph
-- **Bundled Skill: `comprehensive-code-review`** - Included in `scripts/skills/`
-- **Cloud-Only Fallback Mode** - MCP server can now run without local SQLite when better-sqlite3 is unavailable but MEMESH_API_KEY is configured (#73, #74)
- - Three-mode architecture: Standard (SQLite) / Cloud-Only (API key) / Error (neither)
- - Graceful degradation for Claude Desktop Cowork environments
- - Added 13 comprehensive tests for cloud-only mode (4 unit + 9 integration)
-- **Claude Desktop Cowork Documentation** - Guide at `docs/COWORK_SUPPORT.md` (#75)
-- **BuddyHandlers Test Coverage** - 9 unit tests covering all buddy commands (#19)
-- **Enhanced .gitignore** - Multi-platform patterns for macOS, Windows, Linux, IDEs (#21)
+- **Recall Effectiveness Tracking** — `recall_hits`/`recall_misses` columns track whether injected memories are actually used by the AI. Session-start hook records injected entity IDs; Stop hook checks transcript for usage and updates hit/miss counts. `/v1/analytics` returns overall hit rate, top effective, and most ignored memories.
+- **Continuous Recall (PreToolUse hook)** — New `pre-edit-recall.js` hook triggers on Edit/Write. Queries MeMesh for entities matching the file being edited (tag-based + FTS5 search). Throttled to max 1 recall per file per session. 5 hooks total now.
+- **BYOK Embedding** — Multi-provider embedding support: OpenAI `text-embedding-3-small` (1536-dim), Ollama embedding models (768-dim), ONNX fallback (384-dim). Anthropic has no embedding API — correctly falls back to ONNX. Auto dimension migration: stores dim in metadata, drops/recreates `entities_vec` on provider change.
+- **Auto-Tagging with LLM** — When `remember()` is called without tags and LLM is configured, generates 2-5 tags (project:, topic:, tech:, severity:, scope:) via LLM. Fire-and-forget: doesn't block the sync remember call.
+- **Noise Filter** — `compressWeeklyNoise()` groups auto-tracked entities (session_keypoint, commit, session-insight) older than 7 days by ISO week, creates weekly summary entities, archives originals. Threshold: 20+ per week. Never touches decisions, patterns, lessons, or intentional knowledge. Throttled to once per 24h.
+- **Memory Impact Score** — Laplace-smoothed `(recall_hits+1)/(recall_hits+recall_misses+2)` as 6th scoring factor (10% weight). Entities with high recall effectiveness rise in search results; ignored entities fade.
+- **RecallEffectiveness dashboard component** — Stats row (effectiveness %, hits, misses, tracked) + bar charts for top/bottom entities. i18n across all 11 locales.
+- Skills rewritten to CLI-first with hooks documentation and auto-detect flow (MCP → CLI → npx fallback)
### Changed
+- Scoring weights rebalanced: searchRelevance 0.30 (was 0.35), frequency 0.15 (was 0.20), new impact 0.10
+- `Capabilities.embeddings` correctly reports `onnx` when provider is Anthropic (was incorrectly reporting `anthropic`)
+- Circular dependency between db.ts and embedder.ts resolved — `getEmbeddingDimension()` moved to config.ts
+- 445 tests across 29 test files (up from 408/26)
+- 5 hooks (up from 4): added PreToolUse for continuous recall
+- Dashboard: 124KB (up from 107KB, new RecallEffectiveness component + i18n)
-- **Server Bootstrap** - Structured error handling with error classification (permission, disk, socket) and actionable recovery hints
-- **StdioProxyClient** - Buffer overflow handling, proper listener cleanup on connection failure
-- **Dependencies Update** - Updated 15/17 packages to latest versions (#68)
- - @types/node, @typescript-eslint/*, ajv, dotenv, glob, ink, inquirer, onnxruntime-node, typedoc, and more
- - Note: eslint 10.0.0 blocked (typescript-eslint incompatibility)
-
-### Fixed
-
-- **`getEntity()` Exact Match** - Now uses direct SQL `WHERE name = ?` instead of FTS5 fuzzy search that could return wrong entity
-- **`post-commit` Hook Exit Code** - Changed from `exit(1)` to `exit(0)` to never block Claude Code on hook errors
-- **Entity Name Collision** - `subagent-stop` entity names now include timestamp to prevent UNIQUE constraint failures on multiple reviews per day
-- **`sqliteQuery` Error Handling** - Returns `null` on error instead of empty string, allowing callers to distinguish errors from empty results
-- **`sqliteBatch` Orphan Prevention** - Propagates errors; `sqliteBatchEntity` cleans up orphaned entities when batch fails
-- **Error Logging** - `initVectorSearch` and `deleteEntity` catch blocks now log error context instead of silently discarding
-- **Metrics Tool** - Uses PathResolver for DB path (supports custom data directories), `os.homedir()` fallback, bounded audit log read (256KB)
-- **`UnifiedMemoryStore.update()` Race Condition** - Returns `false` on concurrent delete instead of creating phantom data
-- **Session File Growth** - `post-tool-use` toolCalls array capped at 1000 entries
-- **Windows Compatibility** - `pre-tool-use` uses `fileURLToPath()` instead of `URL.pathname`
-- **`readStdin` Performance** - Fast-path for already-closed stdin avoids 3-second timeout
-- **Hybrid Search Scoring** - Keyword fallback uses `similarity: 0.5` instead of `1.0` for honest scoring in merge
-- **Cloud-Only Mode Error Handling** - Fixed `handleHookToolUse` to check for cloud-only mode before accessing memory systems
-
-### Technical
-
-- **Server Architecture** - Modified `ServerInitializer` to support three initialization modes
-- **Type Safety** - Changed all optional memory systems from `null` to `undefined` for TypeScript consistency
-- **Test Coverage** - 1817 unit tests + 15 hook tests (100% passing)
-- **Code Quality** - Three rounds of comprehensive code review, all CRITICAL and MAJOR issues resolved
-- **Refactored `subagent-stop`** - Uses `sqliteBatchEntity` (3 spawns) instead of individual `sqliteQuery` calls (N+2 spawns)
-
-**Issues Resolved**: #73 (cloud-only mode), #74 (Phase 2), #75 (docs), #68 (deps), #19 (tests), #21 (.gitignore)
-
-## [2.8.10] - 2026-02-14
-
-### Documentation
-
-- Added comprehensive development guide at `docs/DEVELOPMENT.md` covering prerequisites, setup, development workflow, testing strategy, MCP server debugging, common tasks, troubleshooting, and best practices
-- Added "Real-World Examples" section to `docs/USER_GUIDE.md` with three multi-day project scenarios demonstrating cross-session memory and context preservation
-- Set up TypeDoc for auto-generated API documentation with GitHub Actions deployment to GitHub Pages
-- Added `typedoc.json` configuration to generate API docs to `api-docs/` directory
-- Created `.github/workflows/deploy-docs.yml` for automatic API documentation deployment
-- Updated `README.md` with links to new Development Guide and API Reference
-- Updated `.gitignore` to exclude auto-generated `api-docs/` directory
-
-### Fixed
-
-- **Project Memory Isolation**: Fixed `buddy-remember` to isolate memories by project, preventing cross-project memory mixing
- - Added `allProjects` parameter to `buddy-remember` tool (default: `false`, searches only current project + global memories)
- - Modified `ProjectMemoryManager.search()` to filter by `scope:project` and `scope:global` tags
- - Updated `keywordSearch()`, `semanticSearch()`, and `hybridSearch()` to support project filtering
- - Memories are now tagged with `scope:project` (via `AutoTagger`) when stored with `projectPath` context
- - Use `buddy-remember "query" allProjects=true` to search across all projects when needed
-
-**Issues Resolved**: #70, #69, #17
-
-## [2.8.9] - 2026-02-12
-
-### Documentation
-
-- Fixed outdated version numbers across all docs (2.8.0/2.8.3 → 2.8.8)
-- Replaced remaining "smart routing" and "intelligent task routing" references with accurate descriptions
-- Fixed MCP config path in ARCHITECTURE.md (`~/.config/claude/` → `~/.claude/mcp_settings.json`)
-- Prioritized `npm install -g @pcircle/memesh` as recommended installation method in all guides
-- Updated repo metadata (GitHub description, topics, keywords)
-- Fixed outdated paths, dead links, and wrong package names across docs
-- Rebuilt CHANGELOG with complete v2.0.0–v2.8.8 history
-
-### Fixed
-
-- Fixed `release.sh` `head -n -1` incompatibility on macOS
-
-## [2.8.8] - 2026-02-12
-
-### Documentation
-
-- Rewrote README with user-first design — reorganized around user journey (Install → Verify → Use → Troubleshoot)
-- Added prerequisites section, inline troubleshooting, removed jargon
-- Removed vibe coder branding, improved issue reporting links
-
-### Fixed
-
-- Resolved remaining GitHub code scanning alerts
-- Removed unused imports
-
-## [2.8.7] - 2026-02-12
-
-### Fixed
-
-- Resolved all 18 GitHub code scanning alerts (insecure temp files, TOCTOU races, unused code)
-- Removed unused `afterEach` import in login.test.ts
-
-### Repository
-
-- Dismissed 3 medium alerts as intentional (cloud sync, credential storage)
-- Resolved 2 secret scanning alerts (test dummy values in deleted files)
-- Cleaned up 3 stale branches (develop, feature/memesh-login, fix/device-auth-tier1-security)
-
-## [2.8.6] - 2026-02-12
-
-### Fixed
-
-- **Hooks DB Path** - Resolved hooks silently failing due to hardcoded legacy path
- - Hooks now use PathResolver logic: checks `~/.memesh/` first, falls back to `~/.claude-code-buddy/`
- - Session-start, post-tool-use, and stop hooks now correctly access the active knowledge graph
-- **MCP Connection** - Fixed invalid marketplace source type preventing Claude Code from connecting
- - Changed source type from invalid `'local'` to correct `'directory'` in all installation scripts
- - Updated TypeScript type definition to include all valid source types
-
-### Security
-
-- Resolved GitHub code scanning alerts (insecure temp files, TOCTOU race conditions, unused code)
-
-## [2.8.5] - 2026-02-12
-
-### Fixed
-
-- **Plugin Installation via npm install** - Complete installation flow with backward compatibility
- - Fixed marketplace registration not happening during npm install (only happened during build)
- - Users installing via `npm install -g @pcircle/memesh` now get a fully functional plugin
- - Auto-detects install mode (global vs local dev)
- - Auto-repairs legacy v2.8.4/v2.8.3 installations on first run
- - Comprehensive plugin configuration:
- - Registers marketplace in `~/.claude/plugins/known_marketplaces.json`
- - Creates symlink to `~/.claude/plugins/marketplaces/pcircle-ai`
- - Enables plugin in `~/.claude/settings.json`
- - Configures MCP server in `~/.claude/mcp_settings.json`
- - Fixed pre-deployment check treating plugin as standalone MCP server
-
-### Technical
-
-- Implemented TDD with 20 tests (10 unit + 9 integration, 100% passing)
-- Created `scripts/postinstall-lib.ts` with core installation functions
-- Fixed ESM compatibility issues (replaced `__dirname` with proper ESM patterns)
-
-## [2.8.4] - 2026-02-10
-
-### Added
-
-- **Device Auth Login** - `memesh login` / `memesh logout` CLI commands with device auth flow
-- Secure stdin input for manual API key entry
-
-## [2.8.3] - 2026-02-09
-
-### Fixed
-
-- **Version Reporting** - MCP server now correctly reports version from package.json instead of hardcoded "2.6.6"
- - Replaced import assertion syntax with `fs.readFileSync` for cross-environment compatibility
-
-## [2.8.2] - 2026-02-08
+## [3.2.1] — 2026-04-19
### Added
-
-- **WCAG AA Compliance** - Color contrast verification following WCAG 2.1 Level AA
-- **Screen Reader Support** - JSON event emission via `MEMESH_SCREEN_READER=1` environment variable
-- Accessibility documentation at `docs/ACCESSIBILITY.md`
-- Contrast verification script: `npm run verify:contrast`
-
-## [2.8.1] - 2026-02-08
+- **Precision Engineer Design System** — Satoshi + Geist Mono fonts, cyan accent `#00D6B4`, compact 4px spacing, `DESIGN.md` as single source of truth
+- **Analytics Insights Dashboard** — Memory Health Score (0-100) with 4 weighted factors, 30-day memory timeline (canvas sparkline), value metrics (recalls, lessons learned/applied), knowledge coverage with percentage bars, cleanup suggestions with one-click archive
+- **Interactive Knowledge Graph** — type filter checkboxes, search with highlight and auto-center, ego graph mode, recency heatmap, orphan detection, physics cooling
+- **Feedback Widget** — bug/feature/question selector with system info toggle, pre-fills GitHub issues
+- New `GET /v1/analytics` backend endpoint
+- i18n: ~50 new keys across all 11 locales
### Fixed
-
-- **Build Artifacts Cleanup** - Removed legacy secret-types files from build output
- - Cleaned up `dist/memory/types/secret-types.*` files deprecated in v2.8.0
- - No functional changes - purely build artifact cleanup
-
-## [2.8.0] - 2026-02-08
-
-### ⚠️ Breaking Changes
-
-- **MCP Tool Naming Unification** - All non-core tools now use `memesh-*` prefix
- - `buddy-record-mistake` → `memesh-record-mistake`
- - `create-entities` → `memesh-create-entities`
- - `hook-tool-use` → `memesh-hook-tool-use`
- - `generate-tests` → `memesh-generate-tests`
-
- **Migration**: Old tool names were removed in v2.11.0.
-
-### Added
-
-- **Vector Semantic Search** - Find memories by meaning, not just keywords
- - `buddy-remember` supports `mode`: `semantic`, `keyword`, `hybrid` (default)
- - `minSimilarity` parameter for quality filtering (0-1 threshold)
- - Uses all-MiniLM-L6-v2 ONNX model (384 dimensions, runs 100% locally)
- - Backfill script for existing entities: `npm run backfill-embeddings`
-- **Alias System** - Backward compatibility for renamed tools with deprecation warnings
-
-### Removed
-
-- **A2A Local Collaboration** - Simplified to local-first architecture
- - Removed 35 A2A-related files (daemon, socket server, distributed task queue)
- - Focus on single-agent local memory management
-
-### Changed
-
-- **Tool Count**: 18 → **8 tools** (3 buddy commands + 4 memesh tools + 1 cloud sync)
-
-### Technical
-
-- New `src/embeddings/` module with ModelManager, EmbeddingService, VectorExtension
-- Added sqlite-vec, onnxruntime-node, @xenova/transformers dependencies
-- ToolRouter with alias resolution and deprecation warnings
-
-## [2.7.0] - 2026-02-04
-
-### Added
-- Daemon socket cleanup on exit/crash - prevents stale socket issues
-- Exception handlers (uncaughtException, unhandledRejection) for graceful daemon shutdown
+- SQLite datetime comparison fix (proper `datetime()` function instead of text comparison)
### Changed
-- **Memory retention periods**: Session 7→30 days, Project 30→90 days
-- Auto-memory hooks improvements
-
-### Fixed
-- Stale daemon socket causing MCP connection failures in new sessions
-
-## [2.6.6] - 2026-02-03
+- Zero `as any` type casts in dashboard
+- 408 tests passing across 26 test files
-### Fixed
-- GitHub Actions npm publish workflow - replaced invalid GitHub API method with logging
-
-## [2.6.5] - 2026-02-03
+## [3.2.0] — 2026-04-18
### Added
-- Enhanced post-install messaging with quick-start guide
-- Unified getting-started guide (docs/GETTING_STARTED.md)
-- Comprehensive PathResolver tests (47 tests, 100% coverage)
-- Professional error formatting with category badges
+- **Neural Embeddings** — Xenova/all-MiniLM-L6-v2 (384-dim, ~30MB, local, no API key needed)
+- **Hybrid search** — FTS5 keyword + vector similarity, merged and re-ranked
+- Fire-and-forget async embedding on `remember()` — zero latency impact
+- Graceful fallback to FTS5 when @xenova/transformers unavailable
+- **Dashboard 2.0** — 7 tabs (up from 5): new Graph tab (canvas force-directed, no D3) and Lessons tab (structured lesson cards with severity colors)
### Fixed
-- **Critical**: Fixed 4 hardcoded `~/.claude-code-buddy/` paths to use PathResolver
-- Fixed 14 failing errorHandler tests to match new API structure
-
-## [2.6.0] - 2026-01-31
+- **Overwrite import** — now actually replaces old observations (was appending due to reactivation bug)
+- **Namespace export** — filter applied at SQL query level (was post-filtering after LIMIT, causing truncation)
### Changed
-- Code quality improvements
-- Documentation updates
-
-## [2.5.3] - 2026-01-31
-
-### Fixed
-- Bug fixes and stability improvements
-
-## [2.5.2] - 2026-01-31
-
-### Fixed
-- Bug fixes and stability improvements
-
-## [2.5.1] - 2026-01-31
+- 402 tests across 25 test files
+- 14 core modules (+ embedder.ts)
+- 76KB dashboard single-file HTML
+- 1 `as any` remaining (down from 20 in v3.1.0)
-### Fixed
-- Bug fixes and stability improvements
-
-## [2.5.0] - 2026-01-30
-
-### Added
-- Process management tools
-- Internationalization improvements
+## [3.1.1] — 2026-04-17
### Changed
-- Code comments converted to English
-
-## [2.4.2] - 2026-01-30
-
-### Fixed
-- Build configuration issues
-
-## [2.4.1] - 2026-01-30
-
-### Fixed
-- MCP resources distribution
+- **Module Extraction** — `operations.ts` split from 501 to 236 lines; new `consolidator.ts` and `serializer.ts`
+- **N+1 query fix** — `getEntitiesByIds()` batch hydration (4 queries instead of 400+ for limit=100)
+- **Type Safety** — `as any` casts: 20 to 1 (95% elimination); new typed interfaces for DB rows and LLM responses
+- **Input Validation** — shared Zod schemas (`schemas.ts`) as single source of truth; max lengths enforced
+- API key masked in `/v1/config` capabilities response
+- `updateConfig()` deep-merges LLM config (preserves apiKey on partial updates)
+- Express body limit: 1MB
+- 396 tests across 24 test files
-## [2.4.0] - 2026-01-30
+## [3.1.0] — 2026-04-17
### Added
-- Enhanced testing system
-- Hook integration improvements
-
-## [2.3.1] - 2026-01-30
+- **Self-Improving Memory** — LLM-powered failure analysis in Stop hook automatically extracts root cause, fix, and prevention into structured `lesson_learned` entities
+- **Proactive warnings** — session-start hook surfaces known lessons for the current project
+- **`learn` tool** — 7th MCP tool for explicitly recording lessons across all 3 transports
+- **Upsert dedup** — same error pattern across sessions updates existing lessons instead of creating duplicates
+- New modules: `failure-analyzer.ts`, `lesson-engine.ts`
### Fixed
-- MCP server lifecycle
-- Verification script updates
-
-## [2.3.0] - 2026-01-30
-
-### Added
-- NPM package support
+- API key in `/v1/config` capabilities response is now masked
+- `updateConfig()` deep-merges LLM config to preserve API key on partial updates
### Changed
-- Installation improvements
-
-## [2.2.1] - 2026-01-30
+- 348 tests across 20 test files
+- 7 MCP tools, 11 core modules, 3 transports, 4 hooks
-### Fixed
-- MCP stdio communication
-- Build process improvements
-
-## [2.2.0] - 2026-01-20
+## [3.0.1] — 2026-04-17
### Added
-- Evidence-based guardrails
-- Quality gates
+- **Built-in Skills** — `/memesh` (proactive memory management) and `/memesh-review` (cleanup recommendations)
+- **Dashboard Rebuild** — Preact + Vite architecture, dark theme, 5 tabs
+- Content quality improvements: filter system tags from Analytics, pagination in Browse, meaningful memory previews
+- Marketing-grade README redesign with dashboard screenshots
-### Changed
-- Improved E2E test reliability
-
-## [2.0.0] - 2026-01-01
+## [3.0.0] — 2026-04-17
### Added
-- Initial MCP server implementation
-- Core memory management
-- Knowledge graph storage
+- **Universal AI Memory Layer** — complete rewrite
+- **6 MCP Tools** — remember, recall, forget, consolidate, export, import
+- **3 Transports** — CLI + HTTP REST API + MCP
+- **Smart Recall** — multi-factor scoring + LLM query expansion (97% R@5)
+- **Knowledge Evolution** — soft-archive, supersedes, reactivation (never deletes)
+- **Session Auto-Capture** — 4 hooks capture knowledge automatically
+- **Interactive Dashboard** — Preact + Vite, 5 tabs, dark theme
+- 289 tests across 17 test files
+
+## v2.x Releases
+
+- **2.16.0** — Interactive Dashboard
+- **2.15.0** — Smart Recall
+- **2.14.0** — Session Auto-Capture
+- **2.13.0** — Core Refactor
+- **2.11.0** — Minimal core rewrite (50+ files to 5, 26 deps to 3)
+- **2.10.x** — Streamlit Visual Explorer, auto-relation inference
+- **2.9.x** — Proactive recall, vector search, architecture refactoring
+- **2.8.x** — Device auth, semantic search, hooks system, accessibility
+- **2.7.0** — Daemon socket cleanup, memory retention improvements
+- **2.6.x** — PathResolver, error formatting, npm publish fixes
+- **2.0.0–2.5.x** — Initial MCP server, knowledge graph, process management
---
-
-For detailed changes, see the [commit history](https://github.com/PCIRCLE-AI/memesh-llm-memory/commits/main).
+_Note: The GitHub repository is [PCIRCLE-AI/memesh-llm-memory](https://github.com/PCIRCLE-AI/memesh-llm-memory). The npm package is [@pcircle/memesh](https://www.npmjs.com/package/@pcircle/memesh)._
diff --git a/README.de.md b/README.de.md
index f3732d4b..8bd3d2b9 100644
--- a/README.de.md
+++ b/README.de.md
@@ -11,7 +11,6 @@
-
@@ -62,6 +61,10 @@ memesh
+
+
+
+
---
## Für Wen ist Das?
@@ -122,7 +125,7 @@ Tools in jeden API-Aufruf einfügen
| **Einrichtung** | `npm i -g` — fertig | Neo4j + VectorDB + API-Schlüssel | Neo4j + Konfiguration |
| **Speicherung** | Einzelne SQLite-Datei | Neo4j + Qdrant | Neo4j |
| **Offline nutzbar** | Ja, immer | Nein | Nein |
-| **Dashboard** | Integriert (5 Tabs) | Keins | Keins |
+| **Dashboard** | Integriert (7 Tabs + Analytik) | Keins | Keins |
| **Abhängigkeiten** | 6 | 20+ | 10+ |
| **Preis** | Dauerhaft kostenlos | Kostenlose Stufe / Kostenpflichtig | Kostenlose Stufe / Kostenpflichtig |
@@ -136,15 +139,31 @@ Du musst nicht alles manuell merken. MeMesh hat **4 Hooks**, die Wissen erfassen
| Wann | Was MeMesh tut |
|------|------------------|
-| **Zu Beginn jeder Session** | Lädt deine relevantesten Erinnerungen (nach Scoring-Algorithmus gerankt) |
+| **Zu Beginn jeder Session** | Lädt deine relevantesten Erinnerungen + proaktive Warnungen aus früheren Lektionen |
| **Nach jedem `git commit`** | Erfasst was du geändert hast, mit Diff-Statistiken |
-| **Wenn Claude beendet** | Erfasst bearbeitete Dateien, behobene Fehler und getroffene Entscheidungen |
+| **Wenn Claude beendet** | Erfasst bearbeitete Dateien, behobene Fehler und generiert automatisch strukturierte Lektionen aus Fehlern |
| **Vor der Kontextkomprimierung** | Sichert Wissen, bevor es durch Kontextgrenzen verloren geht |
> **Jederzeit deaktivierbar:** `export MEMESH_AUTO_CAPTURE=false`
---
+## Dashboard
+
+7 Tabs, 11 Sprachen, null externe Abhängigkeiten. Zugriff über `http://localhost:3737/dashboard` wenn der Server läuft.
+
+| Tab | Was du siehst |
+|-----|---------------|
+| **Search** | Volltextsuche + Vektor-Ähnlichkeitssuche über alle Erinnerungen |
+| **Browse** | Paginierte Liste aller Entitäten mit Archivierung/Wiederherstellung |
+| **Analytics** | Memory Health Score (0-100), 30-Tage-Timeline, Wert-Metriken, Wissensabdeckung, Aufräum-Vorschläge, deine Arbeitsmuster |
+| **Graph** | Interaktiver kräftebasierter Wissensgraph mit Typfiltern, Suche, Ego-Modus, Aktualitäts-Heatmap |
+| **Lessons** | Strukturierte Lektionen aus vergangenen Fehlern (Fehler, Ursache, Fix, Prävention) |
+| **Manage** | Entitäten archivieren und wiederherstellen |
+| **Settings** | LLM-Anbieter-Konfiguration, Sprachauswahl |
+
+---
+
## Intelligente Funktionen
**🧠 Smart Search** — Suche nach „login security" und finde Erinnerungen über „OAuth PKCE". MeMesh erweitert Suchanfragen mit verwandten Begriffen über das konfigurierte LLM.
@@ -183,7 +202,7 @@ memesh # öffnet Dashboard → Einstellungs-Tab
---
-## Alle 6 Gedächtnis-Tools
+## Alle 8 Gedächtnis-Tools
| Tool | Funktion |
|------|-------------|
@@ -193,6 +212,8 @@ memesh # öffnet Dashboard → Einstellungs-Tab
| `consolidate` | LLM-gestützte Komprimierung ausführlicher Erinnerungen |
| `export` | Teilt Erinnerungen als JSON zwischen Projekten oder Teammitgliedern |
| `import` | Importiert Erinnerungen mit Zusammenführungsstrategien (überspringen / überschreiben / anhängen) |
+| `learn` | Strukturierte Lektionen aus Fehlern aufzeichnen (Fehler, Ursache, Fix, Prävention) |
+| `user_patterns` | Analysiere deine Arbeitsmuster — Zeitplan, Tools, Stärken, Lernbereiche |
---
@@ -201,7 +222,7 @@ memesh # öffnet Dashboard → Einstellungs-Tab
```
┌─────────────────┐
│ Core Engine │
- │ (6 operations) │
+ │ (8 operations) │
└────────┬────────┘
┌─────────────────┼─────────────────┐
│ │ │
@@ -222,7 +243,7 @@ Der Kern ist framework-unabhängig. Dieselbe Logik läuft vom Terminal, HTTP ode
```bash
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
cd memesh-llm-memory && npm install && npm run build
-npm test -- --run # 289 tests
+npm test -- --run # 413 tests
```
Dashboard: `cd dashboard && npm install && npm run dev`
diff --git a/README.es.md b/README.es.md
index ca6598c9..c8b13bb4 100644
--- a/README.es.md
+++ b/README.es.md
@@ -11,7 +11,6 @@
-
@@ -62,6 +61,10 @@ memesh
+
+
+
+
---
## ¿Para Quién Es?
@@ -122,7 +125,7 @@ Pega las herramientas en cualquier llamada a la API
| **Configuración** | `npm i -g` — listo | Neo4j + VectorDB + claves API | Neo4j + config |
| **Almacenamiento** | Archivo SQLite único | Neo4j + Qdrant | Neo4j |
| **Funciona sin conexión** | Sí, siempre | No | No |
-| **Panel** | Integrado (5 pestañas) | Ninguno | Ninguno |
+| **Panel** | Integrado (7 pestañas + analytics) | Ninguno | Ninguno |
| **Dependencias** | 6 | 20+ | 10+ |
| **Precio** | Gratis para siempre | Plan gratuito / De pago | Plan gratuito / De pago |
@@ -136,15 +139,31 @@ No necesitas recordar todo manualmente. MeMesh tiene **4 hooks** que capturan co
| Cuándo | Qué hace MeMesh |
|------|------------------|
-| **Al inicio de cada sesión** | Carga tus recuerdos más relevantes (clasificados por algoritmo de puntuación) |
+| **Al inicio de cada sesión** | Carga tus recuerdos más relevantes + advertencias proactivas de lecciones pasadas |
| **Tras cada `git commit`** | Registra lo que cambiaste, con estadísticas del diff |
-| **Cuando Claude se detiene** | Captura archivos editados, errores corregidos y decisiones tomadas |
+| **Cuando Claude se detiene** | Captura archivos editados, errores corregidos y genera automáticamente lecciones estructuradas a partir de fallos |
| **Antes de la compactación de contexto** | Guarda el conocimiento antes de que se pierda por los límites del contexto |
> **Desactívalo cuando quieras:** `export MEMESH_AUTO_CAPTURE=false`
---
+## Panel de Control
+
+7 pestañas, 11 idiomas, cero dependencias externas. Accede en `http://localhost:3737/dashboard` cuando el servidor esté activo.
+
+| Pestaña | Qué ves |
+|---------|---------|
+| **Search** | Búsqueda de texto completo + similitud vectorial en todas las memorias |
+| **Browse** | Lista paginada de todas las entidades con archivado/restauración |
+| **Analytics** | Puntuación de Salud de Memoria (0-100), timeline de 30 días, métricas de valor, cobertura de conocimiento, sugerencias de limpieza, tus patrones de trabajo |
+| **Graph** | Grafo de conocimiento interactivo dirigido por fuerzas con filtros de tipo, búsqueda, modo ego, mapa de calor de recencia |
+| **Lessons** | Lecciones estructuradas de fallos pasados (error, causa raíz, corrección, prevención) |
+| **Manage** | Archivar y restaurar entidades |
+| **Settings** | Configuración del proveedor LLM, selector de idioma |
+
+---
+
## Funcionalidades Inteligentes
**🧠 Búsqueda Inteligente** — Busca "login security" y encuentra recuerdos sobre "OAuth PKCE". MeMesh expande las consultas con términos relacionados usando el LLM configurado.
@@ -183,7 +202,7 @@ memesh # abre el panel → pestaña Configuración
---
-## Las 6 Herramientas de Memoria
+## Las 8 Herramientas de Memoria
| Herramienta | Qué hace |
|------|-------------|
@@ -193,6 +212,8 @@ memesh # abre el panel → pestaña Configuración
| `consolidate` | Compresión de memorias extensas asistida por LLM |
| `export` | Comparte memorias como JSON entre proyectos o miembros del equipo |
| `import` | Importa memorias con estrategias de fusión (omitir / sobrescribir / añadir) |
+| `learn` | Registra lecciones estructuradas a partir de errores (error, causa raíz, corrección, prevención) |
+| `user_patterns` | Analiza tus patrones de trabajo — horario, herramientas, fortalezas, áreas de aprendizaje |
---
@@ -201,7 +222,7 @@ memesh # abre el panel → pestaña Configuración
```
┌─────────────────┐
│ Core Engine │
- │ (6 operations) │
+ │ (8 operations) │
└────────┬────────┘
┌─────────────────┼─────────────────┐
│ │ │
@@ -222,7 +243,7 @@ El núcleo es independiente del framework. La misma lógica se ejecuta desde el
```bash
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
cd memesh-llm-memory && npm install && npm run build
-npm test -- --run # 289 tests
+npm test -- --run # 413 tests
```
Panel: `cd dashboard && npm install && npm run dev`
diff --git a/README.fr.md b/README.fr.md
index 81d8574e..0ccb868e 100644
--- a/README.fr.md
+++ b/README.fr.md
@@ -11,7 +11,6 @@
-
@@ -62,6 +61,10 @@ memesh
+
+
+
+
---
## Pour Qui Est-ce Fait ?
@@ -122,7 +125,7 @@ Collez les outils dans n'importe quel appel API
| **Configuration** | `npm i -g` — terminé | Neo4j + VectorDB + clés API | Neo4j + config |
| **Stockage** | Fichier SQLite unique | Neo4j + Qdrant | Neo4j |
| **Fonctionne hors ligne** | Oui, toujours | Non | Non |
-| **Tableau de bord** | Intégré (5 onglets) | Aucun | Aucun |
+| **Tableau de bord** | Intégré (7 onglets + analytiques) | Aucun | Aucun |
| **Dépendances** | 6 | 20+ | 10+ |
| **Prix** | Gratuit à vie | Offre gratuite / Payant | Offre gratuite / Payant |
@@ -136,15 +139,31 @@ Inutile de tout mémoriser manuellement. MeMesh dispose de **4 hooks** qui captu
| Quand | Ce que fait MeMesh |
|------|------------------|
-| **Au démarrage de chaque session** | Charge vos souvenirs les plus pertinents (classés par algorithme de scoring) |
+| **Au démarrage de chaque session** | Charge vos souvenirs les plus pertinents + avertissements proactifs des leçons passées |
| **Après chaque `git commit`** | Enregistre ce que vous avez modifié, avec les statistiques de diff |
-| **Quand Claude s'arrête** | Capture les fichiers édités, les erreurs corrigées et les décisions prises |
+| **Quand Claude s'arrête** | Capture les fichiers édités, les erreurs corrigées et génère automatiquement des leçons structurées à partir des échecs |
| **Avant la compaction du contexte** | Sauvegarde les connaissances avant qu'elles se perdent dans les limites du contexte |
> **Désactivez à tout moment :** `export MEMESH_AUTO_CAPTURE=false`
---
+## Tableau de Bord
+
+7 onglets, 11 langues, zéro dépendance externe. Accessible à `http://localhost:3737/dashboard` lorsque le serveur tourne.
+
+| Onglet | Ce que vous voyez |
+|--------|-------------------|
+| **Search** | Recherche plein texte + similarité vectorielle sur tous les souvenirs |
+| **Browse** | Liste paginée de toutes les entités avec archivage/restauration |
+| **Analytics** | Score de Santé Mémoire (0-100), timeline 30 jours, métriques de valeur, couverture des connaissances, suggestions de nettoyage, vos habitudes de travail |
+| **Graph** | Graphe de connaissances interactif dirigé par forces avec filtres de type, recherche, mode ego, carte thermique de récence |
+| **Lessons** | Leçons structurées tirées des échecs passés (erreur, cause racine, correction, prévention) |
+| **Manage** | Archiver et restaurer des entités |
+| **Settings** | Configuration du fournisseur LLM, sélecteur de langue |
+
+---
+
## Fonctionnalités Intelligentes
**🧠 Recherche Intelligente** — Cherchez « login security » et trouvez des souvenirs sur « OAuth PKCE ». MeMesh élargit les requêtes avec des termes connexes via le LLM configuré.
@@ -183,7 +202,7 @@ memesh # ouvre le tableau de bord → onglet Paramètres
---
-## Les 6 Outils Mémoire
+## Les 8 Outils Mémoire
| Outil | Ce qu'il fait |
|------|-------------|
@@ -193,6 +212,8 @@ memesh # ouvre le tableau de bord → onglet Paramètres
| `consolidate` | Compression de souvenirs verbeux assistée par LLM |
| `export` | Partage les souvenirs en JSON entre projets ou membres d'équipe |
| `import` | Importe des souvenirs avec des stratégies de fusion (ignorer / écraser / ajouter) |
+| `learn` | Enregistre des leçons structurées à partir des erreurs (erreur, cause racine, correction, prévention) |
+| `user_patterns` | Analyse vos habitudes de travail — planning, outils, points forts, axes d'apprentissage |
---
@@ -201,7 +222,7 @@ memesh # ouvre le tableau de bord → onglet Paramètres
```
┌─────────────────┐
│ Core Engine │
- │ (6 operations) │
+ │ (8 operations) │
└────────┬────────┘
┌─────────────────┼─────────────────┐
│ │ │
@@ -222,7 +243,7 @@ Le cœur est indépendant du framework. La même logique s'exécute depuis le te
```bash
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
cd memesh-llm-memory && npm install && npm run build
-npm test -- --run # 289 tests
+npm test -- --run # 413 tests
```
Tableau de bord : `cd dashboard && npm install && npm run dev`
diff --git a/README.ja.md b/README.ja.md
index add8aaca..3130f3e0 100644
--- a/README.ja.md
+++ b/README.ja.md
@@ -11,7 +11,6 @@
-
@@ -62,6 +61,10 @@ memesh
+
+
---
## 누구를 위한 도구인가?
@@ -122,7 +125,7 @@ memesh export-schema \
| **설정 방법** | `npm i -g` — 완료 | Neo4j + VectorDB + API 키 | Neo4j + 설정 |
| **저장소** | SQLite 파일 하나 | Neo4j + Qdrant | Neo4j |
| **오프라인 사용** | 항상 가능 | 불가 | 불가 |
-| **대시보드** | 내장 (5개 탭) | 없음 | 없음 |
+| **대시보드** | 내장 (7개 탭 + 분석) | 없음 | 없음 |
| **의존성** | 6개 | 20개 이상 | 10개 이상 |
| **가격** | 영구 무료 | 무료 티어 / 유료 | 무료 티어 / 유료 |
@@ -136,15 +139,31 @@ memesh export-schema \
| 언제 | MeMesh가 하는 일 |
|------|------------------|
-| **모든 세션 시작 시** | 스코어링 알고리즘으로 가장 관련성 높은 메모리를 로드 |
+| **모든 세션 시작 시** | 가장 관련성 높은 메모리를 로드 + 과거 교훈으로부터의 사전 경고 |
| **모든 `git commit` 후** | 변경 내용과 diff 통계를 기록 |
-| **Claude 종료 시** | 편집한 파일, 수정한 오류, 내린 결정을 포착 |
+| **Claude 종료 시** | 편집한 파일, 수정한 오류를 포착하고 실패로부터 구조화된 교훈을 자동 생성 |
| **컨텍스트 압축 전** | 컨텍스트 한계로 사라지기 전에 지식을 저장 |
> **언제든 비활성화:** `export MEMESH_AUTO_CAPTURE=false`
---
+## 대시보드
+
+7개 탭, 11개 언어, 외부 의존성 제로. 서버 실행 중 `http://localhost:3737/dashboard`에서 접근.
+
+| 탭 | 내용 |
+|----|------|
+| **Search** | 모든 메모리에 대한 전문 검색 + 벡터 유사도 검색 |
+| **Browse** | 모든 엔티티의 페이지네이션 목록 (아카이브/복원 지원) |
+| **Analytics** | 메모리 건강 점수 (0-100), 30일 타임라인, 가치 지표, 지식 커버리지, 정리 제안, 작업 패턴 |
+| **Graph** | 타입 필터, 검색, 에고 모드, 최신성 히트맵이 있는 인터랙티브 포스 그래프 |
+| **Lessons** | 과거 실패로부터 생성된 구조화된 교훈 (오류, 근본 원인, 수정, 예방) |
+| **Manage** | 엔티티 아카이브 및 복원 |
+| **Settings** | LLM 제공자 설정, 언어 선택 |
+
+---
+
## 스마트 기능
**🧠 스마트 검색** — "login security"를 검색하면 "OAuth PKCE"에 관한 메모리를 찾아냅니다. 설정한 LLM을 이용해 쿼리를 관련 용어로 확장합니다.
@@ -183,7 +202,7 @@ memesh # 대시보드 열기 → 설정 탭
---
-## 전체 6가지 메모리 도구
+## 전체 8가지 메모리 도구
| 도구 | 기능 |
|------|-------------|
@@ -193,6 +212,8 @@ memesh # 대시보드 열기 → 설정 탭
| `consolidate` | LLM 기반 장황한 메모리 압축 |
| `export` | 메모리를 JSON으로 프로젝트 또는 팀원과 공유 |
| `import` | 병합 전략(건너뛰기 / 덮어쓰기 / 추가)을 선택해 메모리 가져오기 |
+| `learn` | 실수로부터 구조화된 교훈 기록 (오류, 근본 원인, 수정, 예방) |
+| `user_patterns` | 작업 패턴 분석 — 일정, 도구, 강점, 학습 영역 |
---
@@ -201,7 +222,7 @@ memesh # 대시보드 열기 → 설정 탭
```
┌─────────────────┐
│ Core Engine │
- │ (6 operations) │
+ │ (8 operations) │
└────────┬────────┘
┌─────────────────┼─────────────────┐
│ │ │
@@ -222,7 +243,7 @@ memesh # 대시보드 열기 → 설정 탭
```bash
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
cd memesh-llm-memory && npm install && npm run build
-npm test -- --run # 289 tests
+npm test -- --run # 413 tests
```
대시보드: `cd dashboard && npm install && npm run dev`
diff --git a/README.md b/README.md
index f3d211c0..99c0b656 100644
--- a/README.md
+++ b/README.md
@@ -11,7 +11,6 @@
-
@@ -59,7 +58,11 @@ memesh
@@ -122,7 +124,7 @@ Paste tools into any API call
| **Setup** | `npm i -g` — done | Neo4j + VectorDB + API keys | Neo4j + config |
| **Storage** | Single SQLite file | Neo4j + Qdrant | Neo4j |
| **Works offline** | Yes, always | No | No |
-| **Dashboard** | Built-in (5 tabs) | None | None |
+| **Dashboard** | Built-in (7 tabs + analytics) | None | None |
| **Dependencies** | 6 | 20+ | 10+ |
| **Price** | Free forever | Free tier / Paid | Free tier / Paid |
@@ -136,15 +138,31 @@ You don't need to manually remember everything. MeMesh has **4 hooks** that capt
| When | What MeMesh does |
|------|------------------|
-| **Every session start** | Loads your most relevant memories (ranked by scoring algorithm) |
+| **Every session start** | Loads your most relevant memories + proactive warnings from past lessons |
| **After every `git commit`** | Records what you changed, with diff stats |
-| **When Claude stops** | Captures files edited, errors fixed, and decisions made |
+| **When Claude stops** | Captures files edited, errors fixed, and auto-generates structured lessons from failures |
| **Before context compaction** | Saves knowledge before it's lost to context limits |
> **Opt out anytime:** `export MEMESH_AUTO_CAPTURE=false`
---
+## Dashboard
+
+7 tabs, 11 languages, zero external dependencies. Access at `http://localhost:3737/dashboard` when the server is running.
+
+| Tab | What you see |
+|-----|-------------|
+| **Search** | Full-text + vector similarity search across all memories |
+| **Browse** | Paginated list of all entities with archive/restore |
+| **Analytics** | Memory Health Score (0-100), 30-day timeline, value metrics, knowledge coverage, cleanup suggestions, your work patterns |
+| **Graph** | Interactive force-directed knowledge graph with type filters, search, ego mode, recency heatmap |
+| **Lessons** | Structured lessons from past failures (error, root cause, fix, prevention) |
+| **Manage** | Archive and restore entities |
+| **Settings** | LLM provider config, language selector |
+
+---
+
## Smart Features
**🧠 Smart Search** — Search "login security" and find memories about "OAuth PKCE". MeMesh expands queries with related terms using your configured LLM.
@@ -159,6 +177,19 @@ You don't need to manually remember everything. MeMesh has **4 hooks** that capt
---
+## Real-World Usage
+
+> "MeMesh remembered that we chose PKCE over implicit flow three weeks ago. When I asked Claude about auth again, it already knew — no re-explaining needed."
+> — **Solo developer, building a SaaS**
+
+> "We export our team's memory every Friday and import it Monday. Everyone's Claude starts the week knowing what the team learned last week."
+> — **3-person startup, shared knowledge base**
+
+> "The dashboard showed me that 90% of my memories were auto-generated session logs. I started using `remember` deliberately for architecture decisions. Game changer."
+> — **Developer who discovered the Analytics tab**
+
+---
+
## Unlock Smart Mode (Optional)
MeMesh works fully offline out of the box. Add an LLM API key to unlock smarter search:
@@ -183,7 +214,7 @@ memesh # opens dashboard → Settings tab
---
-## All 6 Memory Tools
+## All 8 Memory Tools
| Tool | What it does |
|------|-------------|
@@ -193,6 +224,8 @@ memesh # opens dashboard → Settings tab
| `consolidate` | LLM-powered compression of verbose memories |
| `export` | Share memories as JSON between projects or team members |
| `import` | Import memories with merge strategies (skip / overwrite / append) |
+| `learn` | Record structured lessons from mistakes (error, root cause, fix, prevention) |
+| `user_patterns` | Analyze your work patterns — schedule, tools, strengths, learning areas |
---
@@ -201,7 +234,7 @@ memesh # opens dashboard → Settings tab
```
┌─────────────────┐
│ Core Engine │
- │ (6 operations) │
+ │ (8 operations) │
└────────┬────────┘
┌─────────────────┼─────────────────┐
│ │ │
@@ -222,7 +255,7 @@ Core is framework-agnostic. Same logic runs from terminal, HTTP, or MCP.
```bash
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
cd memesh-llm-memory && npm install && npm run build
-npm test -- --run # 289 tests
+npm test -- --run # 413 tests
```
Dashboard: `cd dashboard && npm install && npm run dev`
diff --git a/README.pt.md b/README.pt.md
index c8a90008..cf7ff585 100644
--- a/README.pt.md
+++ b/README.pt.md
@@ -11,7 +11,6 @@
-
@@ -62,6 +61,10 @@ memesh
+
+
+
+
---
## Para Quem É Isso?
@@ -122,7 +125,7 @@ Cole as ferramentas em qualquer chamada de API
| **Configuração** | `npm i -g` — pronto | Neo4j + VectorDB + chaves de API | Neo4j + config |
| **Armazenamento** | Arquivo SQLite único | Neo4j + Qdrant | Neo4j |
| **Funciona offline** | Sim, sempre | Não | Não |
-| **Painel** | Integrado (5 abas) | Nenhum | Nenhum |
+| **Painel** | Integrado (7 abas + analytics) | Nenhum | Nenhum |
| **Dependências** | 6 | 20+ | 10+ |
| **Preço** | Grátis para sempre | Plano gratuito / Pago | Plano gratuito / Pago |
@@ -136,15 +139,31 @@ Você não precisa lembrar de tudo manualmente. O MeMesh possui **4 hooks** que
| Quando | O que o MeMesh faz |
|------|------------------|
-| **Início de cada sessão** | Carrega suas memórias mais relevantes (classificadas por algoritmo de pontuação) |
+| **Início de cada sessão** | Carrega suas memórias mais relevantes + avisos proativos de lições passadas |
| **Após cada `git commit`** | Registra o que você alterou, com estatísticas do diff |
-| **Quando o Claude para** | Captura arquivos editados, erros corrigidos e decisões tomadas |
+| **Quando o Claude para** | Captura arquivos editados, erros corrigidos e gera automaticamente lições estruturadas a partir de falhas |
| **Antes da compactação de contexto** | Salva o conhecimento antes que se perca por limite de contexto |
> **Desative quando quiser:** `export MEMESH_AUTO_CAPTURE=false`
---
+## Painel
+
+7 abas, 11 idiomas, zero dependências externas. Acesse em `http://localhost:3737/dashboard` quando o servidor estiver rodando.
+
+| Aba | O que você vê |
+|-----|---------------|
+| **Search** | Busca full-text + similaridade vetorial em todas as memórias |
+| **Browse** | Lista paginada de todas as entidades com arquivamento/restauração |
+| **Analytics** | Pontuação de Saúde da Memória (0-100), timeline de 30 dias, métricas de valor, cobertura de conhecimento, sugestões de limpeza, seus padrões de trabalho |
+| **Graph** | Grafo de conhecimento interativo dirigido por força com filtros de tipo, busca, modo ego, heatmap de recência |
+| **Lessons** | Lições estruturadas de falhas passadas (erro, causa raiz, correção, prevenção) |
+| **Manage** | Arquivar e restaurar entidades |
+| **Settings** | Configuração do provedor LLM, seletor de idioma |
+
+---
+
## Funcionalidades Inteligentes
**🧠 Busca Inteligente** — Pesquise "login security" e encontre memórias sobre "OAuth PKCE". O MeMesh expande consultas com termos relacionados usando o LLM configurado.
@@ -183,7 +202,7 @@ memesh # abre o painel → aba Configurações
---
-## Todas as 6 Ferramentas de Memória
+## Todas as 8 Ferramentas de Memória
| Ferramenta | O que faz |
|------|-------------|
@@ -193,6 +212,8 @@ memesh # abre o painel → aba Configurações
| `consolidate` | Compressão de memórias longas com auxílio de LLM |
| `export` | Compartilha memórias como JSON entre projetos ou membros da equipe |
| `import` | Importa memórias com estratégias de mesclagem (pular / sobrescrever / anexar) |
+| `learn` | Registra lições estruturadas a partir de erros (erro, causa raiz, correção, prevenção) |
+| `user_patterns` | Analisa seus padrões de trabalho — agenda, ferramentas, pontos fortes, áreas de aprendizado |
---
@@ -201,7 +222,7 @@ memesh # abre o painel → aba Configurações
```
┌─────────────────┐
│ Core Engine │
- │ (6 operations) │
+ │ (8 operations) │
└────────┬────────┘
┌─────────────────┼─────────────────┐
│ │ │
@@ -222,7 +243,7 @@ O núcleo é independente de framework. A mesma lógica é executada a partir do
```bash
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
cd memesh-llm-memory && npm install && npm run build
-npm test -- --run # 289 tests
+npm test -- --run # 413 tests
```
Painel: `cd dashboard && npm install && npm run dev`
diff --git a/README.th.md b/README.th.md
index 97509e6b..d9916efd 100644
--- a/README.th.md
+++ b/README.th.md
@@ -11,7 +11,6 @@
-
@@ -62,6 +61,10 @@ memesh
+
+
---
## Dành Cho Ai?
@@ -122,7 +125,7 @@ Dán tools vào bất kỳ API call nào
| **Cấu hình** | `npm i -g` — xong | Neo4j + VectorDB + API key | Neo4j + config |
| **Lưu trữ** | Một file SQLite | Neo4j + Qdrant | Neo4j |
| **Hoạt động offline** | Có, luôn luôn | Không | Không |
-| **Dashboard** | Tích hợp sẵn (5 tab) | Không có | Không có |
+| **Dashboard** | Tích hợp sẵn (7 tab + phân tích) | Không có | Không có |
| **Phụ thuộc** | 6 | 20+ | 10+ |
| **Giá** | Miễn phí mãi mãi | Gói miễn phí / Trả phí | Gói miễn phí / Trả phí |
@@ -136,15 +139,31 @@ Bạn không cần phải tự ghi nhớ mọi thứ. MeMesh có **4 hook** tự
| Khi nào | MeMesh làm gì |
|------|------------------|
-| **Mỗi khi bắt đầu phiên** | Tải các ký ức liên quan nhất (xếp hạng theo thuật toán scoring) |
+| **Mỗi khi bắt đầu phiên** | Tải các ký ức liên quan nhất + cảnh báo chủ động từ bài học trước đó |
| **Sau mỗi `git commit`** | Ghi lại những gì bạn thay đổi, kèm thống kê diff |
-| **Khi Claude kết thúc** | Thu thập file đã sửa, lỗi đã fix và quyết định đã đưa ra |
+| **Khi Claude kết thúc** | Thu thập file đã sửa, lỗi đã fix và tự động tạo bài học có cấu trúc từ các lỗi |
| **Trước khi nén context** | Lưu kiến thức trước khi mất do giới hạn context |
> **Tắt bất cứ lúc nào:** `export MEMESH_AUTO_CAPTURE=false`
---
+## Dashboard
+
+7 tab, 11 ngôn ngữ, không phụ thuộc bên ngoài. Truy cập tại `http://localhost:3737/dashboard` khi server đang chạy.
+
+| Tab | Nội dung |
+|-----|----------|
+| **Search** | Tìm kiếm toàn văn + tương tự vector trên tất cả ký ức |
+| **Browse** | Danh sách phân trang của tất cả thực thể với lưu trữ/khôi phục |
+| **Analytics** | Điểm Sức khỏe Bộ nhớ (0-100), timeline 30 ngày, chỉ số giá trị, phạm vi kiến thức, đề xuất dọn dẹp, pattern làm việc |
+| **Graph** | Đồ thị tri thức tương tác dạng lực với bộ lọc loại, tìm kiếm, chế độ ego, heatmap mức độ mới |
+| **Lessons** | Bài học có cấu trúc từ các lỗi trước đó (lỗi, nguyên nhân gốc, cách sửa, phòng ngừa) |
+| **Manage** | Lưu trữ và khôi phục thực thể |
+| **Settings** | Cấu hình nhà cung cấp LLM, chọn ngôn ngữ |
+
+---
+
## Tính Năng Thông Minh
**🧠 Tìm kiếm thông minh** — Tìm "login security" là ra ký ức về "OAuth PKCE". MeMesh mở rộng truy vấn bằng các thuật ngữ liên quan qua LLM đã cấu hình.
@@ -183,7 +202,7 @@ memesh # mở dashboard → tab Cài đặt
---
-## Tất Cả 6 Công Cụ Bộ Nhớ
+## Tất Cả 8 Công Cụ Bộ Nhớ
| Công cụ | Chức năng |
|------|-------------|
@@ -193,6 +212,8 @@ memesh # mở dashboard → tab Cài đặt
| `consolidate` | Nén ký ức dài dòng bằng LLM |
| `export` | Chia sẻ ký ức dạng JSON giữa dự án hoặc thành viên nhóm |
| `import` | Nhập ký ức với chiến lược gộp (bỏ qua / ghi đè / nối thêm) |
+| `learn` | Ghi lại bài học có cấu trúc từ sai lầm (lỗi, nguyên nhân gốc, cách sửa, phòng ngừa) |
+| `user_patterns` | Phân tích pattern làm việc — lịch trình, công cụ, điểm mạnh, lĩnh vực cần học |
---
@@ -201,7 +222,7 @@ memesh # mở dashboard → tab Cài đặt
```
┌─────────────────┐
│ Core Engine │
- │ (6 operations) │
+ │ (8 operations) │
└────────┬────────┘
┌─────────────────┼─────────────────┐
│ │ │
@@ -222,7 +243,7 @@ Core độc lập với framework. Logic giống nhau chạy từ terminal, HTTP
```bash
git clone https://github.com/PCIRCLE-AI/memesh-llm-memory
cd memesh-llm-memory && npm install && npm run build
-npm test -- --run # 289 tests
+npm test -- --run # 413 tests
```
Dashboard: `cd dashboard && npm install && npm run dev`
diff --git a/README.zh-CN.md b/README.zh-CN.md
index 0bdd4b0b..49757984 100644
--- a/README.zh-CN.md
+++ b/README.zh-CN.md
@@ -11,7 +11,6 @@
-
@@ -62,6 +61,10 @@ memesh
+