cortex-mcp 2.6.0 → 2.7.1

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.
Files changed (198) hide show
  1. package/CHANGELOG.md +58 -279
  2. package/README.md +224 -393
  3. package/dist/cli/setup.js +60 -58
  4. package/dist/cli/setup.js.map +1 -1
  5. package/dist/config/config.js +2 -2
  6. package/dist/config/config.js.map +1 -1
  7. package/dist/db/database.d.ts +0 -8
  8. package/dist/db/database.d.ts.map +1 -1
  9. package/dist/db/database.js +2 -34
  10. package/dist/db/database.js.map +1 -1
  11. package/dist/db/event-log.d.ts +0 -4
  12. package/dist/db/event-log.d.ts.map +1 -1
  13. package/dist/db/event-log.js +10 -14
  14. package/dist/db/event-log.js.map +1 -1
  15. package/dist/db/memory-store.d.ts +3 -30
  16. package/dist/db/memory-store.d.ts.map +1 -1
  17. package/dist/db/memory-store.js +44 -140
  18. package/dist/db/memory-store.js.map +1 -1
  19. package/dist/embedding-worker.js +1 -1
  20. package/dist/embedding-worker.js.map +1 -1
  21. package/dist/hooks/git-capture.js +3 -3
  22. package/dist/hooks/git-hooks.js +2 -5
  23. package/dist/mcp-stdio.js +3 -34
  24. package/dist/mcp-stdio.js.map +1 -1
  25. package/dist/memory/anticipation-engine.d.ts.map +1 -1
  26. package/dist/memory/anticipation-engine.js +10 -18
  27. package/dist/memory/anticipation-engine.js.map +1 -1
  28. package/dist/memory/auto-learner.d.ts.map +1 -1
  29. package/dist/memory/auto-learner.js +43 -190
  30. package/dist/memory/auto-learner.js.map +1 -1
  31. package/dist/memory/confidence-decay.d.ts.map +1 -1
  32. package/dist/memory/confidence-decay.js +9 -13
  33. package/dist/memory/confidence-decay.js.map +1 -1
  34. package/dist/memory/embedding-manager.d.ts.map +1 -1
  35. package/dist/memory/embedding-manager.js +4 -6
  36. package/dist/memory/embedding-manager.js.map +1 -1
  37. package/dist/memory/export-import.js +2 -2
  38. package/dist/memory/export-import.js.map +1 -1
  39. package/dist/memory/git-memory.d.ts.map +1 -1
  40. package/dist/memory/git-memory.js +26 -20
  41. package/dist/memory/git-memory.js.map +1 -1
  42. package/dist/memory/learning-rate.js +7 -8
  43. package/dist/memory/learning-rate.js.map +1 -1
  44. package/dist/memory/llm-enhancer.d.ts +14 -2
  45. package/dist/memory/llm-enhancer.d.ts.map +1 -1
  46. package/dist/memory/llm-enhancer.js +46 -66
  47. package/dist/memory/llm-enhancer.js.map +1 -1
  48. package/dist/memory/memory-cache.d.ts.map +1 -1
  49. package/dist/memory/memory-cache.js +0 -10
  50. package/dist/memory/memory-cache.js.map +1 -1
  51. package/dist/memory/memory-consolidator.d.ts.map +1 -1
  52. package/dist/memory/memory-consolidator.js +14 -20
  53. package/dist/memory/memory-consolidator.js.map +1 -1
  54. package/dist/memory/memory-decay.d.ts.map +1 -1
  55. package/dist/memory/memory-decay.js +52 -82
  56. package/dist/memory/memory-decay.js.map +1 -1
  57. package/dist/memory/memory-quality.d.ts +1 -1
  58. package/dist/memory/memory-quality.d.ts.map +1 -1
  59. package/dist/memory/memory-quality.js +6 -9
  60. package/dist/memory/memory-quality.js.map +1 -1
  61. package/dist/memory/memory-ranker.d.ts.map +1 -1
  62. package/dist/memory/memory-ranker.js +3 -12
  63. package/dist/memory/memory-ranker.js.map +1 -1
  64. package/dist/memory/meta-memory.js +3 -3
  65. package/dist/memory/meta-memory.js.map +1 -1
  66. package/dist/memory/session-tracker.d.ts +0 -2
  67. package/dist/memory/session-tracker.d.ts.map +1 -1
  68. package/dist/memory/session-tracker.js +8 -26
  69. package/dist/memory/session-tracker.js.map +1 -1
  70. package/dist/memory/temporal-engine.d.ts.map +1 -1
  71. package/dist/memory/temporal-engine.js +13 -9
  72. package/dist/memory/temporal-engine.js.map +1 -1
  73. package/dist/retrieval/hybrid-retriever.d.ts +2 -0
  74. package/dist/retrieval/hybrid-retriever.d.ts.map +1 -1
  75. package/dist/retrieval/hybrid-retriever.js +13 -3
  76. package/dist/retrieval/hybrid-retriever.js.map +1 -1
  77. package/dist/scanners/architecture-graph.js +2 -2
  78. package/dist/scanners/architecture-graph.js.map +1 -1
  79. package/dist/scanners/code-verifier.d.ts +0 -1
  80. package/dist/scanners/code-verifier.d.ts.map +1 -1
  81. package/dist/scanners/code-verifier.js +14 -14
  82. package/dist/scanners/code-verifier.js.map +1 -1
  83. package/dist/scanners/context-builder.d.ts.map +1 -1
  84. package/dist/scanners/context-builder.js +45 -33
  85. package/dist/scanners/context-builder.js.map +1 -1
  86. package/dist/scanners/export-map.js +2 -2
  87. package/dist/scanners/export-map.js.map +1 -1
  88. package/dist/scanners/project-scanner.js +2 -2
  89. package/dist/scanners/project-scanner.js.map +1 -1
  90. package/dist/security/encryption.js +1 -1
  91. package/dist/security/encryption.js.map +1 -1
  92. package/dist/security/feature-gate.d.ts.map +1 -1
  93. package/dist/security/feature-gate.js +20 -62
  94. package/dist/security/feature-gate.js.map +1 -1
  95. package/dist/security/license.js +35 -282
  96. package/dist/security/license.js.map +1 -1
  97. package/dist/security/rate-limiter.d.ts +3 -4
  98. package/dist/security/rate-limiter.d.ts.map +1 -1
  99. package/dist/security/rate-limiter.js +29 -11
  100. package/dist/security/rate-limiter.js.map +1 -1
  101. package/dist/server/dashboard.js +327 -166
  102. package/dist/server/dashboard.js.map +1 -1
  103. package/dist/server/mcp-handler.d.ts.map +1 -1
  104. package/dist/server/mcp-handler.js +827 -1002
  105. package/dist/server/mcp-handler.js.map +1 -1
  106. package/package.json +8 -18
  107. package/dist/memory/access-pattern-tracker.d.ts +0 -51
  108. package/dist/memory/access-pattern-tracker.d.ts.map +0 -1
  109. package/dist/memory/access-pattern-tracker.js +0 -92
  110. package/dist/memory/access-pattern-tracker.js.map +0 -1
  111. package/dist/memory/completion-resolver.d.ts +0 -38
  112. package/dist/memory/completion-resolver.d.ts.map +0 -1
  113. package/dist/memory/completion-resolver.js +0 -127
  114. package/dist/memory/completion-resolver.js.map +0 -1
  115. package/dist/memory/convention-detector.d.ts +0 -11
  116. package/dist/memory/convention-detector.d.ts.map +0 -1
  117. package/dist/memory/convention-detector.js +0 -294
  118. package/dist/memory/convention-detector.js.map +0 -1
  119. package/dist/memory/correction-detector.d.ts +0 -33
  120. package/dist/memory/correction-detector.d.ts.map +0 -1
  121. package/dist/memory/correction-detector.js +0 -129
  122. package/dist/memory/correction-detector.js.map +0 -1
  123. package/dist/memory/cross-memory-linker.d.ts +0 -18
  124. package/dist/memory/cross-memory-linker.d.ts.map +0 -1
  125. package/dist/memory/cross-memory-linker.js +0 -115
  126. package/dist/memory/cross-memory-linker.js.map +0 -1
  127. package/dist/memory/daily-diary.d.ts +0 -30
  128. package/dist/memory/daily-diary.d.ts.map +0 -1
  129. package/dist/memory/daily-diary.js +0 -159
  130. package/dist/memory/daily-diary.js.map +0 -1
  131. package/dist/memory/embedding-cache.d.ts +0 -32
  132. package/dist/memory/embedding-cache.d.ts.map +0 -1
  133. package/dist/memory/embedding-cache.js +0 -76
  134. package/dist/memory/embedding-cache.js.map +0 -1
  135. package/dist/memory/error-learner.d.ts +0 -26
  136. package/dist/memory/error-learner.d.ts.map +0 -1
  137. package/dist/memory/error-learner.js +0 -145
  138. package/dist/memory/error-learner.js.map +0 -1
  139. package/dist/memory/file-relationships.d.ts +0 -47
  140. package/dist/memory/file-relationships.d.ts.map +0 -1
  141. package/dist/memory/file-relationships.js +0 -130
  142. package/dist/memory/file-relationships.js.map +0 -1
  143. package/dist/memory/impact-analyzer.d.ts +0 -16
  144. package/dist/memory/impact-analyzer.d.ts.map +0 -1
  145. package/dist/memory/impact-analyzer.js +0 -189
  146. package/dist/memory/impact-analyzer.js.map +0 -1
  147. package/dist/memory/instructions-generator.d.ts +0 -30
  148. package/dist/memory/instructions-generator.d.ts.map +0 -1
  149. package/dist/memory/instructions-generator.js +0 -117
  150. package/dist/memory/instructions-generator.js.map +0 -1
  151. package/dist/memory/memory-export-md.d.ts +0 -12
  152. package/dist/memory/memory-export-md.d.ts.map +0 -1
  153. package/dist/memory/memory-export-md.js +0 -188
  154. package/dist/memory/memory-export-md.js.map +0 -1
  155. package/dist/memory/mmr-reranker.d.ts +0 -39
  156. package/dist/memory/mmr-reranker.d.ts.map +0 -1
  157. package/dist/memory/mmr-reranker.js +0 -115
  158. package/dist/memory/mmr-reranker.js.map +0 -1
  159. package/dist/memory/pre-flight.d.ts +0 -24
  160. package/dist/memory/pre-flight.d.ts.map +0 -1
  161. package/dist/memory/pre-flight.js +0 -121
  162. package/dist/memory/pre-flight.js.map +0 -1
  163. package/dist/memory/preference-learner.d.ts +0 -28
  164. package/dist/memory/preference-learner.d.ts.map +0 -1
  165. package/dist/memory/preference-learner.js +0 -144
  166. package/dist/memory/preference-learner.js.map +0 -1
  167. package/dist/memory/query-expansion.d.ts +0 -28
  168. package/dist/memory/query-expansion.d.ts.map +0 -1
  169. package/dist/memory/query-expansion.js +0 -140
  170. package/dist/memory/query-expansion.js.map +0 -1
  171. package/dist/memory/regression-guard.d.ts +0 -35
  172. package/dist/memory/regression-guard.d.ts.map +0 -1
  173. package/dist/memory/regression-guard.js +0 -90
  174. package/dist/memory/regression-guard.js.map +0 -1
  175. package/dist/memory/resume-work.d.ts +0 -37
  176. package/dist/memory/resume-work.d.ts.map +0 -1
  177. package/dist/memory/resume-work.js +0 -141
  178. package/dist/memory/resume-work.js.map +0 -1
  179. package/dist/memory/soul-manager.d.ts +0 -30
  180. package/dist/memory/soul-manager.d.ts.map +0 -1
  181. package/dist/memory/soul-manager.js +0 -171
  182. package/dist/memory/soul-manager.js.map +0 -1
  183. package/dist/memory/success-tracker.d.ts +0 -33
  184. package/dist/memory/success-tracker.d.ts.map +0 -1
  185. package/dist/memory/success-tracker.js +0 -75
  186. package/dist/memory/success-tracker.js.map +0 -1
  187. package/dist/memory/tool-recommender.d.ts +0 -29
  188. package/dist/memory/tool-recommender.d.ts.map +0 -1
  189. package/dist/memory/tool-recommender.js +0 -117
  190. package/dist/memory/tool-recommender.js.map +0 -1
  191. package/dist/memory/usage-stats.d.ts +0 -98
  192. package/dist/memory/usage-stats.d.ts.map +0 -1
  193. package/dist/memory/usage-stats.js +0 -345
  194. package/dist/memory/usage-stats.js.map +0 -1
  195. package/dist/utils/extract-tags.d.ts +0 -16
  196. package/dist/utils/extract-tags.d.ts.map +0 -1
  197. package/dist/utils/extract-tags.js +0 -40
  198. package/dist/utils/extract-tags.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,279 +1,58 @@
