mindlore 0.5.1 → 0.5.3

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 (144) hide show
  1. package/README.md +16 -2
  2. package/dist/scripts/cc-memory-bulk-sync.d.ts +26 -0
  3. package/dist/scripts/cc-memory-bulk-sync.d.ts.map +1 -0
  4. package/dist/scripts/cc-memory-bulk-sync.js +177 -0
  5. package/dist/scripts/cc-memory-bulk-sync.js.map +1 -0
  6. package/dist/scripts/fetch-raw.d.ts +2 -0
  7. package/dist/scripts/fetch-raw.d.ts.map +1 -0
  8. package/dist/scripts/fetch-raw.js +124 -0
  9. package/dist/scripts/fetch-raw.js.map +1 -0
  10. package/dist/scripts/lib/consolidation.d.ts +17 -0
  11. package/dist/scripts/lib/consolidation.d.ts.map +1 -0
  12. package/dist/scripts/lib/consolidation.js +55 -0
  13. package/dist/scripts/lib/consolidation.js.map +1 -0
  14. package/dist/scripts/lib/constants.d.ts +5 -0
  15. package/dist/scripts/lib/constants.d.ts.map +1 -1
  16. package/dist/scripts/lib/constants.js +16 -4
  17. package/dist/scripts/lib/constants.js.map +1 -1
  18. package/dist/scripts/lib/db-helpers.d.ts +12 -2
  19. package/dist/scripts/lib/db-helpers.d.ts.map +1 -1
  20. package/dist/scripts/lib/db-helpers.js +36 -0
  21. package/dist/scripts/lib/db-helpers.js.map +1 -1
  22. package/dist/scripts/lib/decay.d.ts +21 -0
  23. package/dist/scripts/lib/decay.d.ts.map +1 -0
  24. package/dist/scripts/lib/decay.js +50 -0
  25. package/dist/scripts/lib/decay.js.map +1 -0
  26. package/dist/scripts/lib/hybrid-search.d.ts +0 -2
  27. package/dist/scripts/lib/hybrid-search.d.ts.map +1 -1
  28. package/dist/scripts/lib/hybrid-search.js +7 -1
  29. package/dist/scripts/lib/hybrid-search.js.map +1 -1
  30. package/dist/scripts/lib/migrations-v052.d.ts +3 -0
  31. package/dist/scripts/lib/migrations-v052.d.ts.map +1 -0
  32. package/dist/scripts/lib/migrations-v052.js +23 -0
  33. package/dist/scripts/lib/migrations-v052.js.map +1 -0
  34. package/dist/scripts/lib/migrations-v053.d.ts +3 -0
  35. package/dist/scripts/lib/migrations-v053.d.ts.map +1 -0
  36. package/dist/scripts/lib/migrations-v053.js +52 -0
  37. package/dist/scripts/lib/migrations-v053.js.map +1 -0
  38. package/dist/scripts/lib/skeleton.d.ts +2 -0
  39. package/dist/scripts/lib/skeleton.d.ts.map +1 -0
  40. package/dist/scripts/lib/skeleton.js +99 -0
  41. package/dist/scripts/lib/skeleton.js.map +1 -0
  42. package/dist/scripts/lib/skill-memory.d.ts +13 -0
  43. package/dist/scripts/lib/skill-memory.d.ts.map +1 -0
  44. package/dist/scripts/lib/skill-memory.js +94 -0
  45. package/dist/scripts/lib/skill-memory.js.map +1 -0
  46. package/dist/scripts/mindlore-backup.d.ts +1 -1
  47. package/dist/scripts/mindlore-backup.d.ts.map +1 -1
  48. package/dist/scripts/mindlore-backup.js +23 -0
  49. package/dist/scripts/mindlore-backup.js.map +1 -1
  50. package/dist/scripts/mindlore-fts5-index.js +3 -1
  51. package/dist/scripts/mindlore-fts5-index.js.map +1 -1
  52. package/dist/scripts/mindlore-health-check.d.ts +1 -1
  53. package/dist/scripts/mindlore-health-check.d.ts.map +1 -1
  54. package/dist/scripts/mindlore-health-check.js +138 -136
  55. package/dist/scripts/mindlore-health-check.js.map +1 -1
  56. package/dist/tests/catch-up.test.d.ts +2 -0
  57. package/dist/tests/catch-up.test.d.ts.map +1 -0
  58. package/dist/tests/catch-up.test.js +88 -0
  59. package/dist/tests/catch-up.test.js.map +1 -0
  60. package/dist/tests/cc-memory-bulk-sync.test.d.ts +2 -0
  61. package/dist/tests/cc-memory-bulk-sync.test.d.ts.map +1 -0
  62. package/dist/tests/cc-memory-bulk-sync.test.js +116 -0
  63. package/dist/tests/cc-memory-bulk-sync.test.js.map +1 -0
  64. package/dist/tests/consolidation.test.d.ts +2 -0
  65. package/dist/tests/consolidation.test.d.ts.map +1 -0
  66. package/dist/tests/consolidation.test.js +77 -0
  67. package/dist/tests/consolidation.test.js.map +1 -0
  68. package/dist/tests/decay.test.d.ts +2 -0
  69. package/dist/tests/decay.test.d.ts.map +1 -0
  70. package/dist/tests/decay.test.js +92 -0
  71. package/dist/tests/decay.test.js.map +1 -0
  72. package/dist/tests/episode-file.test.js +9 -6
  73. package/dist/tests/episode-file.test.js.map +1 -1
  74. package/dist/tests/fetch-raw.test.d.ts +2 -0
  75. package/dist/tests/fetch-raw.test.d.ts.map +1 -0
  76. package/dist/tests/fetch-raw.test.js +43 -0
  77. package/dist/tests/fetch-raw.test.js.map +1 -0
  78. package/dist/tests/git-snapshot.test.d.ts +2 -0
  79. package/dist/tests/git-snapshot.test.d.ts.map +1 -0
  80. package/dist/tests/git-snapshot.test.js +36 -0
  81. package/dist/tests/git-snapshot.test.js.map +1 -0
  82. package/dist/tests/migrations-v053.test.d.ts +2 -0
  83. package/dist/tests/migrations-v053.test.d.ts.map +1 -0
  84. package/dist/tests/migrations-v053.test.js +113 -0
  85. package/dist/tests/migrations-v053.test.js.map +1 -0
  86. package/dist/tests/recall-telemetry.test.d.ts +2 -0
  87. package/dist/tests/recall-telemetry.test.d.ts.map +1 -0
  88. package/dist/tests/recall-telemetry.test.js +56 -0
  89. package/dist/tests/recall-telemetry.test.js.map +1 -0
  90. package/dist/tests/resolve-hook-common.test.d.ts +2 -0
  91. package/dist/tests/resolve-hook-common.test.d.ts.map +1 -0
  92. package/dist/tests/resolve-hook-common.test.js +30 -0
  93. package/dist/tests/resolve-hook-common.test.js.map +1 -0
  94. package/dist/tests/search-offload.test.d.ts +2 -0
  95. package/dist/tests/search-offload.test.d.ts.map +1 -0
  96. package/dist/tests/search-offload.test.js +34 -0
  97. package/dist/tests/search-offload.test.js.map +1 -0
  98. package/dist/tests/skeleton.test.d.ts +2 -0
  99. package/dist/tests/skeleton.test.d.ts.map +1 -0
  100. package/dist/tests/skeleton.test.js +116 -0
  101. package/dist/tests/skeleton.test.js.map +1 -0
  102. package/dist/tests/skill-memory-api.test.d.ts +2 -0
  103. package/dist/tests/skill-memory-api.test.d.ts.map +1 -0
  104. package/dist/tests/skill-memory-api.test.js +62 -0
  105. package/dist/tests/skill-memory-api.test.js.map +1 -0
  106. package/dist/tests/skill-memory.test.d.ts +2 -0
  107. package/dist/tests/skill-memory.test.d.ts.map +1 -0
  108. package/dist/tests/skill-memory.test.js +67 -0
  109. package/dist/tests/skill-memory.test.js.map +1 -0
  110. package/dist/tests/skill-path-resolution.test.d.ts +2 -0
  111. package/dist/tests/skill-path-resolution.test.d.ts.map +1 -0
  112. package/dist/tests/skill-path-resolution.test.js +42 -0
  113. package/dist/tests/skill-path-resolution.test.js.map +1 -0
  114. package/dist/tests/wiki-lint.test.d.ts +2 -0
  115. package/dist/tests/wiki-lint.test.d.ts.map +1 -0
  116. package/dist/tests/wiki-lint.test.js +47 -0
  117. package/dist/tests/wiki-lint.test.js.map +1 -0
  118. package/hooks/lib/mindlore-common.cjs +53 -6
  119. package/hooks/mindlore-cwd-changed.cjs +2 -2
  120. package/hooks/mindlore-decision-detector.cjs +2 -2
  121. package/hooks/mindlore-dont-repeat.cjs +2 -2
  122. package/hooks/mindlore-fts5-sync.cjs +2 -2
  123. package/hooks/mindlore-index.cjs +60 -2
  124. package/hooks/mindlore-model-router.cjs +2 -2
  125. package/hooks/mindlore-post-compact.cjs +2 -2
  126. package/hooks/mindlore-post-read.cjs +2 -2
  127. package/hooks/mindlore-pre-compact.cjs +2 -2
  128. package/hooks/mindlore-read-guard.cjs +15 -3
  129. package/hooks/mindlore-research-guard.cjs +2 -2
  130. package/hooks/mindlore-search.cjs +30 -3
  131. package/hooks/mindlore-session-end.cjs +1 -1
  132. package/hooks/mindlore-session-focus.cjs +12 -0
  133. package/package.json +4 -2
  134. package/plugin.json +34 -2
  135. package/skills/mindlore-decide/SKILL.md +9 -0
  136. package/skills/mindlore-diary/SKILL.md +85 -0
  137. package/skills/mindlore-evolve/SKILL.md +24 -1
  138. package/skills/mindlore-health/SKILL.md +10 -1
  139. package/skills/mindlore-ingest/SKILL.md +64 -52
  140. package/skills/mindlore-log/SKILL.md +12 -143
  141. package/skills/mindlore-maintain/SKILL.md +119 -0
  142. package/skills/mindlore-query/SKILL.md +9 -0
  143. package/skills/mindlore-reflect/SKILL.md +131 -0
  144. package/templates/config.json +8 -1
