@rune-kit/rune 2.10.0 → 2.12.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 (240) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +65 -6
  3. package/commands/rune.md +168 -168
  4. package/compiler/__tests__/detect-invariants.test.js +136 -0
  5. package/compiler/__tests__/doctor-mesh.test.js +229 -0
  6. package/compiler/__tests__/hook-dispatch.test.js +91 -0
  7. package/compiler/__tests__/hooks-antigravity.test.js +118 -0
  8. package/compiler/__tests__/hooks-cursor.test.js +139 -0
  9. package/compiler/__tests__/hooks-install.test.js +305 -0
  10. package/compiler/__tests__/hooks-merge.test.js +204 -0
  11. package/compiler/__tests__/hooks-tiers.test.js +519 -0
  12. package/compiler/__tests__/hooks-windsurf.test.js +115 -0
  13. package/compiler/__tests__/inject-claude-md.test.js +152 -0
  14. package/compiler/__tests__/load-invariants.test.js +408 -0
  15. package/compiler/__tests__/onboard-invariants.test.js +240 -0
  16. package/compiler/adapters/hooks/antigravity.js +140 -0
  17. package/compiler/adapters/hooks/claude.js +166 -0
  18. package/compiler/adapters/hooks/cursor.js +191 -0
  19. package/compiler/adapters/hooks/index.js +82 -0
  20. package/compiler/adapters/hooks/tier-emitter.js +182 -0
  21. package/compiler/adapters/hooks/windsurf.js +202 -0
  22. package/compiler/bin/rune.js +196 -6
  23. package/compiler/commands/hook-dispatch.js +87 -0
  24. package/compiler/commands/hooks/install.js +120 -0
  25. package/compiler/commands/hooks/merge.js +211 -0
  26. package/compiler/commands/hooks/presets.js +116 -0
  27. package/compiler/commands/hooks/status.js +112 -0
  28. package/compiler/commands/hooks/tiers.js +221 -0
  29. package/compiler/commands/hooks/uninstall.js +94 -0
  30. package/compiler/doctor.js +236 -0
  31. package/contexts/dev.md +34 -34
  32. package/contexts/research.md +43 -43
  33. package/contexts/review.md +55 -55
  34. package/extensions/ai-ml/PACK.md +88 -88
  35. package/extensions/ai-ml/skills/ai-agents.md +172 -172
  36. package/extensions/ai-ml/skills/code-sandbox.md +187 -187
  37. package/extensions/ai-ml/skills/deep-research.md +146 -146
  38. package/extensions/ai-ml/skills/embedding-search.md +66 -66
  39. package/extensions/ai-ml/skills/fine-tuning-guide.md +74 -74
  40. package/extensions/ai-ml/skills/llm-architect.md +125 -125
  41. package/extensions/ai-ml/skills/llm-integration.md +64 -64
  42. package/extensions/ai-ml/skills/prompt-patterns.md +72 -72
  43. package/extensions/ai-ml/skills/rag-patterns.md +66 -66
  44. package/extensions/ai-ml/skills/web-extraction.md +114 -114
  45. package/extensions/analytics/PACK.md +92 -92
  46. package/extensions/analytics/skills/ab-testing.md +72 -72
  47. package/extensions/analytics/skills/dashboard-patterns.md +83 -83
  48. package/extensions/analytics/skills/data-validation.md +68 -68
  49. package/extensions/analytics/skills/funnel-analysis.md +81 -81
  50. package/extensions/analytics/skills/sql-patterns.md +57 -57
  51. package/extensions/analytics/skills/statistical-analysis.md +79 -79
  52. package/extensions/analytics/skills/tracking-setup.md +71 -71
  53. package/extensions/backend/PACK.md +104 -104
  54. package/extensions/backend/skills/api-patterns.md +84 -84
  55. package/extensions/backend/skills/async-pipeline.md +193 -193
  56. package/extensions/backend/skills/auth-patterns.md +97 -97
  57. package/extensions/backend/skills/background-jobs.md +133 -133
  58. package/extensions/backend/skills/caching-patterns.md +108 -108
  59. package/extensions/backend/skills/cli-generation.md +133 -133
  60. package/extensions/backend/skills/database-patterns.md +87 -87
  61. package/extensions/backend/skills/middleware-patterns.md +104 -104
  62. package/extensions/chrome-ext/PACK.md +93 -93
  63. package/extensions/chrome-ext/skills/cws-preflight.md +143 -143
  64. package/extensions/chrome-ext/skills/cws-publish.md +104 -104
  65. package/extensions/chrome-ext/skills/ext-ai-integration.md +251 -251
  66. package/extensions/chrome-ext/skills/ext-messaging.md +139 -139
  67. package/extensions/chrome-ext/skills/ext-storage.md +133 -133
  68. package/extensions/chrome-ext/skills/mv3-scaffold.md +164 -164
  69. package/extensions/content/PACK.md +96 -96
  70. package/extensions/content/skills/blog-patterns.md +88 -88
  71. package/extensions/content/skills/cms-integration.md +131 -131
  72. package/extensions/content/skills/content-scoring.md +107 -107
  73. package/extensions/content/skills/i18n.md +83 -83
  74. package/extensions/content/skills/mdx-authoring.md +137 -137
  75. package/extensions/content/skills/reference.md +1014 -1014
  76. package/extensions/content/skills/seo-patterns.md +67 -67
  77. package/extensions/content/skills/video-repurpose.md +153 -153
  78. package/extensions/devops/PACK.md +101 -101
  79. package/extensions/devops/skills/chaos-testing.md +67 -67
  80. package/extensions/devops/skills/ci-cd.md +75 -75
  81. package/extensions/devops/skills/docker.md +58 -58
  82. package/extensions/devops/skills/edge-serverless.md +163 -163
  83. package/extensions/devops/skills/infra-as-code.md +158 -158
  84. package/extensions/devops/skills/kubernetes.md +110 -110
  85. package/extensions/devops/skills/monitoring.md +57 -57
  86. package/extensions/devops/skills/server-setup.md +64 -64
  87. package/extensions/devops/skills/ssl-domain.md +42 -42
  88. package/extensions/ecommerce/PACK.md +116 -116
  89. package/extensions/ecommerce/skills/cart-system.md +79 -79
  90. package/extensions/ecommerce/skills/inventory-mgmt.md +102 -102
  91. package/extensions/ecommerce/skills/order-management.md +126 -126
  92. package/extensions/ecommerce/skills/payment-integration.md +472 -472
  93. package/extensions/ecommerce/skills/shopify-dev.md +69 -69
  94. package/extensions/ecommerce/skills/subscription-billing.md +93 -93
  95. package/extensions/ecommerce/skills/tax-compliance.md +117 -117
  96. package/extensions/gamedev/PACK.md +142 -142
  97. package/extensions/gamedev/skills/asset-pipeline.md +74 -74
  98. package/extensions/gamedev/skills/audio-system.md +129 -129
  99. package/extensions/gamedev/skills/camera-system.md +87 -87
  100. package/extensions/gamedev/skills/ecs.md +98 -98
  101. package/extensions/gamedev/skills/game-loops.md +72 -72
  102. package/extensions/gamedev/skills/input-system.md +199 -199
  103. package/extensions/gamedev/skills/multiplayer.md +180 -180
  104. package/extensions/gamedev/skills/particles.md +105 -105
  105. package/extensions/gamedev/skills/physics-engine.md +89 -89
  106. package/extensions/gamedev/skills/scene-management.md +146 -146
  107. package/extensions/gamedev/skills/threejs-patterns.md +90 -90
  108. package/extensions/gamedev/skills/webgl.md +71 -71
  109. package/extensions/mobile/PACK.md +106 -106
  110. package/extensions/mobile/skills/app-store-connect.md +152 -152
  111. package/extensions/mobile/skills/app-store-prep.md +66 -66
  112. package/extensions/mobile/skills/deep-linking.md +109 -109
  113. package/extensions/mobile/skills/flutter.md +60 -60
  114. package/extensions/mobile/skills/ios-build-pipeline.md +142 -142
  115. package/extensions/mobile/skills/native-bridge.md +66 -66
  116. package/extensions/mobile/skills/ota-updates.md +97 -97
  117. package/extensions/mobile/skills/push-notifications.md +111 -111
  118. package/extensions/mobile/skills/react-native.md +82 -82
  119. package/extensions/saas/PACK.md +116 -116
  120. package/extensions/saas/skills/billing-integration.md +200 -200
  121. package/extensions/saas/skills/feature-flags.md +130 -130
  122. package/extensions/saas/skills/multi-tenant.md +103 -103
  123. package/extensions/saas/skills/onboarding-flow.md +139 -139
  124. package/extensions/saas/skills/subscription-flow.md +95 -95
  125. package/extensions/saas/skills/team-management.md +144 -144
  126. package/extensions/security/PACK.md +99 -99
  127. package/extensions/security/skills/api-security.md +140 -140
  128. package/extensions/security/skills/compliance.md +68 -68
  129. package/extensions/security/skills/owasp-audit.md +64 -64
  130. package/extensions/security/skills/pentest-patterns.md +77 -77
  131. package/extensions/security/skills/secret-mgmt.md +65 -65
  132. package/extensions/security/skills/supply-chain.md +65 -65
  133. package/extensions/trading/PACK.md +80 -80
  134. package/extensions/trading/skills/chart-components.md +55 -55
  135. package/extensions/trading/skills/experiment-loop.md +125 -125
  136. package/extensions/trading/skills/fintech-patterns.md +47 -47
  137. package/extensions/trading/skills/indicator-library.md +58 -58
  138. package/extensions/trading/skills/quant-analysis.md +111 -111
  139. package/extensions/trading/skills/realtime-data.md +58 -58
  140. package/extensions/trading/skills/trade-logic.md +104 -104
  141. package/extensions/ui/PACK.md +130 -130
  142. package/extensions/ui/skills/a11y-audit.md +91 -91
  143. package/extensions/ui/skills/animation-patterns.md +127 -127
  144. package/extensions/ui/skills/component-patterns.md +100 -100
  145. package/extensions/ui/skills/design-decision.md +108 -108
  146. package/extensions/ui/skills/design-system.md +68 -68
  147. package/extensions/ui/skills/landing-patterns.md +155 -155
  148. package/extensions/ui/skills/palette-picker.md +173 -173
  149. package/extensions/ui/skills/react-health.md +90 -90
  150. package/extensions/ui/skills/type-system.md +125 -125
  151. package/extensions/ui/skills/web-vitals.md +153 -153
  152. package/extensions/zalo/PACK.md +145 -145
  153. package/extensions/zalo/skills/zalo-oa-mcp.md +317 -317
  154. package/extensions/zalo/skills/zalo-oa-messaging.md +429 -429
  155. package/extensions/zalo/skills/zalo-oa-setup.md +236 -236
  156. package/extensions/zalo/skills/zalo-oa-webhook.md +189 -189
  157. package/extensions/zalo/skills/zalo-personal-messaging.md +194 -194
  158. package/extensions/zalo/skills/zalo-personal-setup.md +153 -153
  159. package/extensions/zalo/skills/zalo-rate-guard.md +219 -219
  160. package/hooks/auto-format/index.cjs +48 -48
  161. package/hooks/hooks.json +111 -111
  162. package/hooks/post-session-reflect/index.cjs +189 -189
  163. package/hooks/pre-compact/index.cjs +95 -95
  164. package/hooks/run-hook.cmd +1 -1
  165. package/hooks/secrets-scan/index.cjs +100 -100
  166. package/hooks/session-start/index.cjs +71 -71
  167. package/hooks/typecheck/index.cjs +65 -65
  168. package/package.json +63 -63
  169. package/references/ui-pro-max-data/LICENSE-UI-PRO-MAX +21 -21
  170. package/references/ui-pro-max-data/charts.csv +26 -26
  171. package/references/ui-pro-max-data/colors.csv +161 -161
  172. package/references/ui-pro-max-data/styles.csv +68 -68
  173. package/references/ui-pro-max-data/typography.csv +74 -74
  174. package/references/ui-pro-max-data/ui-reasoning.csv +162 -162
  175. package/references/ui-pro-max-data/ux-guidelines.csv +99 -99
  176. package/skills/adversary/SKILL.md +283 -283
  177. package/skills/asset-creator/SKILL.md +157 -157
  178. package/skills/audit/SKILL.md +147 -2
  179. package/skills/autopsy/SKILL.md +335 -335
  180. package/skills/ba/SKILL.md +85 -1
  181. package/skills/brainstorm/SKILL.md +380 -342
  182. package/skills/browser-pilot/SKILL.md +169 -168
  183. package/skills/constraint-check/SKILL.md +165 -165
  184. package/skills/context-engine/SKILL.md +408 -404
  185. package/skills/cook/SKILL.md +917 -863
  186. package/skills/db/SKILL.md +273 -273
  187. package/skills/debug/SKILL.md +465 -465
  188. package/skills/dependency-doctor/SKILL.md +265 -235
  189. package/skills/deploy/SKILL.md +274 -231
  190. package/skills/design/DESIGN-REFERENCE.md +365 -365
  191. package/skills/design/SKILL.md +590 -589
  192. package/skills/doc-processor/SKILL.md +254 -254
  193. package/skills/docs/SKILL.md +374 -374
  194. package/skills/docs-seeker/SKILL.md +178 -177
  195. package/skills/fix/SKILL.md +332 -330
  196. package/skills/git/SKILL.md +339 -339
  197. package/skills/hallucination-guard/SKILL.md +220 -219
  198. package/skills/incident/SKILL.md +254 -253
  199. package/skills/integrity-check/SKILL.md +169 -169
  200. package/skills/journal/SKILL.md +241 -240
  201. package/skills/launch/SKILL.md +344 -344
  202. package/skills/logic-guardian/SKILL.md +269 -251
  203. package/skills/marketing/SKILL.md +351 -289
  204. package/skills/mcp-builder/SKILL.md +425 -425
  205. package/skills/neural-memory/SKILL.md +359 -362
  206. package/skills/onboard/SKILL.md +432 -403
  207. package/skills/onboard/references/invariants-template.md +76 -0
  208. package/skills/onboard/scripts/detect-invariants.js +439 -0
  209. package/skills/onboard/scripts/inject-claude-md.js +150 -0
  210. package/skills/onboard/scripts/onboard-invariants.js +194 -0
  211. package/skills/perf/SKILL.md +347 -346
  212. package/skills/plan/SKILL.md +435 -428
  213. package/skills/preflight/SKILL.md +415 -415
  214. package/skills/problem-solver/SKILL.md +380 -284
  215. package/skills/rescue/SKILL.md +474 -474
  216. package/skills/research/SKILL.md +4 -0
  217. package/skills/retro/SKILL.md +3 -1
  218. package/skills/review/SKILL.md +614 -588
  219. package/skills/review-intake/SKILL.md +249 -249
  220. package/skills/safeguard/SKILL.md +200 -200
  221. package/skills/sast/SKILL.md +190 -190
  222. package/skills/scaffold/SKILL.md +328 -287
  223. package/skills/scope-guard/SKILL.md +183 -180
  224. package/skills/scout/SKILL.md +269 -263
  225. package/skills/sentinel/SKILL.md +384 -381
  226. package/skills/sentinel-env/SKILL.md +254 -254
  227. package/skills/sequential-thinking/SKILL.md +234 -234
  228. package/skills/session-bridge/SKILL.md +595 -543
  229. package/skills/session-bridge/scripts/load-invariants.js +397 -0
  230. package/skills/skill-forge/SKILL.md +581 -581
  231. package/skills/skill-router/SKILL.md +3 -0
  232. package/skills/slides/SKILL.md +19 -0
  233. package/skills/surgeon/SKILL.md +215 -215
  234. package/skills/team/SKILL.md +557 -537
  235. package/skills/test/SKILL.md +620 -614
  236. package/skills/trend-scout/SKILL.md +145 -145
  237. package/skills/verification/SKILL.md +334 -326
  238. package/skills/video-creator/SKILL.md +201 -201
  239. package/skills/watchdog/SKILL.md +168 -168
  240. package/skills/worktree/SKILL.md +140 -140
