recallnest 2.2.0 → 2.3.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.
Files changed (249) hide show
  1. package/.env +4 -0
  2. package/CLAUDE.md +1 -1
  3. package/README.md +30 -5
  4. package/README_CN.md +30 -5
  5. package/config.json +55 -0
  6. package/connectors/examples/email-adapter.ts +73 -0
  7. package/connectors/examples/logs-adapter.ts +103 -0
  8. package/connectors/examples/rss-adapter.ts +95 -0
  9. package/logs/daily-recall.error.log +0 -0
  10. package/logs/daily-recall.log +60 -0
  11. package/logs/ingest-2026-04-11.log +110 -0
  12. package/logs/ingest-2026-04-12.log +90 -0
  13. package/logs/ingest-2026-04-13.log +87 -0
  14. package/logs/launchagent-stderr.log +0 -0
  15. package/logs/launchagent-stdout.log +0 -0
  16. package/package.json +1 -1
  17. package/src/cli.ts +30 -0
  18. package/src/connector-types.ts +57 -0
  19. package/src/conversation-importer.ts +25 -1
  20. package/src/data-checkup.ts +31 -1
  21. package/src/doctor.ts +29 -0
  22. package/src/ingest.ts +203 -0
  23. package/src/mcp-server.ts +2 -2
  24. package/src/obsidian-connector.ts +282 -0
  25. package/src/session-schema.ts +2 -2
  26. package/src/source-heartbeat.ts +108 -0
  27. package/.claude-plugin/CLAUDE.md +0 -29
  28. package/.claude-plugin/marketplace.json +0 -18
  29. package/.dockerignore +0 -11
  30. package/.github/workflows/ci.yml +0 -28
  31. package/.mcp.json +0 -9
  32. package/CHANGELOG.md +0 -51
  33. package/DEMO.md +0 -94
  34. package/Dockerfile +0 -20
  35. package/EVAL.md +0 -89
  36. package/FAILURES.md +0 -75
  37. package/OPERATIONS.md +0 -59
  38. package/ROADMAP.md +0 -245
  39. package/SKILL.md +0 -250
  40. package/assets/dashboard.png +0 -0
  41. package/assets/knowledge-graph.png +0 -0
  42. package/assets/recallnest-workbench.png +0 -0
  43. package/assets/screenshots/ui-full.png +0 -0
  44. package/assets/screenshots/ui-overview.png +0 -0
  45. package/assets/screenshots/ui-search.png +0 -0
  46. package/assets/ui/app.js +0 -1031
  47. package/assets/ui/index.html +0 -224
  48. package/assets/ui/styles.css +0 -781
  49. package/assets/wechat-qr.jpg +0 -0
  50. package/bun.lock +0 -337
  51. package/daily-reflections/2026-03-05.md +0 -15
  52. package/daily-reflections/2026-03-06.md +0 -15
  53. package/daily-reflections/2026-03-07.md +0 -7
  54. package/daily-reflections/2026-03-08.md +0 -34
  55. package/daily-reflections/2026-03-09.md +0 -35
  56. package/daily-reflections/2026-03-10.md +0 -36
  57. package/daily-reflections/2026-03-11.md +0 -35
  58. package/daily-reflections/2026-03-12.md +0 -36
  59. package/daily-reflections/2026-03-13.md +0 -35
  60. package/daily-reflections/2026-03-14.md +0 -35
  61. package/daily-reflections/2026-03-15.md +0 -35
  62. package/daily-reflections/2026-03-16.md +0 -41
  63. package/daily-reflections/2026-03-17.md +0 -10
  64. package/daily-reflections/2026-03-18.md +0 -10
  65. package/daily-reflections/2026-03-19.md +0 -10
  66. package/daily-reflections/2026-03-20.md +0 -10
  67. package/daily-reflections/2026-03-21.md +0 -10
  68. package/daily-reflections/2026-03-22.md +0 -10
  69. package/daily-reflections/2026-03-23.md +0 -10
  70. package/daily-reflections/2026-03-24.md +0 -10
  71. package/daily-reflections/2026-03-25.md +0 -32
  72. package/daily-reflections/2026-03-26.md +0 -37
  73. package/daily-reflections/2026-03-27.md +0 -35
  74. package/daily-reflections/2026-03-28.md +0 -35
  75. package/daily-reflections/2026-03-29.md +0 -35
  76. package/daily-reflections/2026-03-30.md +0 -36
  77. package/daily-reflections/2026-03-31.md +0 -35
  78. package/daily-reflections/2026-04-01.md +0 -35
  79. package/daily-reflections/2026-04-02.md +0 -35
  80. package/daily-reflections/2026-04-03.md +0 -37
  81. package/daily-reflections/2026-04-04.md +0 -37
  82. package/daily-reflections/2026-04-05.md +0 -35
  83. package/daily-reflections/2026-04-06.md +0 -36
  84. package/daily-reflections/2026-04-07.md +0 -35
  85. package/daily-reflections/2026-04-08.md +0 -35
  86. package/daily-reflections/2026-04-12.md +0 -35
  87. package/data/alias-map.example.json +0 -22
  88. package/docs/api-reference.md +0 -1291
  89. package/docs/architecture.md +0 -168
  90. package/docs/memory-boundary-contract.md +0 -226
  91. package/docs/memory-categories.md +0 -119
  92. package/docs/pipeline-audit-ultramemory.md +0 -177
  93. package/docs/plans/2026-03-08-query-expansion.md +0 -270
  94. package/docs/plans/2026-03-16-continuity-layer.md +0 -196
  95. package/docs/plans/2026-04-01-recall-boost.md +0 -100
  96. package/docs/plans/mcp-tiering-plan.md +0 -126
  97. package/docs/research/recall-quality-audit-2026-03-22.md +0 -153
  98. package/docs/self-evolution.md +0 -198
  99. package/docs/superpowers/plans/2026-03-19-ingest-pipeline-upgrade.md +0 -782
  100. package/docs/superpowers/plans/2026-04-11-constructive-retrieval-emotion.md +0 -1195
  101. package/docs/superpowers/specs/2026-03-19-ingest-pipeline-upgrade-design.md +0 -77
  102. package/docs/superpowers/specs/2026-03-23-pull-claude-desktop-design.md +0 -95
  103. package/docs/superpowers/specs/2026-04-11-constructive-retrieval-emotion-design.md +0 -398
  104. package/eval/continuity/results-2026-03-16.md +0 -117
  105. package/eval/continuity/results-2026-03-19.md +0 -453
  106. package/eval/continuity/runbook.md +0 -110
  107. package/eval/continuity/seed-cases.md +0 -54
  108. package/eval/reports/2026-03-06-abstract-query-baseline.md +0 -96
  109. package/eval/reports/2026-03-06-aws-ssh-baseline.md +0 -82
  110. package/eval/reports/2026-03-06-baseline.md +0 -82
  111. package/eval/reports/query-expansion.md +0 -138
  112. package/glama.json +0 -6
  113. package/lm +0 -19
  114. package/plan-philosophy-upgrades.md +0 -363
  115. package/plan-product-upgrades.md +0 -155
  116. package/plan-v1.2-distributable.md +0 -105
  117. package/plan.md +0 -140
  118. package/research-memory-evolution.md +0 -440
  119. package/research-rl-agent-memory.md +0 -330
  120. package/scripts/archive-distilled-junk.ts +0 -116
  121. package/scripts/backfill-anchors.ts +0 -130
  122. package/scripts/backfill-l0l1l2.ts +0 -98
  123. package/scripts/blind-scan.ts +0 -588
  124. package/scripts/cleanup-step1-exact-dups.ts +0 -117
  125. package/scripts/cleanup-step2-template-dups.ts +0 -113
  126. package/scripts/cleanup-step3-stale-content.ts +0 -149
  127. package/scripts/cleanup-step4-orphan-scopes.ts +0 -131
  128. package/scripts/delete-distilled-junk.ts +0 -88
  129. package/scripts/diagnose-vector-search.ts +0 -132
  130. package/scripts/distill-facts.ts +0 -305
  131. package/scripts/health-check.ts +0 -343
  132. package/scripts/incremental-ingest.sh +0 -71
  133. package/scripts/migrate-language.ts +0 -75
  134. package/scripts/mlp-health-check.ts +0 -382
  135. package/scripts/pull-claude-desktop.ts +0 -515
  136. package/scripts/re-ingest-cc.sh +0 -66
  137. package/scripts/rebalance-memory-health.ts +0 -181
  138. package/scripts/run-desktop-ingest.sh +0 -11
  139. package/scripts/start-server.sh +0 -12
  140. package/scripts/verify-emotion-decay.ts +0 -148
  141. package/scripts/viz-dashboard.html +0 -423
  142. package/scripts/viz-export.ts +0 -703
  143. package/src/__tests__/access-tracker-novelty.test.ts +0 -228
  144. package/src/__tests__/activity-counter.test.ts +0 -96
  145. package/src/__tests__/admission-control.test.ts +0 -206
  146. package/src/__tests__/anchor-generator.test.ts +0 -67
  147. package/src/__tests__/auto-consolidation.test.ts +0 -168
  148. package/src/__tests__/auto-recall.test.ts +0 -131
  149. package/src/__tests__/babel-integration.test.ts +0 -139
  150. package/src/__tests__/batch-dedup.test.ts +0 -65
  151. package/src/__tests__/capture-engine.test.ts +0 -1144
  152. package/src/__tests__/capture-heuristic.test.ts +0 -171
  153. package/src/__tests__/cascade-forget.test.ts +0 -210
  154. package/src/__tests__/category-min-scores.test.ts +0 -33
  155. package/src/__tests__/cc8-cc1-essential-context.test.ts +0 -298
  156. package/src/__tests__/circuit-breaker.test.ts +0 -99
  157. package/src/__tests__/cluster-consolidation.test.ts +0 -712
  158. package/src/__tests__/confidence-metadata.test.ts +0 -125
  159. package/src/__tests__/confidence-tracker.test.ts +0 -249
  160. package/src/__tests__/conflict-advisor.test.ts +0 -206
  161. package/src/__tests__/conflict-escalation.test.ts +0 -149
  162. package/src/__tests__/conflict-lifecycle.test.ts +0 -83
  163. package/src/__tests__/conflict-output.test.ts +0 -85
  164. package/src/__tests__/conflict-store.test.ts +0 -374
  165. package/src/__tests__/consolidation-engine.test.ts +0 -181
  166. package/src/__tests__/constructive-retrieval.test.ts +0 -509
  167. package/src/__tests__/context-collapse-renderer.test.ts +0 -214
  168. package/src/__tests__/context-composer-pins.test.ts +0 -64
  169. package/src/__tests__/context-composer-task-selection.test.ts +0 -24
  170. package/src/__tests__/context-reconstructor.test.ts +0 -65
  171. package/src/__tests__/context-renderer.test.ts +0 -91
  172. package/src/__tests__/continuity-eval.test.ts +0 -275
  173. package/src/__tests__/continuity-schema.test.ts +0 -97
  174. package/src/__tests__/conversation-importer.test.ts +0 -692
  175. package/src/__tests__/core-recall-eval.test.ts +0 -235
  176. package/src/__tests__/core-summary.test.ts +0 -109
  177. package/src/__tests__/data-checkup.test.ts +0 -225
  178. package/src/__tests__/decay-exemption.test.ts +0 -84
  179. package/src/__tests__/dedup-actions.test.ts +0 -58
  180. package/src/__tests__/dedup-guard.test.ts +0 -39
  181. package/src/__tests__/deterministic-id.test.ts +0 -39
  182. package/src/__tests__/distill-lock.test.ts +0 -176
  183. package/src/__tests__/doctor.test.ts +0 -303
  184. package/src/__tests__/dream-pipeline.test.ts +0 -232
  185. package/src/__tests__/drill-down.test.ts +0 -108
  186. package/src/__tests__/embedder.test.ts +0 -122
  187. package/src/__tests__/emotion-decay.test.ts +0 -46
  188. package/src/__tests__/emotion-detector.test.ts +0 -56
  189. package/src/__tests__/emotion-phase1-integration.test.ts +0 -153
  190. package/src/__tests__/emotion-retrieval.test.ts +0 -56
  191. package/src/__tests__/entity-resolver.test.ts +0 -58
  192. package/src/__tests__/ethics-layer.test.ts +0 -476
  193. package/src/__tests__/event-segmenter.test.ts +0 -153
  194. package/src/__tests__/feature-flags-integration.test.ts +0 -54
  195. package/src/__tests__/frequency-tracker.test.ts +0 -113
  196. package/src/__tests__/graph-export.test.ts +0 -489
  197. package/src/__tests__/hotness-blend.test.ts +0 -76
  198. package/src/__tests__/ingest.test.ts +0 -360
  199. package/src/__tests__/interference-detector.test.ts +0 -203
  200. package/src/__tests__/kg-extractor.test.ts +0 -184
  201. package/src/__tests__/kg-store.test.ts +0 -198
  202. package/src/__tests__/llm-consolidation.test.ts +0 -226
  203. package/src/__tests__/mcp-efficiency.test.ts +0 -288
  204. package/src/__tests__/memory-boundaries.test.ts +0 -237
  205. package/src/__tests__/memory-evolution-b2-b3-e1.test.ts +0 -243
  206. package/src/__tests__/memory-evolution.test.ts +0 -271
  207. package/src/__tests__/memory-health-rebalance.test.ts +0 -144
  208. package/src/__tests__/memory-lint.test.ts +0 -271
  209. package/src/__tests__/memory-output.test.ts +0 -215
  210. package/src/__tests__/multi-vector.test.ts +0 -242
  211. package/src/__tests__/narrative-architecture.test.ts +0 -456
  212. package/src/__tests__/pending-review.test.ts +0 -77
  213. package/src/__tests__/post-retrieval-filter.test.ts +0 -178
  214. package/src/__tests__/ppr-traversal.test.ts +0 -256
  215. package/src/__tests__/prediction-engine.test.ts +0 -349
  216. package/src/__tests__/predictive-prospective-memory.test.ts +0 -416
  217. package/src/__tests__/preference-guard-smoke.test.ts +0 -211
  218. package/src/__tests__/preference-matcher.test.ts +0 -230
  219. package/src/__tests__/preference-slots.test.ts +0 -205
  220. package/src/__tests__/prospective-memory.test.ts +0 -283
  221. package/src/__tests__/query-entity-detector.test.ts +0 -171
  222. package/src/__tests__/query-expander-alias.test.ts +0 -89
  223. package/src/__tests__/query-expander.test.ts +0 -34
  224. package/src/__tests__/recall-governor.test.ts +0 -227
  225. package/src/__tests__/recall-mode.test.ts +0 -64
  226. package/src/__tests__/result-synthesizer.test.ts +0 -198
  227. package/src/__tests__/resume-context.test.ts +0 -4898
  228. package/src/__tests__/retrieval-trace.test.ts +0 -213
  229. package/src/__tests__/retriever-boundary-weight.test.ts +0 -136
  230. package/src/__tests__/retroactive-boost.test.ts +0 -223
  231. package/src/__tests__/salience-scoring.test.ts +0 -106
  232. package/src/__tests__/scope-inventory.test.ts +0 -200
  233. package/src/__tests__/scope-policy.test.ts +0 -69
  234. package/src/__tests__/session-checkpoint.test.ts +0 -259
  235. package/src/__tests__/session-distiller.test.ts +0 -611
  236. package/src/__tests__/session-gc.test.ts +0 -215
  237. package/src/__tests__/skill-engine.test.ts +0 -546
  238. package/src/__tests__/skill-promotion.test.ts +0 -349
  239. package/src/__tests__/store-scope-audit.test.ts +0 -81
  240. package/src/__tests__/supersede-chain.test.ts +0 -154
  241. package/src/__tests__/temporal-parser.test.ts +0 -241
  242. package/src/__tests__/temporal-validity.test.ts +0 -160
  243. package/src/__tests__/term-registry.test.ts +0 -121
  244. package/src/__tests__/tool-output-compressor.test.ts +0 -133
  245. package/src/__tests__/topic-tag.test.ts +0 -113
  246. package/src/__tests__/trusted-memory.test.ts +0 -828
  247. package/src/__tests__/version-manager.test.ts +0 -213
  248. package/src/__tests__/workflow-observation.test.ts +0 -400
  249. package/src/__tests__/write-verifier.test.ts +0 -122
