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.
- package/README.md +16 -2
- package/dist/scripts/cc-memory-bulk-sync.d.ts +26 -0
- package/dist/scripts/cc-memory-bulk-sync.d.ts.map +1 -0
- package/dist/scripts/cc-memory-bulk-sync.js +177 -0
- package/dist/scripts/cc-memory-bulk-sync.js.map +1 -0
- package/dist/scripts/fetch-raw.d.ts +2 -0
- package/dist/scripts/fetch-raw.d.ts.map +1 -0
- package/dist/scripts/fetch-raw.js +124 -0
- package/dist/scripts/fetch-raw.js.map +1 -0
- package/dist/scripts/lib/consolidation.d.ts +17 -0
- package/dist/scripts/lib/consolidation.d.ts.map +1 -0
- package/dist/scripts/lib/consolidation.js +55 -0
- package/dist/scripts/lib/consolidation.js.map +1 -0
- package/dist/scripts/lib/constants.d.ts +5 -0
- package/dist/scripts/lib/constants.d.ts.map +1 -1
- package/dist/scripts/lib/constants.js +16 -4
- package/dist/scripts/lib/constants.js.map +1 -1
- package/dist/scripts/lib/db-helpers.d.ts +12 -2
- package/dist/scripts/lib/db-helpers.d.ts.map +1 -1
- package/dist/scripts/lib/db-helpers.js +36 -0
- package/dist/scripts/lib/db-helpers.js.map +1 -1
- package/dist/scripts/lib/decay.d.ts +21 -0
- package/dist/scripts/lib/decay.d.ts.map +1 -0
- package/dist/scripts/lib/decay.js +50 -0
- package/dist/scripts/lib/decay.js.map +1 -0
- package/dist/scripts/lib/hybrid-search.d.ts +0 -2
- package/dist/scripts/lib/hybrid-search.d.ts.map +1 -1
- package/dist/scripts/lib/hybrid-search.js +7 -1
- package/dist/scripts/lib/hybrid-search.js.map +1 -1
- package/dist/scripts/lib/migrations-v052.d.ts +3 -0
- package/dist/scripts/lib/migrations-v052.d.ts.map +1 -0
- package/dist/scripts/lib/migrations-v052.js +23 -0
- package/dist/scripts/lib/migrations-v052.js.map +1 -0
- package/dist/scripts/lib/migrations-v053.d.ts +3 -0
- package/dist/scripts/lib/migrations-v053.d.ts.map +1 -0
- package/dist/scripts/lib/migrations-v053.js +52 -0
- package/dist/scripts/lib/migrations-v053.js.map +1 -0
- package/dist/scripts/lib/skeleton.d.ts +2 -0
- package/dist/scripts/lib/skeleton.d.ts.map +1 -0
- package/dist/scripts/lib/skeleton.js +99 -0
- package/dist/scripts/lib/skeleton.js.map +1 -0
- package/dist/scripts/lib/skill-memory.d.ts +13 -0
- package/dist/scripts/lib/skill-memory.d.ts.map +1 -0
- package/dist/scripts/lib/skill-memory.js +94 -0
- package/dist/scripts/lib/skill-memory.js.map +1 -0
- package/dist/scripts/mindlore-backup.d.ts +1 -1
- package/dist/scripts/mindlore-backup.d.ts.map +1 -1
- package/dist/scripts/mindlore-backup.js +23 -0
- package/dist/scripts/mindlore-backup.js.map +1 -1
- package/dist/scripts/mindlore-fts5-index.js +3 -1
- package/dist/scripts/mindlore-fts5-index.js.map +1 -1
- package/dist/scripts/mindlore-health-check.d.ts +1 -1
- package/dist/scripts/mindlore-health-check.d.ts.map +1 -1
- package/dist/scripts/mindlore-health-check.js +138 -136
- package/dist/scripts/mindlore-health-check.js.map +1 -1
- package/dist/tests/catch-up.test.d.ts +2 -0
- package/dist/tests/catch-up.test.d.ts.map +1 -0
- package/dist/tests/catch-up.test.js +88 -0
- package/dist/tests/catch-up.test.js.map +1 -0
- package/dist/tests/cc-memory-bulk-sync.test.d.ts +2 -0
- package/dist/tests/cc-memory-bulk-sync.test.d.ts.map +1 -0
- package/dist/tests/cc-memory-bulk-sync.test.js +116 -0
- package/dist/tests/cc-memory-bulk-sync.test.js.map +1 -0
- package/dist/tests/consolidation.test.d.ts +2 -0
- package/dist/tests/consolidation.test.d.ts.map +1 -0
- package/dist/tests/consolidation.test.js +77 -0
- package/dist/tests/consolidation.test.js.map +1 -0
- package/dist/tests/decay.test.d.ts +2 -0
- package/dist/tests/decay.test.d.ts.map +1 -0
- package/dist/tests/decay.test.js +92 -0
- package/dist/tests/decay.test.js.map +1 -0
- package/dist/tests/episode-file.test.js +9 -6
- package/dist/tests/episode-file.test.js.map +1 -1
- package/dist/tests/fetch-raw.test.d.ts +2 -0
- package/dist/tests/fetch-raw.test.d.ts.map +1 -0
- package/dist/tests/fetch-raw.test.js +43 -0
- package/dist/tests/fetch-raw.test.js.map +1 -0
- package/dist/tests/git-snapshot.test.d.ts +2 -0
- package/dist/tests/git-snapshot.test.d.ts.map +1 -0
- package/dist/tests/git-snapshot.test.js +36 -0
- package/dist/tests/git-snapshot.test.js.map +1 -0
- package/dist/tests/migrations-v053.test.d.ts +2 -0
- package/dist/tests/migrations-v053.test.d.ts.map +1 -0
- package/dist/tests/migrations-v053.test.js +113 -0
- package/dist/tests/migrations-v053.test.js.map +1 -0
- package/dist/tests/recall-telemetry.test.d.ts +2 -0
- package/dist/tests/recall-telemetry.test.d.ts.map +1 -0
- package/dist/tests/recall-telemetry.test.js +56 -0
- package/dist/tests/recall-telemetry.test.js.map +1 -0
- package/dist/tests/resolve-hook-common.test.d.ts +2 -0
- package/dist/tests/resolve-hook-common.test.d.ts.map +1 -0
- package/dist/tests/resolve-hook-common.test.js +30 -0
- package/dist/tests/resolve-hook-common.test.js.map +1 -0
- package/dist/tests/search-offload.test.d.ts +2 -0
- package/dist/tests/search-offload.test.d.ts.map +1 -0
- package/dist/tests/search-offload.test.js +34 -0
- package/dist/tests/search-offload.test.js.map +1 -0
- package/dist/tests/skeleton.test.d.ts +2 -0
- package/dist/tests/skeleton.test.d.ts.map +1 -0
- package/dist/tests/skeleton.test.js +116 -0
- package/dist/tests/skeleton.test.js.map +1 -0
- package/dist/tests/skill-memory-api.test.d.ts +2 -0
- package/dist/tests/skill-memory-api.test.d.ts.map +1 -0
- package/dist/tests/skill-memory-api.test.js +62 -0
- package/dist/tests/skill-memory-api.test.js.map +1 -0
- package/dist/tests/skill-memory.test.d.ts +2 -0
- package/dist/tests/skill-memory.test.d.ts.map +1 -0
- package/dist/tests/skill-memory.test.js +67 -0
- package/dist/tests/skill-memory.test.js.map +1 -0
- package/dist/tests/skill-path-resolution.test.d.ts +2 -0
- package/dist/tests/skill-path-resolution.test.d.ts.map +1 -0
- package/dist/tests/skill-path-resolution.test.js +42 -0
- package/dist/tests/skill-path-resolution.test.js.map +1 -0
- package/dist/tests/wiki-lint.test.d.ts +2 -0
- package/dist/tests/wiki-lint.test.d.ts.map +1 -0
- package/dist/tests/wiki-lint.test.js +47 -0
- package/dist/tests/wiki-lint.test.js.map +1 -0
- package/hooks/lib/mindlore-common.cjs +53 -6
- package/hooks/mindlore-cwd-changed.cjs +2 -2
- package/hooks/mindlore-decision-detector.cjs +2 -2
- package/hooks/mindlore-dont-repeat.cjs +2 -2
- package/hooks/mindlore-fts5-sync.cjs +2 -2
- package/hooks/mindlore-index.cjs +60 -2
- package/hooks/mindlore-model-router.cjs +2 -2
- package/hooks/mindlore-post-compact.cjs +2 -2
- package/hooks/mindlore-post-read.cjs +2 -2
- package/hooks/mindlore-pre-compact.cjs +2 -2
- package/hooks/mindlore-read-guard.cjs +15 -3
- package/hooks/mindlore-research-guard.cjs +2 -2
- package/hooks/mindlore-search.cjs +30 -3
- package/hooks/mindlore-session-end.cjs +1 -1
- package/hooks/mindlore-session-focus.cjs +12 -0
- package/package.json +4 -2
- package/plugin.json +34 -2
- package/skills/mindlore-decide/SKILL.md +9 -0
- package/skills/mindlore-diary/SKILL.md +85 -0
- package/skills/mindlore-evolve/SKILL.md +24 -1
- package/skills/mindlore-health/SKILL.md +10 -1
- package/skills/mindlore-ingest/SKILL.md +64 -52
- package/skills/mindlore-log/SKILL.md +12 -143
- package/skills/mindlore-maintain/SKILL.md +119 -0
- package/skills/mindlore-query/SKILL.md +9 -0
- package/skills/mindlore-reflect/SKILL.md +131 -0
- 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 |`
|
package/templates/config.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.5.
|
|
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
|
}
|