claude-recall 0.18.2 → 0.18.4

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.
@@ -8,7 +8,7 @@ source: claude-recall
8
8
 
9
9
  # Corrections
10
10
 
11
- Auto-generated from 23 memories. Last updated: 2026-03-20.
11
+ Auto-generated from 17 memories. Last updated: 2026-03-21.
12
12
 
13
13
  ## Rules
14
14
 
@@ -22,12 +22,6 @@ Auto-generated from 23 memories. Last updated: 2026-03-20.
22
22
  - CORRECTION: Memory with complex metadata
23
23
  - CORRECTION: Memory with complex metadata
24
24
  - CORRECTION: Memory with complex metadata
25
- - CORRECTION: Memory with complex metadata
26
- - CORRECTION: Memory with complex metadata
27
- - CORRECTION: Memory with complex metadata
28
- - CORRECTION: Memory with complex metadata
29
- - CORRECTION: Memory with complex metadata
30
- - CORRECTION: Memory with complex metadata
31
25
  - CORRECTION: Replace expired access token with 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
32
26
  - CORRECTION: use spaces not tabs for indentation
33
27
  - CORRECTION: cited (loaded 5+ times): 19
@@ -1,18 +1,12 @@
1
1
  {
2
2
  "topicId": "corrections",
3
- "sourceHash": "2508acf74409f4f19e47ba4a5c159b28afa9db68dc70fceb90fc1cc90a806538",
4
- "memoryCount": 23,
5
- "generatedAt": "2026-03-20T15:33:09.502Z",
3
+ "sourceHash": "2c220ace8666e38374662c19a60f76118e125327cc273019414c6e8383e5e120",
4
+ "memoryCount": 17,
5
+ "generatedAt": "2026-03-21T15:18:51.279Z",
6
6
  "memoryKeys": [
7
+ "memory_1774106331272_kg5w7ztfj",
8
+ "memory_1774104588311_65kg08e05",
7
9
  "memory_1774020789453_x9xkjhbug",
8
- "memory_1773999187635_v9sxfphej",
9
- "memory_1773740608781_ae2bn7zos",
10
- "memory_1773659723317_o738xfbyw",
11
- "memory_1773656489899_l75d50pxo",
12
- "memory_1773654956776_7mffm1tp2",
13
- "memory_1773410782442_mnfvdml5n",
14
- "memory_1773409168373_t4lqoqpiv",
15
- "memory_1773220863163_q8k0ewti8",
16
10
  "memory_1773140547102_2wmy0cfga",
17
11
  "memory_1773065886725_rscm7v2qx",
18
12
  "memory_1773063478046_x0ryr9bk4",
@@ -8,15 +8,14 @@ source: claude-recall
8
8
 
9
9
  # Failure Lessons
10
10
 
11
- Auto-generated from 27 memories. Last updated: 2026-03-20.
11
+ Auto-generated from 26 memories. Last updated: 2026-03-21.
12
12
 
13
13
  ## Rules
14
14
 
15
15
  - Check command syntax, file paths, and prerequisites before running
16
16
  - SQLite query syntax error: LIKE clause requires single quotes around string literal, not double quotes
17
+ - Avoid: Command failed: claude-recall outcomes 2>&1 → Instead: Check command syntax, file paths, and prerequisites before running
17
18
  - Avoid: Command failed: npx jest tests/unit/outcome-storage.test.ts tests/unit/promotion-engine.test.ts tests/unit/memory... → Instead: Check command syntax, file paths, and prerequisites before running
18
- - Avoid: Command failed: npx jest tests/unit/bash-failure-watcher.test.ts 2>&1 → Instead: Check command syntax, file paths, and prerequisites before running
19
- - Avoid: Command failed: npx jest tests/unit/memory-sync-hook.test.ts 2>&1 → Instead: Check command syntax, file paths, and prerequisites before running
20
19
  - Avoid: Command failed: npm whoami 2>&1 && npm config get registry 2>&1 → Instead: Check command syntax, file paths, and prerequisites before running
21
20
  - npm install -g claude-recall@0.15.36 failed with notarget error
22
21
  - claude-recall@0.15.36 does not exist on npm registry (ETARGET error)
@@ -1,14 +1,13 @@
1
1
  {
2
2
  "topicId": "failure-lessons",
3
- "sourceHash": "22208b1347904abc47e0ee6878777d047cd32a0593385ead5ca666cbc2960fe6",
4
- "memoryCount": 27,
5
- "generatedAt": "2026-03-20T15:33:09.349Z",
3
+ "sourceHash": "577fce05d7ff95d6661cf78c93b84ce7a8ff54d22964456ca73c045bac9c0986",
4
+ "memoryCount": 26,
5
+ "generatedAt": "2026-03-21T15:18:51.248Z",
6
6
  "memoryKeys": [
7
7
  "promoted_1774019382782_acm9j0h8u",
8
8
  "hook_failure_1772637584921_0tj4rrxnt",
9
+ "hook_failure_non-zero-exit_1774020949485_6ubuoswae",
9
10
  "hook_failure_non-zero-exit_1773999564001_82kcdp0ag",
10
- "hook_failure_non-zero-exit_1773784543398_siidzp55g",
11
- "hook_failure_non-zero-exit_1773669669860_9mcdbx51y",
12
11
  "hook_failure_non-zero-exit_1773409269877_ful451241",
13
12
  "hook_failure_1773410916808_5k1r6zo4u",
14
13
  "hook_failure_1773410916789_xtrb8j9nw",
@@ -8,113 +8,26 @@ source: claude-recall
8
8
 
9
9
  # Preferences
10
10
 
11
- Auto-generated from 103 memories. Last updated: 2026-03-20.
11
+ Auto-generated from 16 memories. Last updated: 2026-03-21.
12
12
 
13
13
  ## Rules
14
14
 
15
+ - Session test preference 1774106331339
16
+ - Test preference 1774106331283-2
17
+ - Test preference 1774106331283-1
18
+ - Test preference 1774106331283-0
19
+ - Test memory content
20
+ - Session test preference 1774104588383
21
+ - Test preference 1774104588325-2
22
+ - Test preference 1774104588325-1
23
+ - Test preference 1774104588325-0
24
+ - Test memory content
15
25
  - Session test preference 1774020789925
16
26
  - Test preference 1774020789520-2
17
27
  - Test preference 1774020789520-1
18
28
  - Test preference 1774020789520-0
19
29
  - Test memory content
20
30
  - Session test preference 1773999187736
21
- - Test preference 1773999187658-2
22
- - Test preference 1773999187658-1
23
- - Test preference 1773999187658-0
24
- - Test memory content
25
- - Session test preference 1773740608856
26
- - Test preference 1773740608797-2
27
- - Test preference 1773740608797-1
28
- - Test preference 1773740608797-0
29
- - Test memory content
30
- - Session test preference 1773659723404
31
- - Test preference 1773659723333-2
32
- - Test preference 1773659723333-1
33
- - Test preference 1773659723333-0
34
- - Test memory content
35
- - Session test preference 1773656489963
36
- - Test preference 1773656489911-2
37
- - Test preference 1773656489911-1
38
- - Test preference 1773656489911-0
39
- - Test memory content
40
- - Session test preference 1773654956838
41
- - Test preference 1773654956788-2
42
- - Test preference 1773654956788-1
43
- - Test preference 1773654956788-0
44
- - Test memory content
45
- - Session test preference 1773410782522
46
- - Test preference 1773410782456-2
47
- - Test preference 1773410782456-1
48
- - Test preference 1773410782456-0
49
- - Test memory content
50
- - Session test preference 1773409168447
51
- - Test preference 1773409168387-2
52
- - Test preference 1773409168387-1
53
- - Test preference 1773409168387-0
54
- - Test memory content
55
- - Session test preference 1773220863220
56
- - Test preference 1773220863174-2
57
- - Test preference 1773220863174-1
58
- - Test preference 1773220863174-0
59
- - Test memory content
60
- - Session test preference 1773140547204
61
- - Test preference 1773140547121-2
62
- - Test preference 1773140547121-1
63
- - Test preference 1773140547121-0
64
- - Test memory content
65
- - Session test preference 1773065886791
66
- - Test preference 1773065886739-2
67
- - Test preference 1773065886739-1
68
- - Test preference 1773065886739-0
69
- - Test memory content
70
- - Session test preference 1773063478118
71
- - Test preference 1773063478060-2
72
- - Test preference 1773063478060-1
73
- - Test preference 1773063478060-0
74
- - Test memory content
75
- - Session test preference 1773063446014
76
- - Test preference 1773063445964-2
77
- - Test preference 1773063445964-1
78
- - Test preference 1773063445964-0
79
- - Test memory content
80
- - Session test preference 1772641994220
81
- - Test preference 1772641994155-2
82
- - Test preference 1772641994155-1
83
- - Test preference 1772641994155-0
84
- - Test memory content
85
- - Session test preference 1772641570600
86
- - Test preference 1772641570532-2
87
- - Test preference 1772641570532-1
88
- - Test preference 1772641570532-0
89
- - Test memory content
90
- - Session test preference 1772641027019
91
- - Test preference 1772641026972-2
92
- - Test preference 1772641026972-1
93
- - Test preference 1772641026972-0
94
- - Test memory content
95
- - {"value":"the","raw":"Create a new test file in the tests directory","confidence":0.7,"isOverride":false,"overrideSignals":[],"source":"automatic-extraction"}
96
- - Test memory 1770503281864-4
97
- - Test memory 1770503281864-3
98
- - Test memory 1770503281864-2
99
- - Test memory 1770503281864-1
100
- - Test memory 1770503281864-0
101
- - Test memory 1770503266492-4
102
- - Test memory 1770503266492-3
103
- - Test memory 1770503266492-2
104
- - Test memory 1770503266492-1
105
- - Test memory 1770503266492-0
106
- - Do not bump version numbers without asking first
107
- - Use local node_modules/.bin/claude-recall path in setup --install hook commands instead of npx to avoid registry hits
108
- - Use YYYYMMDD_descriptive_name.md naming convention for markdown files
109
- - When user says 'jam', it means 'just answer me' — a shorthand directive to provide direct answers without elaboration
110
- - When user says 'jam', they mean 'just answer me' — respond directly without explanation
111
- - Use YYYYMMDD_descriptive_name.md naming convention for files
112
- - always use tabs for indentation
113
- - always use tabs
114
- - always use tabs
115
- - Do not change TTL settings—current configuration was deliberately chosen for a reason
116
- - Do not change TTL settings; current configuration is intentional and should be preserved
117
- - you to replace existing install instructions on project readme with the above
118
31
 
119
32
  ---
120
33
  *Auto-generated by Claude Recall. Regenerate: `npx claude-recall skills generate`*
@@ -1,111 +1,24 @@
1
1
  {
2
2
  "topicId": "preferences",
3
- "sourceHash": "e03fbec0a2b07a6eaa355b96d76fedae8a5908955d2d2eb02fd15c60fbc87788",
4
- "memoryCount": 103,
5
- "generatedAt": "2026-03-20T15:33:09.994Z",
3
+ "sourceHash": "7123394f8e4ec18013e3a3c3d5f2a4761f1a0c14c20401f566541901de6f797c",
4
+ "memoryCount": 16,
5
+ "generatedAt": "2026-03-21T15:18:51.351Z",
6
6
  "memoryKeys": [
7
+ "memory_1774106331340_cwt88yhle",
8
+ "memory_1774106331311_491hg2a21",
9
+ "memory_1774106331297_0b6bvacd7",
10
+ "memory_1774106331284_ai62szr9y",
11
+ "memory_1774106331222_zjfz8zu59",
12
+ "memory_1774104588384_hy5yej2pk",
13
+ "memory_1774104588351_whsk5rvw3",
14
+ "memory_1774104588338_80cx2o3jv",
15
+ "memory_1774104588325_g4o5ksubl",
16
+ "memory_1774104588255_fy0wv845g",
7
17
  "memory_1774020789927_g99mrubvu",
8
18
  "memory_1774020789705_xhubujrxv",
9
19
  "memory_1774020789618_m1p55yhtz",
10
20
  "memory_1774020789521_saryqj7kw",
11
21
  "memory_1774020789257_wla5q38wq",
12
- "memory_1773999187737_qrdwbas47",
13
- "memory_1773999187696_gymxhasno",
14
- "memory_1773999187680_p6rxtp38v",
15
- "memory_1773999187660_0at06kilq",
16
- "memory_1773999187564_d7j4ivfjo",
17
- "memory_1773740608857_7954nxhke",
18
- "memory_1773740608828_pkci7qhtt",
19
- "memory_1773740608815_k3tj4psf1",
20
- "memory_1773740608798_287hs9q7h",
21
- "memory_1773740608717_3wy6inv8q",
22
- "memory_1773659723405_v31rp5h3e",
23
- "memory_1773659723371_xhh4zlbuh",
24
- "memory_1773659723354_y2ohkszjc",
25
- "memory_1773659723334_0s9ajoyzw",
26
- "memory_1773659723257_3fn8u7isl",
27
- "memory_1773656489964_tpm4ycfc1",
28
- "memory_1773656489936_29pvxu7ni",
29
- "memory_1773656489924_ick7951wj",
30
- "memory_1773656489912_w54afewzm",
31
- "memory_1773656489839_ij3r3sg2s",
32
- "memory_1773654956839_pluovrk77",
33
- "memory_1773654956815_ofh9by5rb",
34
- "memory_1773654956802_24y27xjux",
35
- "memory_1773654956790_pnrio2ihb",
36
- "memory_1773654956712_hnjabccni",
37
- "memory_1773410782523_k5hjje6pt",
38
- "memory_1773410782491_zbm4dcqvl",
39
- "memory_1773410782472_t0nrgizx2",
40
- "memory_1773410782457_eca2hxqcs",
41
- "memory_1773410782389_ehwhx4mov",
42
- "memory_1773409168448_lp6jbcq6o",
43
- "memory_1773409168422_x97lwordj",
44
- "memory_1773409168407_gjxhfjl1u",
45
- "memory_1773409168388_98ks3u4k3",
46
- "memory_1773409168308_zjbd31cbp",
47
- "memory_1773220863221_ggnocokf8",
48
- "memory_1773220863198_rv1353oto",
49
- "memory_1773220863187_9r4z9dwpv",
50
- "memory_1773220863175_jni0m5kzy",
51
- "memory_1773220863131_hmj0hfcp5",
52
- "memory_1773140547206_8cbbkefpx",
53
- "memory_1773140547162_eksnqi34n",
54
- "memory_1773140547143_w1ufbuash",
55
- "memory_1773140547123_uoyitjwhj",
56
- "memory_1773140547027_ckax4bx7l",
57
- "memory_1773065886792_fpwpp53q1",
58
- "memory_1773065886768_j9hss5jvk",
59
- "memory_1773065886755_mlkpvl15c",
60
- "memory_1773065886740_cfpbgv7xa",
61
- "memory_1773065886660_kepguw7v5",
62
- "memory_1773063478119_f5s8sac1g",
63
- "memory_1773063478088_riw645v9v",
64
- "memory_1773063478075_sotna438z",
65
- "memory_1773063478061_qie30hhrd",
66
- "memory_1773063478002_xfk9uosur",
67
- "memory_1773063446016_yrypv3hpg",
68
- "memory_1773063445993_cy74lmf6l",
69
- "memory_1773063445981_l7y0uh7gi",
70
- "memory_1773063445965_211kprcio",
71
- "memory_1773063445889_vzmr6lcy8",
72
- "memory_1772641994221_cctqm7vd4",
73
- "memory_1772641994194_763rlkhhz",
74
- "memory_1772641994179_zs0rpz3zr",
75
- "memory_1772641994158_vadq15tec",
76
- "memory_1772641994099_xrwpeeakk",
77
- "memory_1772641570601_xvf8npg4u",
78
- "memory_1772641570568_82uovwj87",
79
- "memory_1772641570553_x5pqxh0i5",
80
- "memory_1772641570534_lcj6gabjh",
81
- "memory_1772641570475_9dly40az7",
82
- "memory_1772641027021_1dd26eqko",
83
- "memory_1772641027000_bkioeyv90",
84
- "memory_1772641026988_qcl3agwiv",
85
- "memory_1772641026973_3wwzozcu8",
86
- "memory_1772641026924_g7idzqyvz",
87
- "test_location",
88
- "memory_1770503281954_abo811a30",
89
- "memory_1770503281930_zu6z96vpp",
90
- "memory_1770503281903_djro844nj",
91
- "memory_1770503281884_tgw9eoio2",
92
- "memory_1770503281865_tln4jdqqd",
93
- "memory_1770503266599_2p944ykku",
94
- "memory_1770503266570_ar7s4w401",
95
- "memory_1770503266534_iq6pvjqj6",
96
- "memory_1770503266513_a1nxjz4j2",
97
- "memory_1770503266494_f3p8e15xv",
98
- "hook_preference_1773743105207_791mk6w14",
99
- "hook_preference_1772641938714_ucidifq0v",
100
- "hook_preference_1772633980785_n9bwj39q4",
101
- "hook_preference_1771934420257_l4pawjgn5",
102
- "hook_preference_1771934405021_mnhek0x7b",
103
- "hook_preference_1772633967192_pwhu84pfo",
104
- "hook_preference_1771112119815_z02zal3z6",
105
- "hook_preference_1771112104493_d3nz1o2ye",
106
- "hook_preference_1771112075356_3gh724ucm",
107
- "hook_preference_1773220761159_igi8x4tax",
108
- "hook_preference_1773220748369_qpl2lvvpd",
109
- "hook_preference_1773784604998_geftlce1x"
22
+ "memory_1773999187737_qrdwbas47"
110
23
  ]
111
24
  }
@@ -334,7 +334,8 @@ class ClaudeRecallCLI {
334
334
  if (memStats.length > 0) {
335
335
  console.log(`── Memory Stats — Top Retrieved (${memStats.length}) ──\n`);
336
336
  for (const s of memStats) {
337
- const ratio = s.times_retrieved > 0 ? ((s.times_helpful / s.times_retrieved) * 100).toFixed(0) : '0';
337
+ const total = Math.max(s.times_retrieved, s.times_helpful + s.times_unhelpful);
338
+ const ratio = total > 0 ? Math.min((s.times_helpful / total) * 100, 100).toFixed(0) : '0';
338
339
  console.log(` ${s.memory_key}`);
339
340
  console.log(` retrieved: ${s.times_retrieved} helpful: ${s.times_helpful} unhelpful: ${s.times_unhelpful} (${ratio}% helpful)`);
340
341
  }
@@ -262,14 +262,28 @@ class MemoryTools {
262
262
  if (rules.corrections.length > 0) {
263
263
  sections.push('## Corrections\n' + rules.corrections.map(m => {
264
264
  const val = typeof m.value === 'object' ? (m.value.content || m.value.value || JSON.stringify(m.value)) : m.value;
265
- return `- ${val}`;
265
+ const isPromoted = m.key.startsWith('promoted_') || m.value?.source === 'promotion-engine';
266
+ const evidence = isPromoted && m.value?.evidence_count ? ` (learned from ${m.value.evidence_count} observations)` : '';
267
+ return isPromoted ? `- [promoted lesson] ${val}${evidence}` : `- ${val}`;
266
268
  }).join('\n'));
267
269
  }
268
270
  if (rules.failures.length > 0) {
269
- sections.push('## Failures\n' + rules.failures.map(m => {
270
- const val = typeof m.value === 'object' ? (m.value.content || m.value.value || JSON.stringify(m.value)) : m.value;
271
- return `- ${val}`;
272
- }).join('\n'));
271
+ // Separate promoted lessons from regular failures
272
+ const promotedLessons = rules.failures.filter(m => m.key.startsWith('promoted_') || m.value?.source === 'promotion-engine');
273
+ const regularFailures = rules.failures.filter(m => !m.key.startsWith('promoted_') && m.value?.source !== 'promotion-engine');
274
+ if (promotedLessons.length > 0) {
275
+ sections.push('## Promoted Lessons (learned from repeated outcomes)\n' + promotedLessons.map(m => {
276
+ const val = typeof m.value === 'object' ? (m.value.content || m.value.value || JSON.stringify(m.value)) : m.value;
277
+ const evidence = m.value?.evidence_count ? ` (seen ${m.value.evidence_count}x)` : '';
278
+ return `- ${val}${evidence}`;
279
+ }).join('\n'));
280
+ }
281
+ if (regularFailures.length > 0) {
282
+ sections.push('## Failures\n' + regularFailures.map(m => {
283
+ const val = typeof m.value === 'object' ? (m.value.content || m.value.value || JSON.stringify(m.value)) : m.value;
284
+ return `- ${val}`;
285
+ }).join('\n'));
286
+ }
273
287
  }
274
288
  if (rules.devops.length > 0) {
275
289
  sections.push('## DevOps Rules\n' + rules.devops.map(m => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-recall",
3
- "version": "0.18.2",
3
+ "version": "0.18.4",
4
4
  "description": "Persistent memory for Claude Code with native Skills integration, automatic capture, failure learning, and project scoping via MCP server",
5
5
  "main": "dist/index.js",
6
6
  "bin": {