prism-mcp-server 4.3.0 β†’ 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  ## Table of Contents
16
16
 
17
- - [What's New (v4.2.0)](#whats-new-in-v420--project-repo-registry-)
17
+ - [What's New (v4.6.0)](#whats-new-in-v460--opentelemetry-observability-)
18
18
  - [Multi-Instance Support](#multi-instance-support)
19
19
  - [How Prism Compares](#how-prism-compares)
20
20
  - [Quick Start](#quick-start-zero-config--local-mode)
@@ -42,11 +42,56 @@
42
42
 
43
43
  ---
44
44
 
45
- ## What's New in v4.3.0 β€” The Bridge πŸŒ‰
45
+ ## What's New in v4.6.0 β€” OpenTelemetry Observability πŸ”­
46
+
47
+ > **πŸ”­ Full distributed tracing for every MCP tool call, LLM provider hop, and background AI worker.**
48
+ > Configure in the new **πŸ”­ Observability** tab in Mind Palace β€” no code changes required.
49
+ > Activates a 4-tier span waterfall: `mcp.call_tool` β†’ `worker.vlm_caption` β†’ `llm.generate_image_description` / `llm.generate_embedding`.
50
+
51
+ <a name="whats-new-in-v451--gdpr-export-"></a>
52
+ <details>
53
+ <summary><strong>What's in v4.5.1 β€” GDPR Export & Test Hardening πŸ”’</strong></summary>
54
+
55
+ | Feature | Description |
56
+ |---|---|
57
+ | πŸ“¦ **`session_export_memory`** | Full ZIP export of project memory (JSON + Markdown). Satisfies GDPR Art. 20 Right to Portability. API keys redacted, embeddings stripped. |
58
+ | πŸ§ͺ **270 Tests** | Concurrent export safety, redaction edge cases, MCP contract validation under load. |
59
+
60
+ </details>
61
+
62
+ <a name="whats-new-in-v450--vlm-multimodal-memory-"></a>
63
+ <details>
64
+ <summary><strong>What's in v4.5.0 β€” VLM Multimodal Memory πŸ‘οΈ</strong></summary>
65
+
66
+ | Feature | Description |
67
+ |---|---|
68
+ | πŸ‘οΈ **Visual Memory** | `session_save_image` β†’ VLM auto-caption β†’ ledger entry β†’ vector embedding. Images become semantically searchable with zero schema changes. |
69
+ | πŸ›‘οΈ **Provider Size Guards** | Anthropic 5MB hard cap, Gemini/OpenAI 20MB. Pre-flight check before API call. |
70
+
71
+ </details>
72
+
73
+ <a name="whats-new-in-v440--pluggable-llm-adapters-"></a>
74
+ <details>
75
+ <summary><strong>What's in v4.4.0 β€” Pluggable LLM Adapters (BYOM) πŸ”Œ</strong></summary>
76
+
77
+ | Feature | Description |
78
+ |---|---|
79
+ | πŸ”Œ **BYOM** | OpenAI, Anthropic, Gemini, Ollama adapters. Text + embedding providers independently configurable. |
80
+ | πŸ›‘οΈ **Air-Gapped** | Full local mode via `http://127.0.0.1:11434` β€” zero cloud API keys required. |
81
+
82
+ </details>
83
+
84
+ <a name="whats-new-in-v430--the-bridge-"></a>
85
+ <details>
86
+ <summary><strong>What's in v4.3.0 β€” The Bridge: Knowledge Sync Rules πŸŒ‰</strong></summary>
46
87
 
47
88
  > **🧠 Active Behavioral Memory & IDE Sync**
48
- > Prism doesn't just log what happenedβ€”it learns. When an agent is corrected, the memory gains "Importance". Once an insight graduates (Importance >= 7), Prism can automatically sync it directly to your `.cursorrules` or `.clauderules` file, turning dynamic behavioral learnings into permanent, zero-token IDE enforcement.
89
+ > Prism doesn't just log what happenedβ€”it learns. When an agent is corrected, the memory gains "Importance". Once an insight graduates (Importance >= 7), Prism automatically syncs it to `.cursorrules` / `.clauderules` β€” permanent, zero-token IDE enforcement.
49
90
 
91
+ </details>
92
+
93
+
94
+ <a name="whats-new-in-v420--project-repo-registry-"></a>
50
95
  <details>
51
96
  <summary><strong>What's in v4.2.0 β€” Project Repo Registry πŸ—‚οΈ</strong></summary>
52
97
 
@@ -58,6 +103,7 @@
58
103
 
59
104
  </details>
60
105
 
106
+ <a name="whats-in-v410--auto-migration--multi-instance-"></a>
61
107
  <details>
62
108
  <summary><strong>What's in v4.1.0 β€” Auto-Migration & Multi-Instance πŸ”€</strong></summary>
63
109
 
@@ -69,6 +115,7 @@
69
115
 
70
116
  </details>
71
117
 
118
+ <a name="whats-in-v400--behavioral-memory-"></a>
72
119
  <details>
73
120
  <summary><strong>What's in v4.0.0 β€” Behavioral Memory 🧠</strong></summary>
74
121
 
@@ -82,6 +129,7 @@
82
129
 
83
130
  </details>
84
131
 
132
+ <a name="whats-in-v310--memory-lifecycle-"></a>
85
133
  <details>
86
134
  <summary><strong>What's in v3.1.0 β€” Memory Lifecycle πŸ”„</strong></summary>
87
135
 
@@ -107,6 +155,7 @@
107
155
 
108
156
  </details>
109
157
 
158
+ <a name="whats-in-v300--agent-hivemind-"></a>
110
159
  <details>
111
160
  <summary><strong>What's in v3.0.0 β€” Agent Hivemind 🐝</strong></summary>
112
161
 
@@ -124,24 +173,24 @@
124
173
 
125
174
 
126
175
  <details>
127
- <summary><strong>What's in v2.5.0 β€” Enterprise Memory πŸ—οΈ</strong></summary>
176
+ <summary><strong>What's in v2.5.1 β€” Version Sync & Embedding Safety</strong></summary>
128
177
 
129
178
  | Feature | Description |
130
179
  |---|---|
131
- | πŸ” **Memory Tracing** | `MemoryTrace` with latency breakdown and scoring metadata for LangSmith. |
132
- | πŸ›‘οΈ **GDPR Deletion** | `session_forget_memory` with soft/hard delete and Article 17 justification. |
133
- | πŸ”— **LangChain Integration** | `PrismMemoryRetriever` / `PrismKnowledgeRetriever` BaseRetriever adapters. |
134
- | 🧩 **LangGraph Agent** | 5-node research agent example with MCP bridge and hybrid search. |
180
+ | πŸ”„ **Dynamic Versioning** | Version derived from `package.json` β€” MCP handshake, dashboard, and npm stay in sync. |
181
+ | πŸ›‘οΈ **Embedding Validation** | Validates 768-dimension vectors at runtime to catch model regressions. |
135
182
 
136
183
  </details>
137
184
 
138
185
  <details>
139
- <summary><strong>What's in v2.5.1 β€” Version Sync & Embedding Safety</strong></summary>
186
+ <summary><strong>What's in v2.5.0 β€” Enterprise Memory πŸ—οΈ</strong></summary>
140
187
 
141
188
  | Feature | Description |
142
189
  |---|---|
143
- | πŸ”„ **Dynamic Versioning** | Version derived from `package.json` β€” MCP handshake, dashboard, and npm stay in sync. |
144
- | πŸ›‘οΈ **Embedding Validation** | Validates 768-dimension vectors at runtime to catch model regressions. |
190
+ | πŸ” **Memory Tracing** | `MemoryTrace` with latency breakdown and scoring metadata for LangSmith. |
191
+ | πŸ›‘οΈ **GDPR Deletion** | `session_forget_memory` with soft/hard delete and Article 17 justification. |
192
+ | πŸ”— **LangChain Integration** | `PrismMemoryRetriever` / `PrismKnowledgeRetriever` BaseRetriever adapters. |
193
+ | 🧩 **LangGraph Agent** | 5-node research agent example with MCP bridge and hybrid search. |
145
194
 
146
195
  </details>
147
196
 
@@ -698,9 +747,9 @@ The tool and dashboard button both call the same repair logic β€” the dashboard
698
747
  4. On `session_load_context`, high-importance corrections auto-surface as `[⚠️ BEHAVIORAL WARNINGS]`
699
748
  5. Agent sees warnings and avoids repeating past mistakes
700
749
 
701
- ### v4.2 Knowledge Sync Rules β€” "The Bridge"
750
+ ### v4.3.0 Knowledge Sync Rules β€” "The Bridge"
702
751
 
703
- Bridges **v4.0 Behavioral Memory** (graduated insights) with **v4.2 Project Registry** (repo paths) to physically write agent learnings into your project's IDE rules file.
752
+ Bridges **v4.0 Behavioral Memory** (graduated insights) with **v4.2.0 Project Registry** (repo paths) to physically write agent learnings into your project's IDE rules file.
704
753
 
705
754
  | Feature | Without Sync Rules | With `knowledge_sync_rules` |
706
755
  |---------|-------------------|----------------------------|
@@ -1152,7 +1201,7 @@ Prism supports surgical, per-entry deletion for GDPR Article 17 compliance:
1152
1201
  | Data Protection by Design (Art. 25) | βœ… Implemented | Ownership guards, DB-level filtering, safe defaults |
1153
1202
  | Audit Trail | βœ… Implemented | `deleted_at` + `deleted_reason` columns |
1154
1203
  | User Isolation | βœ… Implemented | `user_id` verification on all delete operations |
1155
- | Right to Portability (Art. 20) | ⬜ Roadmap | `session_export_memory` (planned) |
1204
+ | Right to Portability (Art. 20) | βœ… Implemented | `session_export_memory` β€” ZIP export of JSON + Markdown, API keys redacted |
1156
1205
  | Consent Management | βž– Out of scope | Application-layer responsibility |
1157
1206
 
1158
1207
  > **Note:** No software is "GDPR certified" on its own β€” GDPR is an organizational compliance framework. Prism provides the technical controls that a DPO (Data Protection Officer) needs to satisfy the data deletion and privacy-by-design requirements.
@@ -1161,40 +1210,50 @@ Prism supports surgical, per-entry deletion for GDPR Article 17 compliance:
1161
1210
 
1162
1211
  ## Observability & Tracing
1163
1212
 
1164
- Prism MCP includes a custom **MemoryTrace** engine that provides per-query observability for every memory operation. This is not the OpenTelemetry SDK β€” it's a lightweight, zero-dependency tracing system purpose-built for MCP.
1213
+ Prism MCP ships **two complementary tracing systems** serving different audiences:
1165
1214
 
1166
- ### What MemoryTrace Provides
1215
+ | | MemoryTrace | OpenTelemetry (OTel) |
1216
+ |---|---|---|
1217
+ | **Question answered** | Why was this memory returned? | What was the end-to-end latency? |
1218
+ | **Output** | `content[1]` in MCP response | OTLP β†’ Jaeger / Tempo / Zipkin |
1219
+ | **Trigger** | `enable_trace: true` parameter | Every tool call, automatically |
1220
+ | **Audience** | LLM / LangSmith orchestration | Developers debugging infrastructure |
1167
1221
 
1168
- | Capability | MemoryTrace | Full OpenTelemetry SDK |
1169
- |------------|:-----------:|:----------------------:|
1170
- | Per-query latency breakdown (`embedding_ms`, `storage_ms`, `total_ms`) | βœ… | βœ… |
1171
- | Search strategy attribution (`semantic`, `keyword`, `hybrid`) | βœ… | ❌ (custom) |
1172
- | Result scoring metadata | βœ… | ❌ (custom) |
1173
- | LangSmith integration (via retriever metadata) | βœ… | βœ… |
1174
- | W3C `traceparent` / distributed trace context | ❌ | βœ… |
1175
- | Export to Jaeger / Zipkin / Datadog | ❌ | βœ… |
1176
- | Auto-instrumentation of HTTP / DB calls | ❌ | βœ… |
1177
- | External SDK dependency | **None** | `@opentelemetry/sdk-*` |
1222
+ ### MemoryTrace (Phase 1 β€” LLM Explainability)
1178
1223
 
1179
- ### Example MemoryTrace Output
1224
+ A zero-dependency tracing system built for MCP. Returns per-query latency breakdowns and result scoring metadata as a second `content` block β€” keeping structured telemetry out of the LLM's context window.
1180
1225
 
1181
1226
  ```json
1182
- {
1183
- "type": "text",
1184
- "text": "{\"trace\":{\"strategy\":\"semantic\",\"latency\":{\"embedding_ms\":45,\"storage_ms\":12,\"total_ms\":57},\"result_count\":3,\"threshold\":0.7}}"
1185
- }
1227
+ { "trace": { "strategy": "semantic", "latency": { "embedding_ms": 45, "storage_ms": 12, "total_ms": 57 }, "result_count": 3 } }
1186
1228
  ```
1187
1229
 
1188
- Traces are returned as `content[1]` in MCP responses β€” a separate content block that keeps structured telemetry out of the LLM's context window while making it available to orchestration layers like LangSmith.
1230
+ ### OpenTelemetry (Phase 2 β€” Infrastructure Observability)
1189
1231
 
1190
- ### Roadmap
1232
+ Every MCP tool call emits a **4-tier span waterfall** to any OTLP-compatible collector:
1233
+
1234
+ ```
1235
+ mcp.call_tool [e.g. session_save_image, ~50 ms]
1236
+ └─ worker.vlm_caption [~2–5 s, outlives parent βœ“]
1237
+ └─ llm.generate_image_description [~1–4 s]
1238
+ └─ llm.generate_embedding [~200 ms]
1239
+ ```
1240
+
1241
+ **Quick-start with Jaeger:**
1242
+
1243
+ ```bash
1244
+ docker run -d -p 4318:4318 -p 16686:16686 jaegertracing/all-in-one
1245
+ ```
1246
+
1247
+ Then open **Mind Palace Dashboard β†’ βš™οΈ Settings β†’ πŸ”­ Observability**, toggle OTel on, and restart. Open [localhost:16686](http://localhost:16686) to see traces.
1248
+
1249
+ **GDPR-safe by design:** Span attributes capture only character counts and byte sizes β€” never prompt content, vector embeddings, or base64 image data.
1250
+
1251
+ | Setting | Default | Description |
1252
+ |---------|---------|-------------|
1253
+ | `otel_enabled` | `false` | Toggle OTel pipeline on/off (restart required) |
1254
+ | `otel_endpoint` | `http://localhost:4318/v1/traces` | OTLP HTTP collector URL |
1255
+ | `otel_service_name` | `prism-mcp-server` | Service label in trace UI |
1191
1256
 
1192
- | Feature | Status |
1193
- |---------|--------|
1194
- | MemoryTrace (current) | βœ… Shipped |
1195
- | OpenTelemetry SDK integration | ⬜ Planned |
1196
- | Span export to Jaeger/Zipkin | ⬜ Planned |
1197
- | W3C Trace Context propagation | ⬜ Planned |
1198
1257
 
1199
1258
  ---
1200
1259
 
@@ -1361,7 +1420,10 @@ See [`vertex-ai/`](vertex-ai/) for setup and benchmarks.
1361
1420
  β”‚ β”‚ β”œβ”€β”€ compactionHandler.ts # Gemini-powered ledger compaction
1362
1421
  β”‚ β”‚ └── index.ts # Tool registration & re-exports
1363
1422
  β”‚ └── utils/
1364
- β”‚ β”œβ”€β”€ tracing.ts # MemoryTrace types + factory (Phase 1)
1423
+ β”‚ └── utils/
1424
+ β”‚ β”œβ”€β”€ telemetry.ts # OTel singleton β€” NodeTracerProvider, BatchSpanProcessor, no-op mode
1425
+ β”‚ β”œβ”€β”€ tracing.ts # MemoryTrace types + factory (Phase 1 β€” LLM explainability)
1426
+ β”‚ β”œβ”€β”€ imageCaptioner.ts # VLM auto-caption pipeline (v4.5) + worker.vlm_caption OTel span
1365
1427
  β”‚ β”œβ”€β”€ logger.ts # Debug logging (gated by PRISM_DEBUG_LOGGING)
1366
1428
  β”‚ β”œβ”€β”€ braveApi.ts # Brave Search REST client
1367
1429
  β”‚ β”œβ”€β”€ googleAi.ts # Gemini SDK wrapper
@@ -1370,8 +1432,17 @@ See [`vertex-ai/`](vertex-ai/) for setup and benchmarks.
1370
1432
  β”‚ β”œβ”€β”€ healthCheck.ts # Brain integrity engine + security scanner
1371
1433
  β”‚ β”œβ”€β”€ factMerger.ts # Async LLM contradiction resolution
1372
1434
  β”‚ β”œβ”€β”€ git.ts # Git state capture + drift detection
1373
- β”‚ β”œβ”€β”€ embeddingApi.ts # Embedding generation (Gemini)
1374
- β”‚ └── keywordExtractor.ts # Zero-dependency NLP keyword extraction
1435
+ β”‚ β”œβ”€β”€ embeddingApi.ts # Embedding generation
1436
+ β”‚ β”œβ”€β”€ keywordExtractor.ts # Zero-dependency NLP keyword extraction
1437
+ β”‚ └── llm/
1438
+ β”‚ β”œβ”€β”€ provider.ts # LLMProvider interface
1439
+ β”‚ β”œβ”€β”€ factory.ts # Provider factory β€” composes + wraps in TracingLLMProvider
1440
+ β”‚ └── adapters/
1441
+ β”‚ β”œβ”€β”€ gemini.ts # Google Gemini adapter
1442
+ β”‚ β”œβ”€β”€ openai.ts # OpenAI adapter
1443
+ β”‚ β”œβ”€β”€ anthropic.ts # Anthropic Claude adapter
1444
+ β”‚ β”œβ”€β”€ ollama.ts # Ollama (local) adapter
1445
+ β”‚ └── traced.ts # TracingLLMProvider decorator (v4.6 OTel)
1375
1446
  β”œβ”€β”€ examples/langgraph-agent/ # LangChain/LangGraph integration
1376
1447
  β”‚ β”œβ”€β”€ agent.py # 5-node LangGraph research agent
1377
1448
  β”‚ β”œβ”€β”€ mcp_client.py # MCP Bridge (call_tool + call_tool_raw)
@@ -1389,16 +1460,43 @@ See [`vertex-ai/`](vertex-ai/) for setup and benchmarks.
1389
1460
 
1390
1461
  ## πŸš€ Roadmap
1391
1462
 
1392
- > **[View the full project board β†’](https://github.com/users/dcostenco/projects/1/views/1)**
1463
+ > **[View the full project board β†’](https://github.com/users/dcostenco/projects/1/views/1)** | **[Full ROADMAP.md β†’](ROADMAP.md)**
1393
1464
 
1394
- ### βœ… v4.2 β€” Project Repo Registry + Knowledge Sync Rules (Shipped!)
1465
+ ### βœ… v4.6 β€” OpenTelemetry Observability (Shipped!)
1466
+
1467
+ | Feature | Description |
1468
+ |---|---|
1469
+ | πŸ”­ **OTel Root Span** | Every MCP tool call wrapped in `mcp.call_tool` span β€” propagated to all child async operations via AsyncLocalStorage. |
1470
+ | 🎨 **TracingLLMProvider** | Decorator pattern wraps the composed LLM factory. Zero changes to vendor adapters. Instruments `generate_text`, `generate_embedding`, `generate_image_description`. |
1471
+ | βš™οΈ **Worker Spans** | `worker.vlm_caption` span in `imageCaptioner` correctly parents fire-and-forget async tasks to the root span. |
1472
+ | πŸ”’ **Shutdown Flush** | `shutdownTelemetry()` wired as step-0 in `lifecycle.ts` β€” flushes `BatchSpanProcessor` before DB closes on SIGTERM. |
1473
+ | πŸ–₯️ **Dashboard UI** | New πŸ”­ Observability tab with enable toggle, OTLP endpoint, service name, inline Jaeger docker command, and ASCII waterfall diagram. |
1474
+
1475
+ ### βœ… v4.5 β€” VLM Multimodal Memory & GDPR Export (Shipped!)
1476
+
1477
+ | Feature | Description |
1478
+ |---|---|
1479
+ | πŸ‘οΈ **Auto-Captioning** | `session_save_image` β†’ VLM β†’ ledger entry β†’ vector embedding. Images become semantically searchable with zero schema changes. |
1480
+ | πŸ“¦ **GDPR Art. 20** | `session_export_memory` β€” full ZIP export (JSON + Markdown), API keys redacted, embeddings stripped. |
1481
+ | πŸ§ͺ **270 tests** | Full regression coverage including concurrent safety, redaction edge cases, and MCP contract validation. |
1482
+
1483
+ ### βœ… v4.4 β€” Pluggable LLM Adapters (Shipped!)
1484
+
1485
+ | Feature | Description |
1486
+ |---|---|
1487
+ | πŸ”Œ **BYOM** | OpenAI, Anthropic, Gemini, Ollama adapters. Text + embedding providers independently configurable. |
1488
+ | πŸ›‘οΈ **Air-Gapped** | Full local mode via Ollama β€” zero cloud API keys required. |
1489
+
1490
+ ### βœ… v4.3 β€” The Bridge: Knowledge Sync Rules (Shipped!)
1491
+
1492
+ See [What's in v4.3.0](#whats-new-in-v430--the-bridge-) above β€” syncing dynamic behavioral insights to static IDE rules files.
1493
+
1494
+ ### βœ… v4.2 β€” Project Repo Registry (Shipped!)
1395
1495
 
1396
1496
  | Feature | Description |
1397
1497
  |---|---|
1398
1498
  | πŸ—‚οΈ **Project Repo Paths** | Dashboard UI to map projects to repo directories + `session_save_ledger` path validation. |
1399
1499
  | πŸ”„ **Universal Auto-Load** | Dynamic tool descriptions replace env var β€” dashboard is sole source of truth. |
1400
- | 🏠 **Dashboard-First Config** | Removed `PRISM_AUTOLOAD_PROJECTS` env var override. |
1401
- | πŸŒ‰ **Knowledge Sync Rules** | `knowledge_sync_rules` β€” auto-sync graduated insights to `.cursorrules` / `.clauderules` with idempotent sentinel markers. |
1402
1500
 
1403
1501
  ### βœ… v4.1 β€” Auto-Migration & Multi-Instance (Shipped!)
1404
1502
 
@@ -1408,34 +1506,22 @@ See [What's in v4.1.0](#whats-in-v410--auto-migration--multi-instance-) above.
1408
1506
 
1409
1507
  See [What's in v4.0.0](#whats-in-v400--behavioral-memory-) above.
1410
1508
 
1411
- ### βœ… v3.1 β€” Memory Lifecycle (Shipped!)
1509
+ ### βœ… v3.x β€” Memory Lifecycle & Agent Hivemind (Shipped!)
1412
1510
 
1413
- See [What's in v3.1.0](#whats-in-v310--memory-lifecycle-) above.
1511
+ See [v3.1.0](#whats-in-v310--memory-lifecycle-) and [v3.0.0](#whats-in-v300--agent-hivemind-) above.
1414
1512
 
1415
- ### βœ… v3.0 β€” Agent Hivemind (Shipped!)
1416
-
1417
- See [What's in v3.0.0](#whats-in-v300--agent-hivemind-) above.
1418
-
1419
- ### πŸš€ Future Ideas
1420
-
1421
- | Feature | Issue | Description |
1422
- |---------|-------|-------------|
1423
- | OpenTelemetry | [#6](https://github.com/dcostenco/prism-mcp/issues/6) | W3C tracing with Jaeger/Zipkin export |
1424
- | GDPR Portability | [#7](https://github.com/dcostenco/prism-mcp/issues/7) | `session_export_memory` for Art. 20 |
1425
- | CRDT Conflict Resolution | [#9](https://github.com/dcostenco/prism-mcp/issues/9) | Conflict-free types for concurrent edits |
1426
- | Pluggable LLM Providers | [#13](https://github.com/dcostenco/prism-mcp/issues/13) | Anthropic, OpenAI, Ollama adapters |
1427
- | VLM / OCR for Images | [#14](https://github.com/dcostenco/prism-mcp/issues/14) | Auto-extract text from stored images |
1428
- | Knowledge Graph Editor | [#19](https://github.com/dcostenco/prism-mcp/issues/19) | Visual graph editor in Mind Palace |
1513
+ ---
1429
1514
 
1430
- ### 🧰 Infrastructure & Stack
1515
+ ### πŸ—ΊοΈ Next on the Horizon
1431
1516
 
1432
- | Feature | Issue | Description |
1433
- |---------|-------|-------------|
1434
- | Supabase RPC Soft-Delete Filtering | [#8](https://github.com/dcostenco/prism-mcp/issues/8) | Server-side RPC filtering for GDPR-deleted records |
1435
- | Pluggable Embedding Providers | [#11](https://github.com/dcostenco/prism-mcp/issues/11) | Swap Gemini for OpenAI, Cohere, or local models |
1436
- | Automated Test Suite | [#12](https://github.com/dcostenco/prism-mcp/issues/12) | Unit, integration, and E2E test coverage with CI/CD |
1437
- | Mind Palace Auth & Secure Access | [#15](https://github.com/dcostenco/prism-mcp/issues/15) | Authentication for the dashboard when exposed remotely |
1438
- | TypeScript LangGraph & Vercel AI SDK Examples | [#18](https://github.com/dcostenco/prism-mcp/issues/18) | Reference implementations for popular frameworks |
1517
+ | Priority | Feature | Description |
1518
+ |----------|---------|-------------|
1519
+ | πŸ₯‡ | **Documentation & Architecture Guide** | Full README overhaul with architecture diagrams, "How to build a self-improving agent" walkthrough, and v4.x feature matrix. |
1520
+ | πŸ₯ˆ | **Knowledge Graph Editor** | Visual graph in Mind Palace showing nodes for projects, agents, sessions, and graduated rules. |
1521
+ | πŸ₯‰ | **Autonomous Web Scholar** | Agent-driven learning pipeline using Brave Search + VLM to autonomously build project context while the developer sleeps. |
1522
+ | β€” | **Dashboard Auth** | Optional basic auth for remote Mind Palace access. |
1523
+ | β€” | **TypeScript LangGraph Examples** | Reference implementations alongside the existing Python agent. |
1524
+ | β€” | **CRDT Conflict Resolution** | Conflict-free types for concurrent multi-agent edits on the same handoff. |
1439
1525
 
1440
1526
  ---
1441
1527
 
@@ -1445,4 +1531,4 @@ MIT
1445
1531
 
1446
1532
  ---
1447
1533
 
1448
- <sub>**Keywords:** MCP server, Model Context Protocol, Claude Desktop memory, persistent session memory, AI agent memory, local-first, SQLite MCP, Mind Palace, time travel, visual memory, agent telepathy, multi-agent sync, reality drift detection, morning briefing, code mode templates, cursor MCP server, windsurf MCP server, cline MCP server, pgvector semantic search, progressive context loading, MCP Prompts, MCP Resources, knowledge management AI, Brave Search MCP, Gemini analysis, optimistic concurrency control, zero config, GDPR compliant, memory tracing, LangChain retriever, LangGraph agent, soft delete, memory lineage, explainability, enterprise AI memory</sub>
1534
+ <sub>**Keywords:** MCP server, Model Context Protocol, Claude Desktop memory, persistent session memory, AI agent memory, local-first, SQLite MCP, Mind Palace, time travel, visual memory, VLM image captioning, OpenTelemetry OTel tracing, Jaeger distributed traces, GDPR export portability, agent telepathy, multi-agent sync, behavioral memory, IDE rules sync, cursorrules, pluggable LLM, Ollama MCP, Anthropic Claude MCP, OpenAI MCP, reality drift detection, morning briefing, code mode templates, cursor MCP server, windsurf MCP server, cline MCP server, pgvector semantic search, progressive context loading, MCP Prompts, MCP Resources, knowledge management AI, Brave Search MCP, Gemini analysis, optimistic concurrency control, zero config, memory tracing, LangChain retriever, LangGraph agent, soft delete, memory lineage, explainability, enterprise AI memory</sub>