@@ -1,362 +1,359 @@
1
- ---
2
- name: neural-memory
3
- description: "Cross-session cognitive persistence via Neural Memory MCP. Captures decisions, patterns, errors, and insights with rich semantic links. Provides recall, hypothesis tracking, and evidence-based reasoning across projects."
4
- metadata:
5
- author: rune-kit
6
- version: 0.1.0
7
- layer: L3
8
- model: haiku
9
- group: state
10
- tools:
11
- - mcp__neural-memory__nmem_remember
12
- - mcp__neural-memory__nmem_recall
13
- - mcp__neural-memory__nmem_auto
14
- - mcp__neural-memory__nmem_hypothesize
15
- - mcp__neural-memory__nmem_evidence
16
- - mcp__neural-memory__nmem_predict
17
- - mcp__neural-memory__nmem_verify
18
- - mcp__neural-memory__nmem_edit
19
- - mcp__neural-memory__nmem_forget
20
- - mcp__neural-memory__nmem_health
21
- - mcp__neural-memory__nmem_consolidate
22
- - mcp__neural-memory__nmem_explain
23
- - mcp__neural-memory__nmem_gaps
24
- - mcp__neural-memory__nmem_stats
25
- - mcp__neural-memory__nmem_review
26
- - mcp__neural-memory__nmem_cognitive
27
- - Read
28
- - Grep
29
- ---
30
-
31
- # neural-memory
32
-
33
- ## Purpose
34
-
35
- Bridges Rune's file-based persistence (session-bridge, journal) with Neural Memory MCP's semantic graph. While session-bridge saves decisions to `.rune/` files and journal tracks ADRs locally, neural-memory captures **cross-project learnable patterns** — decisions, error root causes, architectural insights, and workflow preferences — into a persistent cognitive layer that compounds across every project and session.
36
-
37
- Without this skill, each project is an island. With it, a caching pattern discovered in Project A auto-surfaces when Project B faces a similar problem.
38
-
39
- ## Triggers
40
-
41
- **Auto-trigger:**
42
- - Session start → Run **Recall Mode** (load relevant context before any work)
43
- - After `cook` completes a feature → Run **Capture Mode** (save learnings)
44
- - After `debug` finds root cause → Run **Capture Mode** (save error pattern)
45
- - After `review` finds issues → Run **Capture Mode** (save code quality insight)
46
- - After `rescue` completes a phase → Run **Capture Mode** (save refactoring pattern)
47
- - After `journal` writes an ADR → Run **Capture Mode** (extract to nmem)
48
- - Session end / before compaction → Run **Flush Mode** (capture remaining context)
49
-
50
- **Manual trigger:**
51
- - `/rune recall <topic>` — search neural memory for a topic
52
- - `/rune remember <text>` — save a specific memory
53
- - `/rune brain-health` — check neural memory health + maintenance
54
- - `/rune hypothesize <question>` — start hypothesis tracking
55
-
56
- ## Calls (outbound)
57
-
58
- | Skill | When | Why |
59
- |-------|------|-----|
60
- | `session-bridge` | After Capture Mode | Sync key decisions back to `.rune/` files |
61
-
62
- ## Called By (inbound)
63
-
64
- | Skill | When | Why |
65
- |-------|------|-----|
66
- | `cook` | Phase 0 (resume) + Phase 8 (complete) | Recall project context at start, capture learnings at end |
67
- | `debug` | After root cause found | Capture error pattern for future recognition |
68
- | `fix` | After fix verified | Capture fix pattern (cause → solution) |
69
- | `review` | After review complete | Capture code quality insight |
70
- | `rescue` | Phase start + phase end | Recall past refactoring patterns, capture new ones |
71
- | `plan` | Before architecture decisions | Recall past decisions on similar problems |
72
- | `session-bridge` | Step 6 (cross-project extraction) | Extract generalizable patterns to nmem |
73
- | `journal` | After ADR written | Extract decision + rejected alternatives to nmem |
74
- | `context-engine` | Before compaction | Trigger Flush Mode to preserve context |
75
- | `sentinel` | After security finding | Capture vulnerability pattern |
76
- | `incident` | After resolution | Capture incident root cause + fix |
77
-
78
- ## Modes
79
-
80
- ### Mode 1: Recall (Session Start / Before Decisions)
81
-
82
- Load relevant context from neural memory before starting work.
83
-
84
- **Step 1 — Identify Recall Topics**
85
- Read `.rune/progress.md` and current task context to determine 3-5 diverse recall topics.
86
- Always prefix queries with the project name to avoid cross-project noise.
87
-
88
- ```
89
- GOOD: "Rune compiler cross-reference resolution"
90
- GOOD: "MyTrend PocketBase auth session handling"
91
- BAD: "cross-reference" (too generic, returns all projects)
92
- BAD: "auth" (returns noise from every project)
93
- ```
94
-
95
- **Step 2 Execute Recall**
96
- Call `nmem_recall` for each topic. Use diverse angles:
97
- - Technology-specific: `"<project> React state management"`
98
- - Problem-specific: `"<project> caching strategy decision"`
99
- - Pattern-specific: `"<project> error handling approach"`
100
-
101
- **Step 3 Synthesize Context**
102
- Summarize recalled memories into actionable context:
103
- - Decisions that apply to current task
104
- - Patterns that worked (or failed) before
105
- - Constraints or preferences from past sessions
106
- - Open hypotheses still being tracked
107
-
108
- **Step 4 — Surface Gaps**
109
- If recall returns thin results for the current domain, note the gap.
110
- Call `nmem_gaps(action="detect")` if working in a domain with sparse memories.
111
-
112
- ---
113
-
114
- ### Mode 2: Capture (After Task Completion)
115
-
116
- Extract learnable patterns from completed work and save to neural memory.
117
-
118
- **Step 1 Classify What Happened**
119
- Determine which memory types to create from the completed task:
120
-
121
- | What happened | Memory type | Priority | Example |
122
- |---------------|-------------|----------|---------|
123
- | Chose approach A over B | `decision` | 7 | "Chose Zustand over Redux because single-store simpler for this scale" |
124
- | Found and fixed a bug | `error` | 7 | "Root cause was stale closure in useEffect fixed by adding dep array" |
125
- | Discovered a reusable pattern | `insight` | 6 | "This codebase uses barrel exports for every feature module" |
126
- | Learned user preference | `preference` | 8 | "User prefers Phosphor Icons over Lucide for all UI work" |
127
- | Established a workflow | `workflow` | 6 | "Deploy: build → test → push → verify CI → tag" |
128
- | Found a fact worth keeping | `fact` | 5 | "API rate limit is 100 req/min on free tier" |
129
- | Received instruction to follow | `instruction` | 8 | "Always run prettier before commit in this project" |
130
-
131
- **Step 2 — Craft Rich Memories**
132
- Each memory MUST use cognitive language patterns for strong neural connections:
133
-
134
- ```
135
- BAD: "PostgreSQL" (flat, no contextorphan neuron)
136
- GOOD: "Chose PostgreSQL over MongoDB because ACID needed for payment processing"
137
-
138
- BAD: "Fixed auth bug" (no root cause useless for future recall)
139
- GOOD: "Auth cookie expired silently because SameSite=Lax blocked cross-origin. Fixed by setting SameSite=None + Secure flag"
140
-
141
- BAD: "React project structure" (vague — won't match specific queries)
142
- GOOD: "Rune compiler uses 3-stage pipeline: Parse SKILL.md → Transform cross-refs → Emit per-platform files"
143
- ```
144
-
145
- **Cognitive patterns to use:**
146
- - **Causal**: "X caused Y because Z", "Root cause was X which led to Y"
147
- - **Temporal**: "After upgrading to v3, the middleware broke because of new cookie format"
148
- - **Decisional**: "Chose X over Y because Z", "Rejected X due to Y"
149
- - **Comparative**: "X is 3x faster than Y for read-heavy workloads"
150
- - **Relational**: "X depends on Y", "X replaced Y", "X connects to Y through Z"
151
-
152
- **Step 3 Tag and Prioritize**
153
- Every memory MUST include:
154
- - **Tags**: `[project-name, technology, topic]` — lowercase, specific
155
- - **Priority**: 5 (normal), 7-8 (important decisions/errors), 9-10 (critical security/breaking)
156
- - **Max length**: 1-3 sentences. If longer, split into focused pieces.
157
-
158
- **Step 4 Save Memories**
159
- Call `nmem_remember` for each memory. Save 2-5 memories per completed task:
160
- - A bug fix has: root cause, fix approach, prevention insight
161
- - A feature has: architecture decision, pattern used, trade-off made
162
- - A review has: quality issue found, fix suggestion, pattern to avoid
163
-
164
- **Step 5 — Reinforce Connections**
165
- After saving, call `nmem_recall` on the topic to reinforce new neural connections.
166
- This activates related neurons and strengthens the memory graph.
167
-
168
- ---
169
-
170
- ### Mode 3: Hypothesis Tracking
171
-
172
- Track uncertain decisions with evidence over time.
173
-
174
- **Step 1 Form Hypothesis**
175
- When making an uncertain architectural or design decision:
176
- ```
177
- nmem_hypothesize("Redis will handle our session load better than Memcached
178
- because our access pattern is 80% reads with complex data types")
179
- ```
180
-
181
- **Step 2 Collect Evidence**
182
- As you work, update the hypothesis with evidence:
183
- ```
184
- nmem_evidence(hypothesis_id, "Redis handled 10K concurrent sessions with
185
- p99 < 5ms in load test — SUPPORTS hypothesis")
186
-
187
- nmem_evidence(hypothesis_id, "Memory usage 2x higher than Memcached estimate
188
- WEAKENS hypothesis for memory-constrained deployments")
189
- ```
190
-
191
- **Step 3 Make Predictions**
192
- Create falsifiable predictions:
193
- ```
194
- nmem_predict("If we switch to Redis Cluster, session failover time will drop
195
- from 30s to < 2s")
196
- ```
197
-
198
- **Step 4Verify Outcomes**
199
- After deployment/testing, verify:
200
- ```
201
- nmem_verify(prediction_id, outcome="Failover time dropped to 1.2s — CONFIRMED")
202
- ```
203
-
204
- ---
205
-
206
- ### Mode 4: Flush (Session End / Pre-Compaction)
207
-
208
- Capture remaining context before session ends.
209
-
210
- **Step 1 Scan Unsaved Context**
211
- Review the current session for:
212
- - Decisions made but not yet captured
213
- - Errors encountered and their resolutions
214
- - Patterns discovered during exploration
215
- - User preferences expressed
216
-
217
- **Step 2 — Batch Save**
218
- Call `nmem_auto(action="process", text="<session summary>")` with a concise summary
219
- of the session's key outcomes, decisions, and learnings.
220
-
221
- **Step 3 — Update Session Bridge**
222
- If significant decisions were captured, also call `session-bridge` to sync
223
- the most important ones to `.rune/decisions.md` for local persistence.
224
-
225
- ---
226
-
227
- ### Mode 5: Maintenance (Weekly / On-Demand)
228
-
229
- Keep the neural memory healthy and useful.
230
-
231
- **Step 1 Health Check**
232
- Call `nmem_health()` to assess brain status. Key metrics:
233
- - Consolidation % (low = run consolidation)
234
- - Orphan % (>20% = prune disconnected memories)
235
- - Activation levels (low = recall more diverse topics)
236
- - Connectivity (low = use richer cognitive language)
237
- - Diversity (low = vary memory types)
238
-
239
- **Step 2 Consolidation**
240
- If brain has >100 memories or consolidation is low:
241
- ```
242
- nmem_consolidate — merge episodic semantic memories
243
- ```
244
-
245
- **Step 3 Review Queue**
246
- Call `nmem_review(action="queue")` to surface memories needing attention:
247
- - Outdated decisions that may no longer apply
248
- - Low-confidence memories that need evidence
249
- - Wall-of-text memories (>500 chars) that should be split
250
-
251
- **Step 4 Corrections**
252
- Fix bad memories:
253
- - Wrong type → `nmem_edit(memory_id, type="correct_type")`
254
- - Wrong content → `nmem_edit(memory_id, content="corrected text")`
255
- - Outdated `nmem_forget(memory_id, reason="outdated")`
256
- - Sensitive/garbage → `nmem_forget(memory_id, hard=true)`
257
-
258
- **Step 5 — Connection Tracing**
259
- Use `nmem_explain(entity_a, entity_b)` to trace paths between concepts.
260
- Useful for understanding why certain memories surface together.
261
-
262
- ## Output Format
263
-
264
- ### Recall Report
265
- ```
266
- ## Neural Memory Recall<project>
267
-
268
- ### Loaded Context
269
- - <memory 1 summary — decision/pattern/insight>
270
- - <memory 2 summary>
271
- - <memory 3 summary>
272
-
273
- ### Applicable to Current Task
274
- - <how memory X applies>
275
- - <how memory Y applies>
276
-
277
- ### Gaps Detected
278
- - <domain with sparse coverage>
279
- ```
280
-
281
- ### Capture Report
282
- ```
283
- ## Neural Memory Capture <task summary>
284
-
285
- ### Saved Memories
286
- | # | Type | Priority | Tags | Content (preview) |
287
- |---|------|----------|------|--------------------|
288
- | 1 | decision | 7 | [project, tech, topic] | Chose X over Y because... |
289
- | 2 | error | 7 | [project, bug, tech] | Root cause was X... |
290
- | 3 | insight | 6 | [project, pattern] | This codebase uses... |
291
-
292
- ### Reinforced Topics
293
- - <topic recalled to strengthen connections>
294
- ```
295
-
296
- ### Health Report
297
- ```
298
- ## Neural Memory Health
299
-
300
- | Metric | Value | Status |
301
- |--------|-------|--------|
302
- | Total memories | N | |
303
- | Consolidation | N% | / ⚠️ |
304
- | Orphans | N% | ✅ / ⚠️ |
305
- | Activation | level | ✅ / ⚠️ |
306
- | Top penalty | <metric> | Fix: <action> |
307
-
308
- ### Recommended Actions
309
- 1. <action with command>
310
- ```
311
-
312
- ## Constraints
313
-
314
- 1. **MUST prefix all recall queries with project name** generic queries return cross-project noise that confuses the AI. The ONLY exception is intentional cross-project searches.
315
- 2. **MUST use rich cognitive language** — flat facts ("X exists") create orphan neurons with zero connections. Every memory MUST include WHY, BECAUSE, or relationship context.
316
- 3. **MUST NOT save wall-of-text memories** — max 1-3 sentences per memory. Split longer content into focused pieces. Memories >500 chars degrade recall quality.
317
- 4. **MUST NOT duplicate file-based state** — don't save task progress, file paths, or git history to nmem. Those belong in `.rune/` files (session-bridge) or git. nmem is for *learnable patterns* only.
318
- 5. **MUST save 2-5 memories per completed task** — a single memory per task is insufficient. Capture the decision, the reasoning, the pattern, and the prevention insight separately.
319
- 6. **MUST NOT save sensitive data** — no API keys, passwords, tokens, or PII. Mask or omit sensitive values.
320
- 7. **MUST tag every memory** — always include `[project-name, technology, topic]`. Tags enable future recall precision.
321
-
322
- ## Sharp Edges
323
-
324
- | Failure Mode | Severity | Mitigation |
325
- |---|---|---|
326
- | Cross-project noise from generic queries | HIGH | Always prefix queries with project name. Use `nmem_explain` to trace unexpected connections |
327
- | Orphan neurons from flat facts | HIGH | Enforce cognitive language patterns (causal, decisional, comparative). Run `nmem_health` to detect orphan % |
328
- | Memory bloat from over-saving | MEDIUM | Cap at 5 memories per task. Run `nmem_consolidate` weekly. Use `nmem_review` to prune |
329
- | Stale decisions applied to changed codebase | MEDIUM | Include temporal context ("As of v2.1, ..."). Verify recalled decisions against current code before applying |
330
- | Duplicate memories from repeated sessions | MEDIUM | Before saving, `nmem_recall` the topic first to check for existing memories. Update rather than create duplicates |
331
- | Loss of nuance from oversimplification | LOW | Save rejected alternatives alongside chosen approach. Use `nmem_hypothesize` for uncertain decisions |
332
-
333
- ## Done When
334
-
335
- **Recall Mode:**
336
- - 3-5 diverse topics recalled with project-name prefix
337
- - Applicable context summarized for current task
338
- - Gaps noted if coverage is thin
339
-
340
- **Capture Mode:**
341
- - 2-5 memories saved with rich cognitive language
342
- - All memories tagged with `[project, technology, topic]`
343
- - Priority assigned (5-10 scale)
344
- - Connections reinforced via post-save recall
345
-
346
- **Flush Mode:**
347
- - All significant unsaved decisions captured
348
- - `nmem_auto` called with session summary
349
- - Session-bridge synced if major decisions made
350
-
351
- **Maintenance Mode:**
352
- - `nmem_health` run and metrics assessed
353
- - Top penalty addressed with specific action
354
- - Review queue processed (outdated/bloated memories fixed)
355
-
356
- ## Cost Profile
357
-
358
- - **Recall**: ~200-500 tokens (3-5 queries + synthesis)
359
- - **Capture**: ~300-600 tokens (2-5 memories + reinforcement)
360
- - **Flush**: ~100-300 tokens (auto-process + sync)
361
- - **Maintenance**: ~500-1000 tokens (health + consolidate + review)
362
- - **Hypothesis**: ~200-400 tokens per hypothesis lifecycle
1
+ ---
2
+ name: neural-memory
3
+ description: "Cross-session cognitive persistence via Neural Memory MCP. Captures decisions, patterns, errors, and insights with rich semantic links. Provides recall, hypothesis tracking, and evidence-based reasoning across projects."
4
+ metadata:
5
+ author: rune-kit
6
+ version: 0.1.0
7
+ layer: L3
8
+ model: haiku
9
+ group: state
10
+ tools:
11
+ - mcp__neural-memory__nmem_remember
12
+ - mcp__neural-memory__nmem_recall
13
+ - mcp__neural-memory__nmem_auto
14
+ - mcp__neural-memory__nmem_hypothesize
15
+ - mcp__neural-memory__nmem_evidence
16
+ - mcp__neural-memory__nmem_predict
17
+ - mcp__neural-memory__nmem_verify
18
+ - mcp__neural-memory__nmem_edit
19
+ - mcp__neural-memory__nmem_forget
20
+ - mcp__neural-memory__nmem_health
21
+ - mcp__neural-memory__nmem_consolidate
22
+ - mcp__neural-memory__nmem_explain
23
+ - mcp__neural-memory__nmem_gaps
24
+ - mcp__neural-memory__nmem_stats
25
+ - mcp__neural-memory__nmem_review
26
+ - mcp__neural-memory__nmem_cognitive
27
+ - Read
28
+ - Grep
29
+ ---
30
+
31
+ # neural-memory
32
+
33
+ ## Purpose
34
+
35
+ Bridges Rune's file-based persistence (session-bridge, journal) with Neural Memory MCP's semantic graph. While session-bridge saves decisions to `.rune/` files and journal tracks ADRs locally, neural-memory captures **cross-project learnable patterns** — decisions, error root causes, architectural insights, and workflow preferences — into a persistent cognitive layer that compounds across every project and session.
36
+
37
+ Without this skill, each project is an island. With it, a caching pattern discovered in Project A auto-surfaces when Project B faces a similar problem.
38
+
39
+ ## Triggers
40
+
41
+ **Auto-trigger:**
42
+ - Session start → Run **Recall Mode** (load relevant context before any work)
43
+ - After `cook` completes a feature → Run **Capture Mode** (save learnings)
44
+ - After `debug` finds root cause → Run **Capture Mode** (save error pattern)
45
+ - After `review` finds issues → Run **Capture Mode** (save code quality insight)
46
+ - After `rescue` completes a phase → Run **Capture Mode** (save refactoring pattern)
47
+ - After `journal` writes an ADR → Run **Capture Mode** (extract to nmem)
48
+ - Session end / before compaction → Run **Flush Mode** (capture remaining context)
49
+
50
+ **Manual trigger:**
51
+ - `/rune recall <topic>` — search neural memory for a topic
52
+ - `/rune remember <text>` — save a specific memory
53
+ - `/rune brain-health` — check neural memory health + maintenance
54
+ - `/rune hypothesize <question>` — start hypothesis tracking
55
+
56
+ ## Calls (outbound)
57
+
58
+ - `session-bridge` (L3): after Capture Mode — sync key decisions back to `.rune/` files
59
+
60
+ ## Called By (inbound)
61
+
62
+ - `cook` (L1): Phase 0 (resume) + Phase 8 (complete) — recall context at start, capture learnings at end
63
+ - `rescue` (L1): phase start + phase end — recall past refactoring patterns, capture new ones
64
+ - `debug` (L2): after root cause found — capture error pattern for future recognition
65
+ - `fix` (L2): after fix verified — capture fix pattern (cause → solution)
66
+ - `review` (L2): after review complete capture code quality insight
67
+ - `plan` (L2): before architecture decisions recall past decisions on similar problems
68
+ - `sentinel` (L2): after security finding capture vulnerability pattern
69
+ - `incident` (L2): after resolution capture incident root cause + fix
70
+ - `retro` (L2): during retrospective capture retro insights and patterns
71
+ - `session-bridge` (L3): Step 6 (cross-project extraction) extract generalizable patterns
72
+ - `journal` (L3): after ADR written extract decision + rejected alternatives
73
+ - `context-engine` (L3): before compaction trigger Flush Mode to preserve context
74
+
75
+ ## Modes
76
+
77
+ ### Mode 1: Recall (Session Start / Before Decisions)
78
+
79
+ Load relevant context from neural memory before starting work.
80
+
81
+ **Step 1 — Identify Recall Topics**
82
+ Read `.rune/progress.md` and current task context to determine 3-5 diverse recall topics.
83
+ Always prefix queries with the project name to avoid cross-project noise.
84
+
85
+ ```
86
+ GOOD: "Rune compiler cross-reference resolution"
87
+ GOOD: "MyTrend PocketBase auth session handling"
88
+ BAD: "cross-reference" (too generic, returns all projects)
89
+ BAD: "auth" (returns noise from every project)
90
+ ```
91
+
92
+ **Step 2 Execute Recall**
93
+ Call `nmem_recall` for each topic. Use diverse angles:
94
+ - Technology-specific: `"<project> React state management"`
95
+ - Problem-specific: `"<project> caching strategy decision"`
96
+ - Pattern-specific: `"<project> error handling approach"`
97
+
98
+ **Step 3 Synthesize Context**
99
+ Summarize recalled memories into actionable context:
100
+ - Decisions that apply to current task
101
+ - Patterns that worked (or failed) before
102
+ - Constraints or preferences from past sessions
103
+ - Open hypotheses still being tracked
104
+
105
+ **Step 4 Surface Gaps**
106
+ If recall returns thin results for the current domain, note the gap.
107
+ Call `nmem_gaps(action="detect")` if working in a domain with sparse memories.
108
+
109
+ ---
110
+
111
+ ### Mode 2: Capture (After Task Completion)
112
+
113
+ Extract learnable patterns from completed work and save to neural memory.
114
+
115
+ **Step 1 — Classify What Happened**
116
+ Determine which memory types to create from the completed task:
117
+
118
+ | What happened | Memory type | Priority | Example |
119
+ |---------------|-------------|----------|---------|
120
+ | Chose approach A over B | `decision` | 7 | "Chose Zustand over Redux because single-store simpler for this scale" |
121
+ | Found and fixed a bug | `error` | 7 | "Root cause was stale closure in useEffect — fixed by adding dep array" |
122
+ | Discovered a reusable pattern | `insight` | 6 | "This codebase uses barrel exports for every feature module" |
123
+ | Learned user preference | `preference` | 8 | "User prefers Phosphor Icons over Lucide for all UI work" |
124
+ | Established a workflow | `workflow` | 6 | "Deploy: build test push verify CI tag" |
125
+ | Found a fact worth keeping | `fact` | 5 | "API rate limit is 100 req/min on free tier" |
126
+ | Received instruction to follow | `instruction` | 8 | "Always run prettier before commit in this project" |
127
+
128
+ **Step 2 Craft Rich Memories**
129
+ Each memory MUST use cognitive language patterns for strong neural connections:
130
+
131
+ ```
132
+ BAD: "PostgreSQL" (flat, no context orphan neuron)
133
+ GOOD: "Chose PostgreSQL over MongoDB because ACID needed for payment processing"
134
+
135
+ BAD: "Fixed auth bug" (no root cause useless for future recall)
136
+ GOOD: "Auth cookie expired silently because SameSite=Lax blocked cross-origin. Fixed by setting SameSite=None + Secure flag"
137
+
138
+ BAD: "React project structure" (vaguewon't match specific queries)
139
+ GOOD: "Rune compiler uses 3-stage pipeline: Parse SKILL.md Transform cross-refs Emit per-platform files"
140
+ ```
141
+
142
+ **Cognitive patterns to use:**
143
+ - **Causal**: "X caused Y because Z", "Root cause was X which led to Y"
144
+ - **Temporal**: "After upgrading to v3, the middleware broke because of new cookie format"
145
+ - **Decisional**: "Chose X over Y because Z", "Rejected X due to Y"
146
+ - **Comparative**: "X is 3x faster than Y for read-heavy workloads"
147
+ - **Relational**: "X depends on Y", "X replaced Y", "X connects to Y through Z"
148
+
149
+ **Step 3 Tag and Prioritize**
150
+ Every memory MUST include:
151
+ - **Tags**: `[project-name, technology, topic]` — lowercase, specific
152
+ - **Priority**: 5 (normal), 7-8 (important decisions/errors), 9-10 (critical security/breaking)
153
+ - **Max length**: 1-3 sentences. If longer, split into focused pieces.
154
+
155
+ **Step 4 Save Memories**
156
+ Call `nmem_remember` for each memory. Save 2-5 memories per completed task:
157
+ - A bug fix has: root cause, fix approach, prevention insight
158
+ - A feature has: architecture decision, pattern used, trade-off made
159
+ - A review has: quality issue found, fix suggestion, pattern to avoid
160
+
161
+ **Step 5 Reinforce Connections**
162
+ After saving, call `nmem_recall` on the topic to reinforce new neural connections.
163
+ This activates related neurons and strengthens the memory graph.
164
+
165
+ ---
166
+
167
+ ### Mode 3: Hypothesis Tracking
168
+
169
+ Track uncertain decisions with evidence over time.
170
+
171
+ **Step 1 — Form Hypothesis**
172
+ When making an uncertain architectural or design decision:
173
+ ```
174
+ nmem_hypothesize("Redis will handle our session load better than Memcached
175
+ because our access pattern is 80% reads with complex data types")
176
+ ```
177
+
178
+ **Step 2 Collect Evidence**
179
+ As you work, update the hypothesis with evidence:
180
+ ```
181
+ nmem_evidence(hypothesis_id, "Redis handled 10K concurrent sessions with
182
+ p99 < 5ms in load test SUPPORTS hypothesis")
183
+
184
+ nmem_evidence(hypothesis_id, "Memory usage 2x higher than Memcached estimate
185
+ WEAKENS hypothesis for memory-constrained deployments")
186
+ ```
187
+
188
+ **Step 3 Make Predictions**
189
+ Create falsifiable predictions:
190
+ ```
191
+ nmem_predict("If we switch to Redis Cluster, session failover time will drop
192
+ from 30s to < 2s")
193
+ ```
194
+
195
+ **Step 4 Verify Outcomes**
196
+ After deployment/testing, verify:
197
+ ```
198
+ nmem_verify(prediction_id, outcome="Failover time dropped to 1.2s CONFIRMED")
199
+ ```
200
+
201
+ ---
202
+
203
+ ### Mode 4: Flush (Session End / Pre-Compaction)
204
+
205
+ Capture remaining context before session ends.
206
+
207
+ **Step 1 — Scan Unsaved Context**
208
+ Review the current session for:
209
+ - Decisions made but not yet captured
210
+ - Errors encountered and their resolutions
211
+ - Patterns discovered during exploration
212
+ - User preferences expressed
213
+
214
+ **Step 2 Batch Save**
215
+ Call `nmem_auto(action="process", text="<session summary>")` with a concise summary
216
+ of the session's key outcomes, decisions, and learnings.
217
+
218
+ **Step 3 Update Session Bridge**
219
+ If significant decisions were captured, also call `session-bridge` to sync
220
+ the most important ones to `.rune/decisions.md` for local persistence.
221
+
222
+ ---
223
+
224
+ ### Mode 5: Maintenance (Weekly / On-Demand)
225
+
226
+ Keep the neural memory healthy and useful.
227
+
228
+ **Step 1 — Health Check**
229
+ Call `nmem_health()` to assess brain status. Key metrics:
230
+ - Consolidation % (low = run consolidation)
231
+ - Orphan % (>20% = prune disconnected memories)
232
+ - Activation levels (low = recall more diverse topics)
233
+ - Connectivity (low = use richer cognitive language)
234
+ - Diversity (low = vary memory types)
235
+
236
+ **Step 2 Consolidation**
237
+ If brain has >100 memories or consolidation is low:
238
+ ```
239
+ nmem_consolidate — merge episodic → semantic memories
240
+ ```
241
+
242
+ **Step 3 Review Queue**
243
+ Call `nmem_review(action="queue")` to surface memories needing attention:
244
+ - Outdated decisions that may no longer apply
245
+ - Low-confidence memories that need evidence
246
+ - Wall-of-text memories (>500 chars) that should be split
247
+
248
+ **Step 4 Corrections**
249
+ Fix bad memories:
250
+ - Wrong type → `nmem_edit(memory_id, type="correct_type")`
251
+ - Wrong content → `nmem_edit(memory_id, content="corrected text")`
252
+ - Outdated → `nmem_forget(memory_id, reason="outdated")`
253
+ - Sensitive/garbage → `nmem_forget(memory_id, hard=true)`
254
+
255
+ **Step 5 Connection Tracing**
256
+ Use `nmem_explain(entity_a, entity_b)` to trace paths between concepts.
257
+ Useful for understanding why certain memories surface together.
258
+
259
+ ## Output Format
260
+
261
+ ### Recall Report
262
+ ```
263
+ ## Neural Memory Recall — <project>
264
+
265
+ ### Loaded Context
266
+ - <memory 1 summarydecision/pattern/insight>
267
+ - <memory 2 summary>
268
+ - <memory 3 summary>
269
+
270
+ ### Applicable to Current Task
271
+ - <how memory X applies>
272
+ - <how memory Y applies>
273
+
274
+ ### Gaps Detected
275
+ - <domain with sparse coverage>
276
+ ```
277
+
278
+ ### Capture Report
279
+ ```
280
+ ## Neural Memory Capture — <task summary>
281
+
282
+ ### Saved Memories
283
+ | # | Type | Priority | Tags | Content (preview) |
284
+ |---|------|----------|------|--------------------|
285
+ | 1 | decision | 7 | [project, tech, topic] | Chose X over Y because... |
286
+ | 2 | error | 7 | [project, bug, tech] | Root cause was X... |
287
+ | 3 | insight | 6 | [project, pattern] | This codebase uses... |
288
+
289
+ ### Reinforced Topics
290
+ - <topic recalled to strengthen connections>
291
+ ```
292
+
293
+ ### Health Report
294
+ ```
295
+ ## Neural Memory Health
296
+
297
+ | Metric | Value | Status |
298
+ |--------|-------|--------|
299
+ | Total memories | N | — |
300
+ | Consolidation | N% | / ⚠️ |
301
+ | Orphans | N% | ✅ / ⚠️ |
302
+ | Activation | level | / ⚠️ |
303
+ | Top penalty | <metric> | Fix: <action> |
304
+
305
+ ### Recommended Actions
306
+ 1. <action with command>
307
+ ```
308
+
309
+ ## Constraints
310
+
311
+ 1. **MUST prefix all recall queries with project name** — generic queries return cross-project noise that confuses the AI. The ONLY exception is intentional cross-project searches.
312
+ 2. **MUST use rich cognitive language** — flat facts ("X exists") create orphan neurons with zero connections. Every memory MUST include WHY, BECAUSE, or relationship context.
313
+ 3. **MUST NOT save wall-of-text memories** — max 1-3 sentences per memory. Split longer content into focused pieces. Memories >500 chars degrade recall quality.
314
+ 4. **MUST NOT duplicate file-based state** don't save task progress, file paths, or git history to nmem. Those belong in `.rune/` files (session-bridge) or git. nmem is for *learnable patterns* only.
315
+ 5. **MUST save 2-5 memories per completed task** — a single memory per task is insufficient. Capture the decision, the reasoning, the pattern, and the prevention insight separately.
316
+ 6. **MUST NOT save sensitive data** — no API keys, passwords, tokens, or PII. Mask or omit sensitive values.
317
+ 7. **MUST tag every memory** — always include `[project-name, technology, topic]`. Tags enable future recall precision.
318
+
319
+ ## Sharp Edges
320
+
321
+ | Failure Mode | Severity | Mitigation |
322
+ |---|---|---|
323
+ | Cross-project noise from generic queries | HIGH | Always prefix queries with project name. Use `nmem_explain` to trace unexpected connections |
324
+ | Orphan neurons from flat facts | HIGH | Enforce cognitive language patterns (causal, decisional, comparative). Run `nmem_health` to detect orphan % |
325
+ | Memory bloat from over-saving | MEDIUM | Cap at 5 memories per task. Run `nmem_consolidate` weekly. Use `nmem_review` to prune |
326
+ | Stale decisions applied to changed codebase | MEDIUM | Include temporal context ("As of v2.1, ..."). Verify recalled decisions against current code before applying |
327
+ | Duplicate memories from repeated sessions | MEDIUM | Before saving, `nmem_recall` the topic first to check for existing memories. Update rather than create duplicates |
328
+ | Loss of nuance from oversimplification | LOW | Save rejected alternatives alongside chosen approach. Use `nmem_hypothesize` for uncertain decisions |
329
+
330
+ ## Done When
331
+
332
+ **Recall Mode:**
333
+ - 3-5 diverse topics recalled with project-name prefix
334
+ - Applicable context summarized for current task
335
+ - Gaps noted if coverage is thin
336
+
337
+ **Capture Mode:**
338
+ - 2-5 memories saved with rich cognitive language
339
+ - All memories tagged with `[project, technology, topic]`
340
+ - Priority assigned (5-10 scale)
341
+ - Connections reinforced via post-save recall
342
+
343
+ **Flush Mode:**
344
+ - All significant unsaved decisions captured
345
+ - `nmem_auto` called with session summary
346
+ - Session-bridge synced if major decisions made
347
+
348
+ **Maintenance Mode:**
349
+ - `nmem_health` run and metrics assessed
350
+ - Top penalty addressed with specific action
351
+ - Review queue processed (outdated/bloated memories fixed)
352
+
353
+ ## Cost Profile
354
+
355
+ - **Recall**: ~200-500 tokens (3-5 queries + synthesis)
356
+ - **Capture**: ~300-600 tokens (2-5 memories + reinforcement)
357
+ - **Flush**: ~100-300 tokens (auto-process + sync)
358
+ - **Maintenance**: ~500-1000 tokens (health + consolidate + review)
359
+ - **Hypothesis**: ~200-400 tokens per hypothesis lifecycle