mindlore 0.5.8 → 0.6.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 (68) hide show
  1. package/README.md +14 -2
  2. package/agents/mindlore-assistant.md +26 -0
  3. package/agents/mindlore-librarian.md +27 -0
  4. package/agents/mindlore-researcher.md +28 -0
  5. package/dist/scripts/lib/backfill.d.ts.map +1 -1
  6. package/dist/scripts/lib/backfill.js +5 -18
  7. package/dist/scripts/lib/backfill.js.map +1 -1
  8. package/dist/scripts/lib/constants.d.ts.map +1 -1
  9. package/dist/scripts/lib/constants.js +2 -0
  10. package/dist/scripts/lib/constants.js.map +1 -1
  11. package/dist/scripts/lib/contradiction.d.ts.map +1 -1
  12. package/dist/scripts/lib/contradiction.js +11 -20
  13. package/dist/scripts/lib/contradiction.js.map +1 -1
  14. package/dist/scripts/lib/embedding.js +4 -4
  15. package/dist/scripts/lib/embedding.js.map +1 -1
  16. package/dist/scripts/maintain-cleanup.d.ts +13 -0
  17. package/dist/scripts/maintain-cleanup.d.ts.map +1 -0
  18. package/dist/scripts/maintain-cleanup.js +93 -0
  19. package/dist/scripts/maintain-cleanup.js.map +1 -0
  20. package/dist/scripts/mindlore-fts5-index.js +3 -3
  21. package/dist/scripts/mindlore-fts5-index.js.map +1 -1
  22. package/dist/tests/embedding-hf-integration.test.d.ts +2 -0
  23. package/dist/tests/embedding-hf-integration.test.d.ts.map +1 -0
  24. package/dist/tests/embedding-hf-integration.test.js +52 -0
  25. package/dist/tests/embedding-hf-integration.test.js.map +1 -0
  26. package/dist/tests/embedding.test.d.ts +1 -1
  27. package/dist/tests/embedding.test.js +2 -2
  28. package/dist/tests/embedding.test.js.map +1 -1
  29. package/dist/tests/fts5.test.js +54 -0
  30. package/dist/tests/fts5.test.js.map +1 -1
  31. package/dist/tests/helpers/db.d.ts +16 -0
  32. package/dist/tests/helpers/db.d.ts.map +1 -1
  33. package/dist/tests/helpers/db.js +5 -1
  34. package/dist/tests/helpers/db.js.map +1 -1
  35. package/dist/tests/maintain-cleanup.test.d.ts +2 -0
  36. package/dist/tests/maintain-cleanup.test.d.ts.map +1 -0
  37. package/dist/tests/maintain-cleanup.test.js +65 -0
  38. package/dist/tests/maintain-cleanup.test.js.map +1 -0
  39. package/dist/tests/quality-populate.test.js +10 -0
  40. package/dist/tests/quality-populate.test.js.map +1 -1
  41. package/dist/tests/sqlite-vec-v12.test.d.ts +2 -0
  42. package/dist/tests/sqlite-vec-v12.test.d.ts.map +1 -0
  43. package/dist/tests/sqlite-vec-v12.test.js +72 -0
  44. package/dist/tests/sqlite-vec-v12.test.js.map +1 -0
  45. package/dist/tests/telemetry.test.d.ts +2 -0
  46. package/dist/tests/telemetry.test.d.ts.map +1 -0
  47. package/dist/tests/telemetry.test.js +55 -0
  48. package/dist/tests/telemetry.test.js.map +1 -0
  49. package/hooks/lib/mindlore-common.cjs +76 -9
  50. package/hooks/mindlore-cwd-changed.cjs +2 -2
  51. package/hooks/mindlore-decision-detector.cjs +5 -2
  52. package/hooks/mindlore-dont-repeat.cjs +2 -2
  53. package/hooks/mindlore-fts5-sync.cjs +7 -4
  54. package/hooks/mindlore-index.cjs +8 -5
  55. package/hooks/mindlore-model-router.cjs +2 -2
  56. package/hooks/mindlore-post-compact.cjs +5 -2
  57. package/hooks/mindlore-post-read.cjs +2 -2
  58. package/hooks/mindlore-pre-compact.cjs +5 -2
  59. package/hooks/mindlore-read-guard.cjs +2 -2
  60. package/hooks/mindlore-research-guard.cjs +2 -2
  61. package/hooks/mindlore-search.cjs +5 -2
  62. package/hooks/mindlore-session-end.cjs +17 -8
  63. package/hooks/mindlore-session-focus.cjs +5 -2
  64. package/package.json +6 -4
  65. package/plugin.json +1 -1
  66. package/skills/mindlore-ingest/SKILL.md +27 -6
  67. package/templates/SCHEMA.md +106 -7
  68. package/templates/config.json +4 -1
@@ -44,6 +44,21 @@ Mindlore uses a single global directory:
44
44
  - Files MUST live in the directory matching their `type`
45
45
  - The health check script validates this cross-reference
46
46
 