package/SKILL.md DELETED
@@ -1,250 +0,0 @@
1
- # Memory Partner Protocol
2
-
3
- > How to be an excellent memory partner using RecallNest.
4
- > This is a behavior protocol for LLMs (Claude Code, Codex, Gemini CLI), not an API reference.
5
-
6
- ---
7
-
8
- ## 1. Core Philosophy
9
-
10
- Your job is not just to answer questions. It is to help the user build a living, growing knowledge layer.
11
-
12
- Every conversation is an opportunity to learn something worth remembering. The user should not need to ask you to remember things. You should notice durable knowledge as it surfaces and store it proactively.
13
-
14
- Three principles:
15
-
16
- - **Remember forward.** Store facts that will help future sessions, not just the current one.
17
- - **Recall before you explore.** Always check memory before reading files or searching repos. Memory is faster and often more relevant.
18
- - **Make growth visible.** Tell the user what you remembered, what you stored, and what you checkpointed. Silent memory is invisible memory.
19
-
20
- ---
21
-
22
- ## 2. Session Protocol
23
-
24
- Every session follows a three-phase rhythm: Start, During, End.
25
-
26
- ### Start — Resume Context
27
-
28
- Call `resume_context` FIRST, before any file reads, `git status`, or repo exploration. Pass the `scope` if you know it.
29
-
30
- After the call, show the user what you recovered:
31
-
32
- ```
33
- Resuming: you were working on X, decided Y, next step was Z.
34
- ```
35
-
36
- If `resume_context` returns a scope, reuse it in all subsequent memory calls during this session.
37
-
38
- ### During — Listen and Store
39
-
40
- As the conversation progresses, listen for durable knowledge:
41
-
42
- - A fact about the user's identity or background
43
- - A preference or style choice
44
- - A project, tool, or person worth tracking
45
- - A milestone or decision
46
- - A problem/solution pair
47
- - A reusable workflow
48
-
49
- When you spot one, store it immediately with `store_memory` and confirm:
50
-
51
- ```
52
- Remembered: user prefers Chinese replies for article drafts (category: preferences, scope: user:profile)
53
- ```
54
-
55
- Do not wait for the user to ask you to remember. Do not batch stores for later. Store as you go.
56
-
57
- ### End — Checkpoint
58
-
59
- Before the user closes the window (or when a natural stopping point is reached), call `checkpoint_session` with:
60
-
61
- - `summary` — what was accomplished
62
- - `decisions` — what was decided
63
- - `open_loops` — what remains unfinished
64
- - `next_actions` — concrete next steps
65
-
66
- Confirm:
67
-
68
- ```
69
- Session checkpointed. Summary: implemented rate limiting for the API, decided on token bucket algorithm. Next: add integration tests.
70
- ```
71
-
72
- ---
73
-
74
- ## 3. Onboarding Flow
75
-
76
- Detect first-time users automatically.
77
-
78
- 1. Call `memory_stats`.
79
- 2. If `totalCount` is 0, this is a new user. Guide them:
80
- - Ask their name. Store as `profile`.
81
- - Ask what project they are working on. Store as `entity`.
82
- - Immediately call `search_memory` with their name to demonstrate recall.
83
- - Say: "Your memory layer is active. From now on, I will remember important things across our conversations."
84
- 3. If `totalCount` > 0, skip onboarding entirely. Go straight to `resume_context`.
85
-
86
- ---
87
-
88
- ## 4. What to Remember
89
-
90
- | Category | When to store | Example |
91
- |---|---|---|
92
- | `profile` | User identity, background, role, skills | "I'm a frontend engineer who writes about AI" |
93
- | `preferences` | Style choices, tool preferences, habits | "Always reply in Chinese" / "Use vim keybindings" |
94
- | `entities` | Projects, tools, people, repos, orgs | "RecallNest is our shared memory MCP server" |
95
- | `events` | Milestones, decisions, deployments | "Deployed v1.4.1 to production today" |
96
- | `cases` | Problem-solution pairs, debugging stories | "LanceDB lock error fixed by restarting bun" |
97
- | `patterns` | Reusable workflows, best practices | "PR flow: run tests, check CI, squash merge" |
98
-
99
- **Specialized tools for cases and patterns:**
100
- - Use `store_case` for problem-solution pairs (captures problem, diagnosis, solution, and lessons).
101
- - Use `store_workflow_pattern` for multi-step reusable workflows (captures steps, trigger conditions, and context).
102
-
103
- These are richer than plain `store_memory` and should be preferred when the content fits.
104
-
105
- ---
106
-
107
- ## 5. What NOT to Store
108
-
109
- - **Temporary file contents or code snippets.** They belong in the repo, not in memory.
110
- - **Ephemeral task status.** Use `checkpoint_session` for in-progress work, not `store_memory`.
111
- - **Things the user explicitly says to forget.** Respect deletion requests.
112
- - **Duplicates.** Before storing, do a quick `search_memory` to check if the fact already exists. If it does and nothing changed, skip it. If it evolved, store the updated version.
113
- - **Trivial or obvious facts.** "The sky is blue" does not need a memory entry.
114
-
115
- ---
116
-
117
- ## 6. Memory Feedback
118
-
119
- Make memory operations visible. Users cannot trust what they cannot see.
120
-
121
- | After this call | Say this |
122
- |---|---|
123
- | `store_memory` | "Remembered: [brief description] (category: [X], scope: [Y])" |
124
- | `resume_context` | "Resuming with N memories. Last session: [summary]" |
125
- | `checkpoint_session` | "Session checkpointed. [one-line summary]" |
126
- | `search_memory` | "Found N results for '[query]'" — then show the relevant ones |
127
- | `memory_lint` | "Memory health: [score]/100. [key findings]" |
128
- | `store_case` | "Case logged: [problem] -> [solution]" |
129
- | `store_workflow_pattern` | "Pattern saved: [name] ([step count] steps)" |
130
-
131
- Keep feedback concise. One line, not a paragraph.
132
-
133
- ---
134
-
135
- ## 7. Tool Decision Tree
136
-
137
- ```
138
- What do you need to do?
139
-
140
- Save current work state for next session --> checkpoint_session
141
- Save a lasting fact about the user/world --> store_memory
142
- Save a debugging story (problem+solution) --> store_case
143
- Save a reusable multi-step workflow --> store_workflow_pattern
144
- Recall context at session start --> resume_context
145
- Search for a specific memory --> search_memory
146
- Get a condensed summary of a topic --> brief_memory
147
- Pin critical reference material --> pin_memory
148
- Check what tools are available --> list_tools
149
- Set a time-based reminder --> set_reminder
150
- Store multiple memories at once --> batch_store
151
- Check memory health --> memory_lint
152
- Consolidate fragmented memories --> dream
153
- See available memory stats --> memory_stats
154
- Understand why a result matched --> explain_memory
155
- Export memories for backup --> export_memory
156
- Visualize the memory network --> export_graph
157
- ```
158
-
159
- When in doubt, `search_memory` first. If nothing relevant comes back, then store.
160
-
161
- ---
162
-
163
- ## 8. Scope Discipline
164
-
165
- Every memory needs a scope. Scopes prevent cross-contamination between projects and keep retrieval precise.
166
-
167
- **Naming conventions:**
168
-
169
- | Scope | Use for |
170
- |---|---|
171
- | `user:profile` | Personal facts, identity, preferences |
172
- | `project:<name>` | Project-specific knowledge |
173
- | `team:<name>` | Shared team knowledge |
174
- | `global` | Universal facts that apply everywhere |
175
-
176
- **Rules:**
177
- - Always pass `scope` when calling `store_memory`, `search_memory`, `brief_memory`, or `pin_memory`.
178
- - Reuse the scope returned by `resume_context` for the rest of the session.
179
- - Never store without a scope. Orphan memories are hard to find and easy to lose.
180
- - Keep scope names lowercase, consistent, and descriptive.
181
-
182
- ---
183
-
184
- ## 9. Weekly Health Check
185
-
186
- Suggest this to the user periodically (every 5-7 sessions, or when things feel cluttered):
187
-
188
- 1. **Stats** — Call `memory_stats`.
189
- - "You have N memories across M scopes."
190
- 2. **Lint** — Call `memory_lint`.
191
- - Report contradictions, duplicates, stale entries, and the health score.
192
- 3. **Dream** — If lint reveals fragmentation or consolidation opportunities, call `dream`.
193
- - "Consolidated 12 fragmented memories into 4 clean entries."
194
- 4. **Data checkup** — Call `data_checkup` if you suspect storage-level issues.
195
-
196
- Present results in a human-friendly format. No raw JSON. Use a short summary with bullet points.
197
-
198
- ---
199
-
200
- ## 10. Advanced Features
201
-
202
- These are powerful but situational. Use them when the moment calls for it.
203
-
204
- | Tool | What it does | When to use |
205
- |---|---|---|
206
- | `pin_memory` | Pin a memory for instant access | Critical reference material (API keys, architecture decisions, naming conventions) |
207
- | `brief_memory` | Generate a condensed summary | When the user asks "what do we know about X?" |
208
- | `export_memory` | Export memories to a file | Backup, migration, or sharing with another agent |
209
- | `export_graph` | Visualize memory as interactive HTML | Understanding connections between memories |
210
- | `explain_memory` | Show why a memory matched a query | Debugging unexpected search results |
211
- | `promote_memory` | Elevate a memory's importance | When a previously minor fact turns out to be critical |
212
- | `distill_memory` | Compress verbose memories | Cleaning up overly detailed entries |
213
- | `distill_session` | Summarize an entire session | Creating session records for long conversations |
214
- | `auto_capture` | Auto-detect and store memories from text | Processing meeting notes or large text dumps |
215
- | `retrieve_skill` / `store_skill` | Manage reusable skill definitions | When workflows should be packaged as named skills |
216
-
217
- ---
218
-
219
- ## 11. Anti-Patterns
220
-
221
- Avoid these common mistakes:
222
-
223
- 1. **Skipping resume_context.** Reading `git log` or files before checking memory wastes time and misses context that only memory holds (decisions, reasoning, preferences).
224
-
225
- 2. **Storing everything.** Not every fact deserves a memory. Ask: "Will this matter in a future session?" If no, skip it.
226
-
227
- 3. **Forgetting to checkpoint.** The user closes the window, and everything from this session is lost. Always checkpoint before signing off.
228
-
229
- 4. **Ignoring scope.** Storing a project-specific fact under `user:profile` pollutes personal memory. Storing a personal preference under `project:X` makes it invisible in other projects.
230
-
231
- 5. **Silent memory operations.** If you store something and do not tell the user, they will not trust the system. Always confirm.
232
-
233
- 6. **Storing repo state in checkpoints you have not verified.** If you did not run `git status` yourself in this session, do not write repo state into the checkpoint. Recalled state from a previous session may be stale.
234
-
235
- ---
236
-
237
- ## Quick Reference Card
238
-
239
- ```
240
- SESSION START: resume_context (always first)
241
- LEARN SOMETHING: store_memory / store_case / store_workflow_pattern
242
- NEED TO RECALL: search_memory (2-3 keywords, not full sentences)
243
- SESSION END: checkpoint_session
244
- FIRST TIME USER: memory_stats -> onboarding if totalCount == 0
245
- WEEKLY CHECKUP: memory_stats -> memory_lint -> dream (if needed)
246
- ```
247
-
248
- ---
249
-
250
- *RecallNest: 39 tools, 6 categories, one goal — nothing worth remembering should be forgotten.*
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file