@@ -0,0 +1,131 @@
1
+ ---
2
+ name: mindlore-reflect
3
+ description: Pattern extraction from episodes — 3-tier confidence, nomination pipeline, CLAUDE.md update proposals.
4
+ ---
5
+
6
+ ## Script Resolution
7
+
8
+ All script paths are relative to this skill's package root.
9
+ Package root = 2 directories up from this skill's base directory.
10
+
11
+ When CC loads this skill, it shows "Base directory for this skill: /path/to/skills/mindlore-reflect".
12
+ Compute: `MINDLORE_PKG = {base_directory}/../..`
13
+ Use: `node "$MINDLORE_PKG/dist/scripts/..."` for all script commands.
14
+
15
+ # /mindlore-reflect
16
+
17
+ ## Scope
18
+
19
+ Scans both project + global `~/.mindlore/` diary/ for patterns.
20
+
21
+ ## Trigger
22
+
23
+ `/mindlore-reflect` or `/mindlore-log reflect`
24
+
25
+ ## On Start — Check pending nominations + skill_memory
26
+
27
+ ```bash
28
+ node "$MINDLORE_PKG/dist/scripts/lib/skill-memory.js" get mindlore-reflect last_reflect_date
29
+ node "$MINDLORE_PKG/dist/scripts/lib/skill-memory.js" get mindlore-reflect nomination_count
30
+ ```
31
+
32
+ Check pending nominations:
33
+ ```sql
34
+ SELECT id, summary, body, created_at FROM episodes
35
+ WHERE kind = 'nomination' AND status = 'staged' AND project = ?
36
+ ORDER BY created_at ASC
37
+ ```
38
+
39
+ If pending nominations exist, present them first:
40
+ ```
41
+ -- Bekleyen Nomination'lar ({N} adet) --
42
+ 1. "{summary}" (staged {days} gun once)
43
+ Target: learnings | Confidence: 3x
44
+
45
+ Onaylamak istediklerini sec, veya 'skip':
46
+ ```
47
+
48
+ ## Flow
49
+
50
+ 1. Read active episodes: `WHERE status = 'active' AND source IN ('hook', 'diary')`
51
+ 2. Filter by time: `--days 7` (default), `--days 30`
52
+ 3. Present summary: "Found N episodes spanning DATE1 to DATE2"
53
+ 4. LLM analyzes episodes for recurring patterns:
54
+ - Repeated decisions (same choice 2+ times)
55
+ - Recurring frictions (same blocker/error)
56
+ - Discovery patterns (assumptions that keep breaking)
57
+ - Workflow patterns that worked well
58
+
59
+ 5. **3-Tier Confidence Assessment:**
60
+
61
+ | Tekrar | Tier | Aksiyon |
62
+ |--------|------|---------|
63
+ | 1x | Note | Sessiz — episode olarak kalir, raporda goster |
64
+ | 2x | Learning | `kind: learning` episode olustur, learnings/ dosyasina yaz |
65
+ | 3x+ | Nomination | `kind: nomination, status: staged, source: reflect` episode olustur |
66
+
67
+ 6. **Structured report:**
68
+ ```
69
+ -- Reflect Raporu (son {days} gun, {N} episode) --
70
+
71
+ Friction ({count}):
72
+ - {summary} — {repeat_count}x tekrar
73
+
74
+ Discoveries ({count}):
75
+ - {summary}
76
+
77
+ Patterns:
78
+ - "{pattern}" -> 3x tekrar -> NOMINATION (staged)
79
+ - "{pattern}" -> 2x tekrar -> LEARNING
80
+ - "{pattern}" -> 1x -> NOTE
81
+
82
+ Onerilen:
83
+ [ ] {rule} ({repeat_count}x, {confidence} confidence)
84
+ ```
85
+
86
+ 7. **Nomination creation (3x+ tekrar):**
87
+ ```sql
88
+ INSERT INTO episodes (summary, body, kind, status, source, project, created_at)
89
+ VALUES (?, ?, 'nomination', 'staged', 'reflect', ?, ?)
90
+ ```
91
+
92
+ 8. **Nomination approval flow:**
93
+ User approves -> `status: staged -> approved` -> write to target:
94
+ - `learnings` -> `learnings/{topic}.md`
95
+ - `claude.md` -> project CLAUDE.md'ye kural ekle
96
+ - `domain:{slug}` -> ilgili domain sayfasina ekle
97
+
98
+ User rejects -> `status: staged -> rejected` + rejection reason
99
+
100
+ ## On End — Write skill_memory
101
+
102
+ ```bash
103
+ node "$MINDLORE_PKG/dist/scripts/lib/skill-memory.js" set mindlore-reflect last_reflect_date "$(date -I)"
104
+ node "$MINDLORE_PKG/dist/scripts/lib/skill-memory.js" set mindlore-reflect nomination_count "{staged_count}"
105
+ ```
106
+
107
+ ## Quick Health Summary (v0.5.3)
108
+
109
+ After pattern extraction, run quick SQL checks (0 token, <1ms):
110
+ ```bash
111
+ node -e "
112
+ const db = require('better-sqlite3')(require('path').join(require('os').homedir(), '.mindlore', 'mindlore.db'), {readonly:true});
113
+ const stale = db.prepare(\"SELECT COUNT(*) as c FROM file_hashes WHERE recall_count = 0 AND archived_at IS NULL AND last_indexed < datetime('now','-60 days')\").get()?.c ?? 0;
114
+ const raw = db.prepare(\"SELECT COUNT(*) as c FROM episodes WHERE (consolidation_status = 'raw' OR consolidation_status IS NULL) AND kind IN ('learning','discovery','friction','decision')\").get()?.c ?? 0;
115
+ console.log(JSON.stringify({stale, raw}));
116
+ db.close();
117
+ "
118
+ ```
119
+
120
+ Rapor sonuna ekle:
121
+ ```
122
+ Stale: {stale} doc | Raw episodes: {raw} | → Detay: /mindlore-maintain
123
+ ```
124
+
125
+ ## Rules
126
+
127
+ - NEVER write learnings or nominations without user approval
128
+ - Group related patterns into existing topic files
129
+ - Reflect READS episodes, diary WRITES episodes — clear separation
130
+ - Mark processed episodes so future reflect skips them
131
+ - Append to `log.md`: `| {date} | reflect | {N} episodes processed, {M} learnings written |`
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.5.1",
2
+ "version": "0.5.3",
3
3
  "models": {
4
4
  "ingest": "haiku",
5
5
  "evolve": "sonnet",
@@ -31,5 +31,12 @@
31
31
  "sessionInject": 2000,
32
32
  "searchResults": 1500,
33
33
  "perResult": 500
34
+ },
35
+ "decay": {
36
+ "halfLifeDays": 30,
37
+ "staleThreshold": 0.3
38
+ },
39
+ "consolidation": {
40
+ "threshold": 50
34
41
  }
35
42
  }