47
+ ### Session Storage (v0.5.3)
48
+
49
+ ```
50
+ raw/sessions/
51
+ ├── kastell/ # Proje bazlı CC session dosyaları
52
+ ├── mindlore/
53
+ ├── Stok-Takip/
54
+ └── {project-slug}/ # cc-session-sync.ts tarafından yazılır
55
+ ```
56
+
57
+ Session dosyaları `cc-session-sync.ts` tarafından `~/.claude/projects/*/` altından taranır,
58
+ `projectSlug()` ile temiz isme dönüştürülür (ör. `C--Users-Omrfc-Documents-kastell` → `kastell`),
59
+ ve `raw/sessions/{slug}/{date}-{shortId}.md` olarak yazılır.
60
+ Frontmatter: `type: raw, project: {slug}, category: cc-session`
61
+
47
62
  ## 3. Frontmatter
48
63
 
49
64
  Every `.md` file in `.mindlore/` MUST have YAML frontmatter. Format:
@@ -90,7 +105,7 @@ tags: [tag1, tag2]
90
105
  - `raw_slug`: slug of the raw/ file this source was processed from (source→raw traceability)
91
106
  - `status`: `stub` | `active` | `archived` (domain maturity indicator)
92
107
 
93
- ## 4. Seven Operations
108
+ ## 4. Ten Operations
94
109
 
95
110
  ### 4.1 Ingest (skill: /mindlore-ingest)
96
111
 
@@ -101,7 +116,7 @@ Add new knowledge. Flow: capture → raw/ → process → sources/ → update do
101
116
  - PDF mode: CC Read tool (max 20 pages/request) → raw/ → summarize → sources/
102
117
  - **markitdown is NOT used for PDF** — quality is poor. Use CC Read tool or Marker/Chandra (v0.3+)
103
118
 
104
- ### 4.2 Query (skill: /mindlore-query, v0.2 — PLANNED, not yet implemented)
119
+ ### 4.2 Query (skill: /mindlore-query) — IMPLEMENTED (v0.2)
105
120
 
106
121
  Search and retrieve knowledge. Four modes:
107
122
  - `search`: FTS5 keyword search, return top 3 matches with snippets
@@ -119,7 +134,7 @@ Run 16-point structural check:
119
134
  - Orphan file detection (files not in FTS5)
120
135
  - Frontmatter validation (type-directory cross-reference)
121
136
 
122
- ### 4.4 Log (skill: /mindlore-log, v0.2 — PLANNED, not yet implemented)
137
+ ### 4.4 Log (skill: /mindlore-log) — IMPLEMENTED (v0.2)
123
138
 
124
139
  Session logging with four modes:
125
140
  - `log`: Write session/task record to diary/
@@ -127,20 +142,32 @@ Session logging with four modes:
127
142
  - `status`: Recent N sessions summary, trends, open items
128
143
  - `save`: Structured delta + log.md append + wiki update
129
144
 
130
- ### 4.5 Decide (skill: /mindlore-decide, v0.2 — PLANNED, not yet implemented)
145
+ ### 4.5 Decide (skill: /mindlore-decide) — IMPLEMENTED (v0.2)
131
146
 
132
147
  Record decisions with context, options considered, rationale, and outcome.
133
148
  Supports `supersedes` chain for decision evolution.
134
149
 
135
- ### 4.6 Evolve (skill: /mindlore-evolve, v0.3 — PLANNED, not yet implemented)
150
+ ### 4.6 Evolve (skill: /mindlore-evolve) — IMPLEMENTED (v0.3)
136
151
 
137
152
  Schema co-evolution. Scan domains + sources, suggest structural updates.
138
153
  Run monthly or after major changes.
139
154
 
140
- ### 4.7 Explore (skill: /mindlore-explore, v0.3 — PLANNED, not yet implemented)
155
+ ### 4.7 Explore (skill: /mindlore-explore) — IMPLEMENTED (v0.3)
141
156
 
142
157
  Discover unexpected connections between sources. Cross-reference analysis.
143
158
 
159
+ ### 4.8 Diary (skill: /mindlore-diary) — IMPLEMENTED (v0.5.3)
160
+
161
+ Session analysis — decisions, discoveries, frictions, learnings.
162
+
163
+ ### 4.9 Reflect (skill: /mindlore-reflect) — IMPLEMENTED (v0.5.3)
164
+
165
+ Pattern extraction from episodes, CLAUDE.md update proposals.
166
+
167
+ ### 4.10 Maintain (skill: /mindlore-maintain) — IMPLEMENTED (v0.5.3)
168
+
169
+ Decay/archive, episode consolidation, contradiction detection.
170
+
144
171
  ## 5. Search Behavior
145
172
 
146
173
  ### FTS5 Search (hooks + scripts)
@@ -152,7 +179,7 @@ Discover unexpected connections between sources. Cross-reference analysis.
152
179
  - Max results: 3 per query (BM25 ranking)
153
180
  - Hook injects: file path + first 2 headings