1
- # Changelog
2
-
3
- All notable changes to Cortex MCP Server are documented here.
4
-
5
- ## [2.4.0] -- 2026-03-03
6
-
7
- ### Added
8
-
9
- - **Independent importance scoring** Memories scored by type (CORRECTION=0.85, INSIGHT=0.55) + content signal boosts (file paths, error keywords, version numbers)
10
- - **Topic tag extraction** — Auto-tags memories with technologies, domains, and actions (`['typescript', 'auth', 'database', 'testing']`)
11
- - **FTS resolved filter** Full-text search excludes resolved-tagged memories from results
12
- - **Code block safety** `splitSentences` strips ``` fenced blocks and inline code before extraction
13
- - **Dashboard auto-refresh** — Auto-refreshes every 30 seconds via meta tag
14
-
15
- ### Changed
16
-
17
- - **Action field**Now stores source (`auto_learn:decision`) instead of duplicating intent content
18
-
19
- ## [2.3.1] -- 2026-03-03
20
-
21
- ### Removed
22
-
23
- - **Dead code: `event-bus.ts`** — 60 lines, 0 imports anywhere in codebase
24
- - **Dead method: `cleanFTSQuery()`** — Unused private method in hybrid-retriever.ts
25
-
26
- ### Added
27
-
28
- - **Memory decay Step 5** — Deactivate resolved memories >7 days old
29
-
30
- ### Fixed
31
-
32
- - **Lint** — Prefixed unused `_confidence` parameter in completion-resolver.ts
33
- - **README** Updated "What's New in v2.0" "What's New in v2.3"
34
-
35
- ## [2.3.0] -- 2026-03-03
36
-
37
- ### Fixed (Critical Brain Bugs)
38
-
39
- - **Markdown bullet extraction** — `splitSentences()` now splits on newlines and bullets, not just periods. 4x more memories extracted from AI responses
40
- - **Solo developer capture** — Added "I used/chose/picked" patterns (was only "we used")
41
- - **DECISION vs CORRECTION misclassification** — Raised DECISION confidence to 0.78 (was 0.70, CORRECTION's "instead of" won at 0.75)
42
- - **Completion resolver wired** `completion-resolver.ts` was dead code, now integrated into `handleAutoLearn`
43
- - **Ranker resolved penalty** — Resolved-tagged memories score 85% lower (0.15x multiplier)
44
- - **Context builder filter** — Excludes resolved memories from context output
45
-
46
- ## [2.2.0] -- 2026-03-02
47
-
48
- ### Added
49
-
50
- - **20 MCP tools** Added `review_code`, `pre_check`, `check_impact`, `resume_work`
51
- - **Attention ranking** Debugging context boosts bug-fix memories, coding boosts conventions
52
- - **Meta-memory** Knowledge gap detection for files with zero memories
53
- - **Memory consolidation** Duplicate memories merge, keeping highest importance
54
-
55
- ### Fixed
56
-
57
- - **Git hooks cross-platform** — Changed `cortex-capture` → `npx cortex-capture` in hook scripts for reliable binary resolution
58
- - **Windows chmod** Separated `writeFileSync` from `chmodSync` with try/catch (Windows ignores chmod safely)
59
- - **Lint cleanup** — Removed unused `getTipOfTheDay` import from mcp-handler.ts
60
-
61
- ## [2.0.0] -- 2026-03-02
62
-
63
- ### Fixed
64
-
65
- - **Windows git command** — `resume-work.ts` used `2>/dev/null` (Unix-only), changed to `stdio: ['pipe','pipe','pipe']`
66
-
67
- ### Changed
68
-
69
- - **Setup CLI** — `getServerEntryWithEnv()` auto-passes `OPENROUTER_API_KEY` from system environment
70
- - **Setup CLI** — Prints free LLM tip with OpenRouter instructions after setup
71
- - **Setup CLI** — Added `transportType: 'stdio'` to server entry for proper MCP protocol compliance
72
- - **get_stats** — Returns 6 new fields: `streak`, `longestStreak`, `totalAutoLearns`, `successPatternsLearned`, `errorsLearned`, `llmProvider`
73
- - **README** — "What's New" section updated from v1.4 to v2.0
74
-
75
- ## [1.9.0] -- 2026-03-02
76
-
77
- ### Added
78
-
79
- - **Daily streak tracking** — Tracks consecutive days of Cortex usage with "Don't break the chain!" gamification
80
- - **Streak display** — Shows "🔥 7-day streak!" in stats footer (3-day, 7-day, 14-day, 30-day tiers)
81
- - **Tip of the Day** — Surfaces a random useful memory in force_recall footer (deterministic daily pick)
82
- - **Success tracker wired** — `auto_learn` now detects praise ("perfect", "that worked") and stores proven approaches
83
- - **Error learner wired** — `auto_learn` now captures error fingerprints (TS errors, stack traces, npm failures)
84
- - **trackSuccess()** / **trackErrorLearned()** — New usage-stats tracking functions
85
-
86
- ## [1.8.0] -- 2026-03-02
87
-
88
- ### Added
89
-
90
- - **Project memory filtering** — Memories tagged with current project get 1.3x score boost, other projects get 0.7x penalty
91
- - **Error fingerprint patterns** — 7 new signals in auto-learner: TypeError, ENOENT, HTTP 4xx/5xx, npm ERR, stack traces, build failures
92
- - **Git-enhanced resume** — `resume_work` shows recent git commits from last 24 hours
93
-
94
- ## [1.7.0] -- 2026-03-02
95
-
96
- ### Added
97
-
98
- - **OpenRouter free LLM** — Add `OPENROUTER_API_KEY` for smarter memory extraction at zero cost
99
- - **Default free models** — `meta-llama/llama-4-scout:free` and `deepseek/deepseek-chat-v3-0324:free`
100
- - **OpenRouter headers** — Proper `HTTP-Referer` and `X-Title` headers
101
- - **15-second timeout** — Extended from 10s for slower free tier models
102
-
103
- ## [1.6.0] -- 2026-03-02
104
-
105
- ### Added
106
-
107
- - **Brain Health Score** — Composite 0-100 score based on usage patterns (Newborn → Genius grades)
108
- - **Saved You counter** — Tracks times Cortex prevented repeated mistakes
109
- - **Memory milestones** — Celebrations at 10, 25, 50, 100, 250, 500 memories
110
- - **Time saved estimate** — Estimates hours saved based on recalls and catches
111
- - **Stats footer** — Every `force_recall` response ends with stats summary
112
-
113
- ## [1.5.0] -- 2026-03-02
114
-
115
- ### Added
116
-
117
- - **5 new auto-learn patterns** — Enhanced pattern matching for decisions, conventions, insights
118
- - **Topic-aware force_recall** — Search memories relevant to the current topic
119
- - **Project auto-detection** — Detects project name from package.json or directory name
120
-
121
- ### Changed
122
-
123
- - **Stronger tool descriptions** — `force_recall`, `auto_learn`, `pre_check` now include consequence language so AI uses them consistently
124
- - **Raised text limit** — `auto_learn` content limit increased from 5K to 50K chars (AI responses can be very long)
125
- - **Rule templates** — Ships rules for Claude (`CLAUDE.md`), Cursor (`.cursorrules`), Windsurf (`.windsurfrules`), Copilot (`.github/copilot-instructions.md`), and Gemini (`GEMINI.md`)
126
- - **Updated README** — Reflects v1.4 features
127
-
128
- ## [1.4.1] -- 2026-03-02
129
-
130
- ### Fixed
131
-
132
- - **Pattern priority bug** — `extractMemories` now picks highest-confidence match, not first match
133
- - **CONVENTION patterns** — Split into specific (0.85 confidence) and generic (0.65) groups. "best practice" now correctly classified
134
- - **INSIGHT patterns** — Split into specific (0.85) and generic (0.55). "for future reference" now correctly classified
135
- - **Preference regex** — Fixed "be more concise" detection
136
-
137
- ## [1.4.0] -- 2026-03-02
138
-
139
- ### Added
140
-
141
- - **instructions-generator** — Converts memories into DO/DON'T/WATCH-OUT/STYLE rules
142
- - **tool-recommender** — Recommends Cortex tools based on context (🔴 must / 🟡 should / 🟢 could)
143
- - **regression-guard** — Extracts verification steps and attaches to BUG_FIX memories
144
- - **error-learner** — Learns from build/compile error patterns
145
- - **success-tracker** — Reinforces approaches when user says "perfect" or "works"
146
- - **file-relationships** — Tracks which files are typically co-edited
147
- - **preference-learner** — Detects user communication and coding preferences
148
- - **32 capture patterns** — Enhanced from 14 to 32 in auto-learner
149
-
150
- ### Changed
151
-
152
- - **Lint cleanup** — Fixed 10 unused import warnings in mcp-handler.ts
153
- - **Branding** — Server name is now "Cortex" (capital C) for proper IDE display
154
-
155
- ## [1.3.0] -- 2026-03-01
156
-
157
- ### Added
158
-
159
- - **Architecture graph** — Maps file roles and dependencies
160
- - **Export map** — Tracks what functions are exported from which files
161
- - **Convention detector** — Auto-detects coding conventions during project scan
162
- - **Knowledge gap reporting** — Identifies uncovered areas in scan results
163
- - **Architecture-aware pre_check** — Shows file role and dependencies
164
-
165
- ## [1.2.1] -- 2026-02-24
166
-
167
- ### Changed
168
-
169
- - **Shared tag extraction** — Created `src/utils/extract-tags.ts` as single source of truth for topic-based tag extraction
170
- - **Eliminated duplicate code** — `llm-enhancer.ts` and `git-memory.ts` now import from the shared utility
171
-
172
- ## [1.2.0] -- 2026-02-24
173
-
174
- ### Performance (Critical)
175
-
176
- - **`force_recall` parallelization** — Brain layers 6-12 now run concurrently via `Promise.allSettled()`. Latency drops from ~15-19s to ~3-5s
177
- - **`force_recall` caching** — Results cached with 30s TTL, repeated calls return instantly
178
- - **Removed double FTS sanitization** — `hybrid-retriever.ts` no longer double-sanitizes queries
179
- - **Fixed sync `touch()` in `Promise.all`** — Replaced with `runTransaction()` for proper batching
180
-
181
- ### Performance (Database)
182
-
183
- - **Context builder** — Consolidated 7 SQL queries into 1 (`context-builder.ts`)
184
- - **Event log** — Cached 4 prepared statements in constructor (`event-log.ts`)
185
- - **Anticipation engine** — FTS search instead of load+filter (`anticipation-engine.ts`)
186
- - **Session tracker** — `findByTag()` instead of JS filter (`session-tracker.ts`)
187
- - **Meta-memory** — Reduced fetch from 500 to 200 (`meta-memory.ts`)
188
-
189
- ### Performance (Memory)
190
-
191
- - **Hoisted stopwords** — Module-level constants in `learning-rate.ts` and `memory-quality.ts`
192
- - **Proactive cache eviction** — Stale entries swept during `setCache()` (`memory-cache.ts`)
193
-
194
- ### Robustness
195
-
196
- - **Session array capping** — Arrays capped at 20 entries to prevent unbounded growth
197
- - **Contradiction detection** — Raised overlap threshold from 2 to 3 (fewer false positives)
198
- - **Top-level imports** — Moved `require('child_process')` to top-level in `git-memory.ts`, `temporal-engine.ts`
199
- - **Export-import** — Dedup cap reduced from 5000 to 1000
200
-
201
- ### Architectural
202
-
203
- - **Tag-based scan detection** — Replaced fragile magic-string check with `findByTag('project-scan')` in `project-scanner.ts`
204
-
205
- ## [1.1.1] -- 2026-02-23
206
-
207
- ### Fixed
208
-
209
- - **Memory store** — Cached prepared statements for all read queries (Round 4 optimization)
210
- - **FTS sanitization** — Added input sanitization in `searchFTS()` to prevent query injection
211
- - **Database** — WAL mode and busy timeout for concurrent access reliability
212
-
213
- ## [1.1.0] -- 2026-02-23
214
-
215
- ### Changed
216
-
217
- - **Launch Edition** — All features unlocked for free users (unlimited memories, all brain layers, auto-learn, etc.)
218
- - **URL Migration** — Consolidated all references from `cortex-website-theta.vercel.app` to `cortex-ai-iota.vercel.app`
219
-
220
- ### Fixed
221
-
222
- - **Google OAuth 500 error** — Added `.trim()` to environment variables to strip hidden newline characters
223
- - **LemonSqueezy webhook** — Updated webhook URL to point to new production domain
224
- - **Google Cloud Console** — Added new redirect URI for OAuth callback
225
-
226
- ## [1.0.1] -- 2026-02-19
227
-
228
- ### Fixed
229
-
230
- - **FTS5 indexing** -- Triggers were silently failing to index memories for search
231
- - **Emoji removal** -- All emojis removed from source code for professional terminal output
232
- - **SECURITY.md port** -- Documented port corrected from 3100 to 3456
233
- - **CONTRIBUTING.md** -- Fixed `npm run dev` to `npm run watch`
234
- - **Config leak** -- Added `bin/` and `.ai/` to `.gitignore` and `.npmignore`
235
-
236
- ### Added
237
-
238
- - **Soak testing** -- 500-operation stability test (1800+ ops/sec, 0 failures)
239
- - **Binary builds** -- `scripts/build-binaries.js` for standalone executables
240
- - **CI/CD pipeline** -- `.github/workflows/release.yml` for automated releases
241
- - **Value verification** -- `scripts/value-test.js` proves cross-session memory recall
242
- - **Performance stats** -- Added to README (<1ms latency, 1800+ ops/sec)
243
- - **Direct download** -- README Option 3 for binary downloads
244
-
245
- ## [1.0.0] -- 2026-02-18
246
-
247
- ### Added
248
-
249
- - **`force_recall` tool** — Mandatory context injection at conversation start
250
- - **`quick_store` tool** — One-sentence memory storage with auto-classification
251
- - **`store_memory` / `recall_memory`** — Full memory CRUD with type, tags, reason
252
- - **`update_memory` / `delete_memory` / `list_memories`** — Memory management
253
- - **`auto_learn` tool** — Extracts decisions and patterns from AI responses
254
- - **`verify_code` tool** — Detects hallucinated imports, exports, env variables
255
- - **`verify_files` tool** — Catches hallucinated file paths
256
- - **`scan_project` tool** — Scans project structure, stack, and git history
257
- - **`get_context` tool** — Compressed context for current file
258
- - **`get_stats` / `health_check`** — Database and server diagnostics
259
- - **`export_memories` / `import_memories`** — JSON bundle export/import with dedup
260
- - **Git auto-capture** — `post-commit` hook classifies every commit as a memory
261
- - **Branch/merge capture** — `post-checkout` and `post-merge` hooks track workflow
262
- - **Build error capture** — `cortex-run` wrapper captures test/build failures
263
- - **Optional LLM enhancement** — OpenAI/Anthropic/compatible APIs for smarter classification
264
- - **Web dashboard** — localhost:3456 with memory viewer, search, export
265
- - **`cortex-setup` CLI** — Auto-configures Antigravity, Claude, Cursor, Copilot, Windsurf, Zed
266
- - **CLI routing** — `npx cortex-mcp setup` and `--version` subcommands
267
- - **Quality gates** — Junk rejection, contradiction detection, deduplication
268
- - **Rate limiting** — 30 stores, 100 auto-learns, 500 calls per session
269
- - **Memory decay** — Stale/low-quality memories cleaned automatically
270
- - **Crash protection** — `uncaughtException` and `unhandledRejection` handlers
271
- - **Degraded mode** — Server reports errors instead of crashing if DB init fails
272
-
273
- ### Technical
274
-
275
- - SQLite-backed persistence with FTS5 full-text search
276
- - MiniLM-L6-v2 semantic embeddings via `@xenova/transformers` (background worker)
277
- - Hybrid retrieval: semantic similarity + keyword FTS + recency scoring
278
- - Direct SQLite hooks for sub-500ms git hook execution
279
- - Optional LLM with graceful fallback to keyword classification
1
+ # Changelog
2
+
3
+ All notable changes to `cortex-mcp` are documented here.
4
+
5
+ ---
6
+
7
+ ## [1.0.6] — 2026-03-14
8
+
9
+ ### Everything Is Now 100% Free
10
+ - Removed all feature gates, paywalls, and license checks
11
+ - All 35 tools available to every user with no restrictions
12
+ - Limits auto-reset every 24 hours (no more "restart to reset")
13
+
14
+ ### Critical Bug Fixes
15
+ - **FIXED:** `memory-store.js` — `this` binding lost in `.map()` callbacks caused `getActive()`, `getByType()`, `getByFile()` to crash in strict mode
16
+ - **FIXED:** `git-hooks.js` — Wrong database path (`cortex.db` → `data/cognitive.db`) caused all branch-switch and merge memories to be silently dropped
17
+ - **FIXED:** `git-hooks.js`Missing `created_at` NOT NULL column in INSERT statement
18
+ - **FIXED:** `git-capture.js` — Same missing `created_at` column bug
19
+ - **FIXED:** `clear_memories` — Crashed with JS spread operator `...params` in better-sqlite3 `.all()`
20
+ - **FIXED:** `search_timeline` — Same spread crash
21
+ - **FIXED:** `backup_brain` — Pointed to wrong property for DB file path (`dbPath` → `memoryStore.db.name`)
22
+ - **FIXED:** `undo_last` — Was ordering by `timestamp` (last-accessed) instead of `created_at` (birth time), causing wrong memory to be undone
23
+
24
+ ### New Tools (3 Added)
25
+ - **`export_memories`** — Export entire brain to a shareable JSON file
26
+ - **`import_memories`** — Import memories from JSON (skips duplicates)
27
+ - **`get_related_memories`** — Graph traversal: find memories connected by relationship edges
28
+
29
+ ### New Features
30
+ - **Dashboard fully interactive** — Delete and pin memories directly from `localhost:3456`
31
+ - **Dashboard live refresh** — Auto-refreshes every 30 seconds
32
+ - **Dashboard dark theme** — Beautiful, professional UI with Inter font
33
+ - **24h auto rate-limit reset** Limits reset automatically, no server restart needed
34
+ - **MEMORY_CAP raised** — Maintenance (decay/consolidation) now spans up to 10,000 memories
35
+ - **MAX_CONTEXT_CHARS raised** — Context injected per request raised from 3,000 to 12,000 characters
36
+ - **Context configurable** — Set `CORTEX_MAX_CONTEXT_CHARS` env var to customize
37
+ - **Memory IDs in recall output** — `recall_memory` now shows IDs so you can immediately pin/downvote
38
+ - **Correct tool names in setup rules** — AI instruction files now reference `force_recall` (not `mcp_cortex_force_recall`)
39
+
40
+ ### Performance
41
+ - Added `idx_signals_memory` index on `user_signals(memory_id)` 100x faster feedback lookups
42
+ - All database maintenance operations raised from 500 → 10,000 memory cap
43
+
44
+ ---
45
+
46
+ ## [1.0.4] 2026-02-xx
47
+
48
+ ### Initial public release
49
+ - Core MCP server with stdio transport
50
+ - 25 tools for memory storage, recall, and project scanning
51
+ - SQLite database with FTS5 full-text search
52
+ - Vector search with `@xenova/transformers` (local, no API key)
53
+ - Auto-learning from AI responses
54
+ - Memory decay and confidence scoring
55
+ - Memory consolidation (dedup)
56
+ - Git commit capture via hooks
57
+ - Web dashboard at localhost:3456
58
+ - Auto-setup for Cursor, Claude, Windsurf, Copilot, Zed, Antigravity