154
181
 
155
- ### FTS5 Columns (11-col schema, v0.3.3)
182
+ ### FTS5 Columns (11-col schema, v0.5.9)
156
183
 
157
184
  | Column | Indexed | Source |
158
185
  |--------|---------|--------|
@@ -289,3 +316,75 @@ tags: [testing, jest, mock]
289
316
  - Stats line: "N source, N analysis, N total"
290
317
  - Last 5 added (initially empty)
291
318
  - NO full file listing — discovery via FTS5
319
+
320
+ ## 10. Database Tables
321
+
322
+ ### mindlore_fts (FTS5 virtual table)
323
+
324
+ 11 kolon: path (UNINDEXED), slug, description, type (UNINDEXED), category, title, content, tags, quality (UNINDEXED), date_captured (UNINDEXED), project (UNINDEXED)
325
+
326
+ Tokenizer: `porter unicode61`
327
+
328
+ ### file_hashes
329
+
330
+ Dedup tablosu — content-hash ile aynı dosyanın tekrar indexlenmesini engeller.
331
+
332
+ | Kolon | Tip | Açıklama |
333
+ |-------|-----|----------|
334
+ | path | TEXT PK | Dosya tam yolu |
335
+ | content_hash | TEXT | SHA256 hash |
336
+ | last_indexed | TEXT | Son index zamanı |
337
+ | created_at | TEXT | İlk index zamanı |
338
+ | updated_at | TEXT | Son güncelleme zamanı |
339
+ | source_type | TEXT | Kaynak tipi (cc-session, cc-subagent, vb.) |
340
+ | project_scope | TEXT | Proje adı |
341
+ | recall_count | INTEGER | Kaç kez recall edildi |
342
+ | last_recalled_at | TEXT | Son recall zamanı |
343
+ | archived_at | TEXT | Arşivlenme zamanı (null = aktif) |
344
+ | importance | REAL | Kalite→önem dönüşümü (0.0–1.0) |
345
+
346
+ > v0.6.0: `QUALITY_HEURISTICS` artık `cc-session`/`cc-subagent` source_type'larını tanıyor (önce eksikti).
347
+
348
+ ### episodes
349
+
350
+ Session ve bilgi olayları — decision, discovery, friction, learning, reflection.
351
+
352
+ | Kolon | Tip | Açıklama |
353
+ |-------|-----|----------|
354
+ | id | TEXT PK | `ep-{kind}-{timestamp}-{random}` |
355
+ | kind | TEXT | decision, discovery, friction, learning, reflection, correction |
356
+ | scope | TEXT | session, cross-session, global |
357
+ | project | TEXT | Proje adı |
358
+ | summary | TEXT | Tek satır özet |
359
+ | body | TEXT | Detaylı içerik |
360
+ | tags | TEXT | Virgülle ayrılmış etiketler |
361
+ | entities | TEXT | İlgili entity'ler |
362
+ | parent_id | TEXT | Üst episode referansı |
363
+ | status | TEXT | active, archived |
364
+ | supersedes | TEXT | Geçersiz kıldığı episode ID |
365
+ | source | TEXT | Kaynak (session ID, hook adı) |
366
+ | created_at | TEXT | Oluşturulma zamanı |
367
+ | consolidation_status | TEXT | raw, consolidated |
368
+ | consolidated_into | TEXT | Konsolide edildiği episode ID |
369
+ | decay_score | REAL | 0.0–1.0 (1.0 = taze) |
370
+ | last_decay_calc | TEXT | Son decay hesaplama zamanı |
371
+
372
+ ### skill_memory
373
+
374
+ Skill'lerin kalıcı belleği — fork'lar arası veri paylaşımı.
375
+
376
+ | Kolon | Tip | Açıklama |
377
+ |-------|-----|----------|
378
+ | key | TEXT PK | Skill + anahtar adı |
379
+ | value | TEXT | JSON veya düz metin |
380
+ | updated_at | TEXT | Son güncelleme |
381
+
382
+ ## 11. Agents
383
+
384
+ 3 agent tanımlı (`agents/` dizini). Model routing `model-router` hook'u tarafından yapılır.
385
+
386
+ | Agent | Model | Görev |
387
+ |-------|-------|-------|
388
+ | mindlore-assistant | sonnet | Genel KB asistanı — query, ingest yönlendirme |
389
+ | mindlore-researcher | sonnet | Araştırma — web fetch, kaynak analizi |
390
+ | mindlore-librarian | haiku | Organizasyon — tag, kategori, duplicate tespiti |
@@ -1,9 +1,12 @@
1
1
  {
2
- "version": "0.5.8",
2
+ "version": "0.6.0",
3
3
  "models": {
4
4
  "ingest": "haiku",
5
5
  "evolve": "sonnet",
6
6
  "explore": "sonnet",
7
+ "assistant": "sonnet",
8
+ "researcher": "sonnet",
9
+ "librarian": "haiku",
7
10
  "default": "haiku"
8
11
  },
9
12
  "reflect": {