@claude-flow/shared 3.0.0-alpha.7 → 3.0.0-alpha.8

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 (195) hide show
  1. package/.claude-flow/daemon-state.json +135 -0
  2. package/.claude-flow/data/pending-insights.jsonl +2 -0
  3. package/.claude-flow/data/ranked-context.json +5 -0
  4. package/.claude-flow/logs/daemon.log +45 -0
  5. package/.claude-flow/logs/headless/audit_1777379186972_h5un5x_prompt.log +3210 -0
  6. package/.claude-flow/logs/headless/audit_1777379186972_h5un5x_result.log +117 -0
  7. package/.claude-flow/logs/headless/audit_1777379816437_w0eaul_prompt.log +3210 -0
  8. package/.claude-flow/logs/headless/audit_1777379816437_w0eaul_result.log +53 -0
  9. package/.claude-flow/logs/headless/audit_1777380440097_621y8m_prompt.log +3210 -0
  10. package/.claude-flow/logs/headless/audit_1777380440097_621y8m_result.log +75 -0
  11. package/.claude-flow/logs/headless/optimize_1777379306973_an4lmy_prompt.log +3504 -0
  12. package/.claude-flow/logs/headless/optimize_1777379306973_an4lmy_result.log +166 -0
  13. package/.claude-flow/logs/headless/optimize_1777380274732_apxz3s_prompt.log +3504 -0
  14. package/.claude-flow/logs/headless/optimize_1777380274732_apxz3s_result.log +219 -0
  15. package/.claude-flow/logs/headless/testgaps_1777379546969_dvf2a1_prompt.log +3189 -0
  16. package/.claude-flow/logs/headless/testgaps_1777379546969_dvf2a1_result.log +155 -0
  17. package/.claude-flow/metrics/codebase-map.json +11 -0
  18. package/.claude-flow/metrics/consolidation.json +6 -0
  19. package/.claude-flow/sessions/current.json +13 -0
  20. package/.swarm/hnsw.index +0 -0
  21. package/.swarm/hnsw.metadata.json +1 -0
  22. package/.swarm/memory.db +0 -0
  23. package/.swarm/memory.db-shm +0 -0
  24. package/.swarm/memory.db-wal +0 -0
  25. package/.swarm/schema.sql +305 -0
  26. package/dist/core/config/schema.d.ts +96 -96
  27. package/dist/events/event-store.d.ts.map +1 -1
  28. package/dist/events/event-store.js +20 -9
  29. package/dist/events/event-store.js.map +1 -1
  30. package/dist/hooks/executor.d.ts.map +1 -1
  31. package/dist/hooks/executor.js +7 -4
  32. package/dist/hooks/executor.js.map +1 -1
  33. package/dist/hooks/verify-exports.test.js +6 -6
  34. package/dist/hooks/verify-exports.test.js.map +1 -1
  35. package/dist/mcp/server.d.ts.map +1 -1
  36. package/dist/mcp/server.js +3 -6
  37. package/dist/mcp/server.js.map +1 -1
  38. package/dist/mcp/types.d.ts +4 -6
  39. package/dist/mcp/types.d.ts.map +1 -1
  40. package/dist/mcp/types.js.map +1 -1
  41. package/package.json +3 -2
  42. package/ruvector.db +0 -0
  43. package/src/events/event-store.ts +18 -9
  44. package/src/hooks/executor.ts +7 -5
  45. package/src/hooks/verify-exports.test.ts +6 -6
  46. package/src/mcp/server.ts +3 -6
  47. package/src/mcp/types.ts +4 -6
  48. package/tsconfig.tsbuildinfo +1 -1
  49. package/.agentic-flow/intelligence.json +0 -16
  50. package/__tests__/coverage/base.css +0 -224
  51. package/__tests__/coverage/block-navigation.js +0 -87
  52. package/__tests__/coverage/coverage-final.json +0 -50
  53. package/__tests__/coverage/favicon.png +0 -0
  54. package/__tests__/coverage/index.html +0 -326
  55. package/__tests__/coverage/lcov-report/base.css +0 -224
  56. package/__tests__/coverage/lcov-report/block-navigation.js +0 -87
  57. package/__tests__/coverage/lcov-report/favicon.png +0 -0
  58. package/__tests__/coverage/lcov-report/index.html +0 -326
  59. package/__tests__/coverage/lcov-report/prettify.css +0 -1
  60. package/__tests__/coverage/lcov-report/prettify.js +0 -2
  61. package/__tests__/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  62. package/__tests__/coverage/lcov-report/sorter.js +0 -210
  63. package/__tests__/coverage/lcov-report/src/core/config/defaults.ts.html +0 -706
  64. package/__tests__/coverage/lcov-report/src/core/config/index.html +0 -161
  65. package/__tests__/coverage/lcov-report/src/core/config/loader.ts.html +0 -898
  66. package/__tests__/coverage/lcov-report/src/core/config/schema.ts.html +0 -649
  67. package/__tests__/coverage/lcov-report/src/core/config/validator.ts.html +0 -712
  68. package/__tests__/coverage/lcov-report/src/core/event-bus.ts.html +0 -793
  69. package/__tests__/coverage/lcov-report/src/core/index.html +0 -116
  70. package/__tests__/coverage/lcov-report/src/core/interfaces/event.interface.ts.html +0 -886
  71. package/__tests__/coverage/lcov-report/src/core/interfaces/index.html +0 -116
  72. package/__tests__/coverage/lcov-report/src/core/orchestrator/event-coordinator.ts.html +0 -451
  73. package/__tests__/coverage/lcov-report/src/core/orchestrator/health-monitor.ts.html +0 -727
  74. package/__tests__/coverage/lcov-report/src/core/orchestrator/index.html +0 -176
  75. package/__tests__/coverage/lcov-report/src/core/orchestrator/lifecycle-manager.ts.html +0 -874
  76. package/__tests__/coverage/lcov-report/src/core/orchestrator/session-manager.ts.html +0 -922
  77. package/__tests__/coverage/lcov-report/src/core/orchestrator/task-manager.ts.html +0 -1036
  78. package/__tests__/coverage/lcov-report/src/events/domain-events.ts.html +0 -1837
  79. package/__tests__/coverage/lcov-report/src/events/event-store.ts.html +0 -1849
  80. package/__tests__/coverage/lcov-report/src/events/example-usage.ts.html +0 -964
  81. package/__tests__/coverage/lcov-report/src/events/index.html +0 -176
  82. package/__tests__/coverage/lcov-report/src/events/projections.ts.html +0 -1768
  83. package/__tests__/coverage/lcov-report/src/events/state-reconstructor.ts.html +0 -1132
  84. package/__tests__/coverage/lcov-report/src/events.ts.html +0 -1186
  85. package/__tests__/coverage/lcov-report/src/hooks/example-usage.ts.html +0 -1582
  86. package/__tests__/coverage/lcov-report/src/hooks/executor.ts.html +0 -1222
  87. package/__tests__/coverage/lcov-report/src/hooks/index.html +0 -191
  88. package/__tests__/coverage/lcov-report/src/hooks/registry.ts.html +0 -1084
  89. package/__tests__/coverage/lcov-report/src/hooks/safety/bash-safety.ts.html +0 -1897
  90. package/__tests__/coverage/lcov-report/src/hooks/safety/file-organization.ts.html +0 -1504
  91. package/__tests__/coverage/lcov-report/src/hooks/safety/git-commit.ts.html +0 -1954
  92. package/__tests__/coverage/lcov-report/src/hooks/safety/index.html +0 -146
  93. package/__tests__/coverage/lcov-report/src/hooks/session-hooks.ts.html +0 -1762
  94. package/__tests__/coverage/lcov-report/src/hooks/task-hooks.ts.html +0 -1624
  95. package/__tests__/coverage/lcov-report/src/hooks/types.ts.html +0 -1156
  96. package/__tests__/coverage/lcov-report/src/index.html +0 -176
  97. package/__tests__/coverage/lcov-report/src/mcp/connection-pool.ts.html +0 -1399
  98. package/__tests__/coverage/lcov-report/src/mcp/index.html +0 -176
  99. package/__tests__/coverage/lcov-report/src/mcp/server.ts.html +0 -2407
  100. package/__tests__/coverage/lcov-report/src/mcp/session-manager.ts.html +0 -1369
  101. package/__tests__/coverage/lcov-report/src/mcp/tool-registry.ts.html +0 -1783
  102. package/__tests__/coverage/lcov-report/src/mcp/transport/http.ts.html +0 -1756
  103. package/__tests__/coverage/lcov-report/src/mcp/transport/index.html +0 -146
  104. package/__tests__/coverage/lcov-report/src/mcp/transport/stdio.ts.html +0 -1057
  105. package/__tests__/coverage/lcov-report/src/mcp/transport/websocket.ts.html +0 -1537
  106. package/__tests__/coverage/lcov-report/src/mcp/types.ts.html +0 -1780
  107. package/__tests__/coverage/lcov-report/src/plugin-interface.ts.html +0 -2074
  108. package/__tests__/coverage/lcov-report/src/plugin-loader.ts.html +0 -1999
  109. package/__tests__/coverage/lcov-report/src/plugin-registry.ts.html +0 -1897
  110. package/__tests__/coverage/lcov-report/src/plugins/official/hive-mind-plugin.ts.html +0 -1075
  111. package/__tests__/coverage/lcov-report/src/plugins/official/index.html +0 -131
  112. package/__tests__/coverage/lcov-report/src/plugins/official/maestro-plugin.ts.html +0 -1609
  113. package/__tests__/coverage/lcov-report/src/resilience/bulkhead.ts.html +0 -916
  114. package/__tests__/coverage/lcov-report/src/resilience/circuit-breaker.ts.html +0 -1063
  115. package/__tests__/coverage/lcov-report/src/resilience/index.html +0 -161
  116. package/__tests__/coverage/lcov-report/src/resilience/rate-limiter.ts.html +0 -1345
  117. package/__tests__/coverage/lcov-report/src/resilience/retry.ts.html +0 -757
  118. package/__tests__/coverage/lcov-report/src/security/index.html +0 -131
  119. package/__tests__/coverage/lcov-report/src/security/input-validation.ts.html +0 -880
  120. package/__tests__/coverage/lcov-report/src/security/secure-random.ts.html +0 -562
  121. package/__tests__/coverage/lcov-report/src/types/index.html +0 -131
  122. package/__tests__/coverage/lcov-report/src/types/swarm.types.ts.html +0 -850
  123. package/__tests__/coverage/lcov-report/src/types/task.types.ts.html +0 -700
  124. package/__tests__/coverage/lcov-report/src/types.ts.html +0 -1186
  125. package/__tests__/coverage/lcov-report/src/utils/index.html +0 -116
  126. package/__tests__/coverage/lcov-report/src/utils/secure-logger.ts.html +0 -856
  127. package/__tests__/coverage/lcov.info +0 -19877
  128. package/__tests__/coverage/prettify.css +0 -1
  129. package/__tests__/coverage/prettify.js +0 -2
  130. package/__tests__/coverage/sort-arrow-sprite.png +0 -0
  131. package/__tests__/coverage/sorter.js +0 -210
  132. package/__tests__/coverage/src/core/config/defaults.ts.html +0 -706
  133. package/__tests__/coverage/src/core/config/index.html +0 -161
  134. package/__tests__/coverage/src/core/config/loader.ts.html +0 -898
  135. package/__tests__/coverage/src/core/config/schema.ts.html +0 -649
  136. package/__tests__/coverage/src/core/config/validator.ts.html +0 -712
  137. package/__tests__/coverage/src/core/event-bus.ts.html +0 -793
  138. package/__tests__/coverage/src/core/index.html +0 -116
  139. package/__tests__/coverage/src/core/interfaces/event.interface.ts.html +0 -886
  140. package/__tests__/coverage/src/core/interfaces/index.html +0 -116
  141. package/__tests__/coverage/src/core/orchestrator/event-coordinator.ts.html +0 -451
  142. package/__tests__/coverage/src/core/orchestrator/health-monitor.ts.html +0 -727
  143. package/__tests__/coverage/src/core/orchestrator/index.html +0 -176
  144. package/__tests__/coverage/src/core/orchestrator/lifecycle-manager.ts.html +0 -874
  145. package/__tests__/coverage/src/core/orchestrator/session-manager.ts.html +0 -922
  146. package/__tests__/coverage/src/core/orchestrator/task-manager.ts.html +0 -1036
  147. package/__tests__/coverage/src/events/domain-events.ts.html +0 -1837
  148. package/__tests__/coverage/src/events/event-store.ts.html +0 -1849
  149. package/__tests__/coverage/src/events/example-usage.ts.html +0 -964
  150. package/__tests__/coverage/src/events/index.html +0 -176
  151. package/__tests__/coverage/src/events/projections.ts.html +0 -1768
  152. package/__tests__/coverage/src/events/state-reconstructor.ts.html +0 -1132
  153. package/__tests__/coverage/src/events.ts.html +0 -1186
  154. package/__tests__/coverage/src/hooks/example-usage.ts.html +0 -1582
  155. package/__tests__/coverage/src/hooks/executor.ts.html +0 -1222
  156. package/__tests__/coverage/src/hooks/index.html +0 -191
  157. package/__tests__/coverage/src/hooks/registry.ts.html +0 -1084
  158. package/__tests__/coverage/src/hooks/safety/bash-safety.ts.html +0 -1897
  159. package/__tests__/coverage/src/hooks/safety/file-organization.ts.html +0 -1504
  160. package/__tests__/coverage/src/hooks/safety/git-commit.ts.html +0 -1954
  161. package/__tests__/coverage/src/hooks/safety/index.html +0 -146
  162. package/__tests__/coverage/src/hooks/session-hooks.ts.html +0 -1762
  163. package/__tests__/coverage/src/hooks/task-hooks.ts.html +0 -1624
  164. package/__tests__/coverage/src/hooks/types.ts.html +0 -1156
  165. package/__tests__/coverage/src/index.html +0 -176
  166. package/__tests__/coverage/src/mcp/connection-pool.ts.html +0 -1399
  167. package/__tests__/coverage/src/mcp/index.html +0 -176
  168. package/__tests__/coverage/src/mcp/server.ts.html +0 -2407
  169. package/__tests__/coverage/src/mcp/session-manager.ts.html +0 -1369
  170. package/__tests__/coverage/src/mcp/tool-registry.ts.html +0 -1783
  171. package/__tests__/coverage/src/mcp/transport/http.ts.html +0 -1756
  172. package/__tests__/coverage/src/mcp/transport/index.html +0 -146
  173. package/__tests__/coverage/src/mcp/transport/stdio.ts.html +0 -1057
  174. package/__tests__/coverage/src/mcp/transport/websocket.ts.html +0 -1537
  175. package/__tests__/coverage/src/mcp/types.ts.html +0 -1780
  176. package/__tests__/coverage/src/plugin-interface.ts.html +0 -2074
  177. package/__tests__/coverage/src/plugin-loader.ts.html +0 -1999
  178. package/__tests__/coverage/src/plugin-registry.ts.html +0 -1897
  179. package/__tests__/coverage/src/plugins/official/hive-mind-plugin.ts.html +0 -1075
  180. package/__tests__/coverage/src/plugins/official/index.html +0 -131
  181. package/__tests__/coverage/src/plugins/official/maestro-plugin.ts.html +0 -1609
  182. package/__tests__/coverage/src/resilience/bulkhead.ts.html +0 -916
  183. package/__tests__/coverage/src/resilience/circuit-breaker.ts.html +0 -1063
  184. package/__tests__/coverage/src/resilience/index.html +0 -161
  185. package/__tests__/coverage/src/resilience/rate-limiter.ts.html +0 -1345
  186. package/__tests__/coverage/src/resilience/retry.ts.html +0 -757
  187. package/__tests__/coverage/src/security/index.html +0 -131
  188. package/__tests__/coverage/src/security/input-validation.ts.html +0 -880
  189. package/__tests__/coverage/src/security/secure-random.ts.html +0 -562
  190. package/__tests__/coverage/src/types/index.html +0 -131
  191. package/__tests__/coverage/src/types/swarm.types.ts.html +0 -850
  192. package/__tests__/coverage/src/types/task.types.ts.html +0 -700
  193. package/__tests__/coverage/src/types.ts.html +0 -1186
  194. package/__tests__/coverage/src/utils/index.html +0 -116
  195. package/__tests__/coverage/src/utils/secure-logger.ts.html +0 -856
@@ -0,0 +1,305 @@
1
+
2
+ -- RuFlo V3 Memory Database
3
+ -- Version: 3.0.0
4
+ -- Features: Pattern learning, vector embeddings, temporal decay, migration tracking
5
+
6
+ PRAGMA journal_mode = WAL;
7
+ PRAGMA synchronous = NORMAL;
8
+ PRAGMA foreign_keys = ON;
9
+
10
+ -- ============================================
11
+ -- CORE MEMORY TABLES
12
+ -- ============================================
13
+
14
+ -- Memory entries (main storage)
15
+ CREATE TABLE IF NOT EXISTS memory_entries (
16
+ id TEXT PRIMARY KEY,
17
+ key TEXT NOT NULL,
18
+ namespace TEXT DEFAULT 'default',
19
+ content TEXT NOT NULL,
20
+ type TEXT DEFAULT 'semantic' CHECK(type IN ('semantic', 'episodic', 'procedural', 'working', 'pattern')),
21
+
22
+ -- Vector embedding for semantic search (stored as JSON array)
23
+ embedding TEXT,
24
+ embedding_model TEXT DEFAULT 'local',
25
+ embedding_dimensions INTEGER,
26
+
27
+ -- Metadata
28
+ tags TEXT, -- JSON array
29
+ metadata TEXT, -- JSON object
30
+ owner_id TEXT,
31
+
32
+ -- Timestamps
33
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000),
34
+ updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000),
35
+ expires_at INTEGER,
36
+ last_accessed_at INTEGER,
37
+
38
+ -- Access tracking for hot/cold detection
39
+ access_count INTEGER DEFAULT 0,
40
+
41
+ -- Status
42
+ status TEXT DEFAULT 'active' CHECK(status IN ('active', 'archived', 'deleted')),
43
+
44
+ UNIQUE(namespace, key)
45
+ );
46
+
47
+ -- Indexes for memory entries
48
+ CREATE INDEX IF NOT EXISTS idx_memory_namespace ON memory_entries(namespace);
49
+ CREATE INDEX IF NOT EXISTS idx_memory_key ON memory_entries(key);
50
+ CREATE INDEX IF NOT EXISTS idx_memory_type ON memory_entries(type);
51
+ CREATE INDEX IF NOT EXISTS idx_memory_status ON memory_entries(status);
52
+ CREATE INDEX IF NOT EXISTS idx_memory_created ON memory_entries(created_at);
53
+ CREATE INDEX IF NOT EXISTS idx_memory_accessed ON memory_entries(last_accessed_at);
54
+ CREATE INDEX IF NOT EXISTS idx_memory_owner ON memory_entries(owner_id);
55
+
56
+ -- ============================================
57
+ -- PATTERN LEARNING TABLES
58
+ -- ============================================
59
+
60
+ -- Learned patterns with confidence scoring and versioning
61
+ CREATE TABLE IF NOT EXISTS patterns (
62
+ id TEXT PRIMARY KEY,
63
+
64
+ -- Pattern identification
65
+ name TEXT NOT NULL,
66
+ pattern_type TEXT NOT NULL CHECK(pattern_type IN (
67
+ 'task-routing', 'error-recovery', 'optimization', 'learning',
68
+ 'coordination', 'prediction', 'code-pattern', 'workflow'
69
+ )),
70
+
71
+ -- Pattern definition
72
+ condition TEXT NOT NULL, -- Regex or semantic match
73
+ action TEXT NOT NULL, -- What to do when pattern matches
74
+ description TEXT,
75
+
76
+ -- Confidence scoring (0.0 - 1.0)
77
+ confidence REAL DEFAULT 0.5,
78
+ success_count INTEGER DEFAULT 0,
79
+ failure_count INTEGER DEFAULT 0,
80
+
81
+ -- Temporal decay
82
+ decay_rate REAL DEFAULT 0.01, -- How fast confidence decays
83
+ half_life_days INTEGER DEFAULT 30, -- Days until confidence halves without use
84
+
85
+ -- Vector embedding for semantic pattern matching
86
+ embedding TEXT,
87
+ embedding_dimensions INTEGER,
88
+
89
+ -- Versioning
90
+ version INTEGER DEFAULT 1,
91
+ parent_id TEXT REFERENCES patterns(id),
92
+
93
+ -- Metadata
94
+ tags TEXT, -- JSON array
95
+ metadata TEXT, -- JSON object
96
+ source TEXT, -- Where the pattern was learned from
97
+
98
+ -- Timestamps
99
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000),
100
+ updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000),
101
+ last_matched_at INTEGER,
102
+ last_success_at INTEGER,
103
+ last_failure_at INTEGER,
104
+
105
+ -- Status
106
+ status TEXT DEFAULT 'active' CHECK(status IN ('active', 'archived', 'deprecated', 'experimental'))
107
+ );
108
+
109
+ -- Indexes for patterns
110
+ CREATE INDEX IF NOT EXISTS idx_patterns_type ON patterns(pattern_type);
111
+ CREATE INDEX IF NOT EXISTS idx_patterns_confidence ON patterns(confidence DESC);
112
+ CREATE INDEX IF NOT EXISTS idx_patterns_status ON patterns(status);
113
+ CREATE INDEX IF NOT EXISTS idx_patterns_last_matched ON patterns(last_matched_at);
114
+
115
+ -- Pattern evolution history (for versioning)
116
+ CREATE TABLE IF NOT EXISTS pattern_history (
117
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
118
+ pattern_id TEXT NOT NULL REFERENCES patterns(id),
119
+ version INTEGER NOT NULL,
120
+
121
+ -- Snapshot of pattern state
122
+ confidence REAL,
123
+ success_count INTEGER,
124
+ failure_count INTEGER,
125
+ condition TEXT,
126
+ action TEXT,
127
+
128
+ -- What changed
129
+ change_type TEXT CHECK(change_type IN ('created', 'updated', 'success', 'failure', 'decay', 'merged', 'split')),
130
+ change_reason TEXT,
131
+
132
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000)
133
+ );
134
+
135
+ CREATE INDEX IF NOT EXISTS idx_pattern_history_pattern ON pattern_history(pattern_id);
136
+
137
+ -- ============================================
138
+ -- LEARNING & TRAJECTORY TABLES
139
+ -- ============================================
140
+
141
+ -- Learning trajectories (SONA integration)
142
+ CREATE TABLE IF NOT EXISTS trajectories (
143
+ id TEXT PRIMARY KEY,
144
+ session_id TEXT,
145
+
146
+ -- Trajectory state
147
+ status TEXT DEFAULT 'active' CHECK(status IN ('active', 'completed', 'failed', 'abandoned')),
148
+ verdict TEXT CHECK(verdict IN ('success', 'failure', 'partial', NULL)),
149
+
150
+ -- Context
151
+ task TEXT,
152
+ context TEXT, -- JSON object
153
+
154
+ -- Metrics
155
+ total_steps INTEGER DEFAULT 0,
156
+ total_reward REAL DEFAULT 0,
157
+
158
+ -- Timestamps
159
+ started_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000),
160
+ ended_at INTEGER,
161
+
162
+ -- Reference to extracted pattern (if any)
163
+ extracted_pattern_id TEXT REFERENCES patterns(id)
164
+ );
165
+
166
+ -- Trajectory steps
167
+ CREATE TABLE IF NOT EXISTS trajectory_steps (
168
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
169
+ trajectory_id TEXT NOT NULL REFERENCES trajectories(id),
170
+ step_number INTEGER NOT NULL,
171
+
172
+ -- Step data
173
+ action TEXT NOT NULL,
174
+ observation TEXT,
175
+ reward REAL DEFAULT 0,
176
+
177
+ -- Metadata
178
+ metadata TEXT, -- JSON object
179
+
180
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000)
181
+ );
182
+
183
+ CREATE INDEX IF NOT EXISTS idx_steps_trajectory ON trajectory_steps(trajectory_id);
184
+
185
+ -- ============================================
186
+ -- MIGRATION STATE TRACKING
187
+ -- ============================================
188
+
189
+ -- Migration state (for resume capability)
190
+ CREATE TABLE IF NOT EXISTS migration_state (
191
+ id TEXT PRIMARY KEY,
192
+ migration_type TEXT NOT NULL, -- 'v2-to-v3', 'pattern', 'memory', etc.
193
+
194
+ -- Progress tracking
195
+ status TEXT DEFAULT 'pending' CHECK(status IN ('pending', 'in_progress', 'completed', 'failed', 'rolled_back')),
196
+ total_items INTEGER DEFAULT 0,
197
+ processed_items INTEGER DEFAULT 0,
198
+ failed_items INTEGER DEFAULT 0,
199
+ skipped_items INTEGER DEFAULT 0,
200
+
201
+ -- Current position (for resume)
202
+ current_batch INTEGER DEFAULT 0,
203
+ last_processed_id TEXT,
204
+
205
+ -- Source/destination info
206
+ source_path TEXT,
207
+ source_type TEXT,
208
+ destination_path TEXT,
209
+
210
+ -- Backup info
211
+ backup_path TEXT,
212
+ backup_created_at INTEGER,
213
+
214
+ -- Error tracking
215
+ last_error TEXT,
216
+ errors TEXT, -- JSON array of errors
217
+
218
+ -- Timestamps
219
+ started_at INTEGER,
220
+ completed_at INTEGER,
221
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000),
222
+ updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000)
223
+ );
224
+
225
+ -- ============================================
226
+ -- SESSION MANAGEMENT
227
+ -- ============================================
228
+
229
+ -- Sessions for context persistence
230
+ CREATE TABLE IF NOT EXISTS sessions (
231
+ id TEXT PRIMARY KEY,
232
+
233
+ -- Session state
234
+ state TEXT NOT NULL, -- JSON object with full session state
235
+ status TEXT DEFAULT 'active' CHECK(status IN ('active', 'paused', 'completed', 'expired')),
236
+
237
+ -- Context
238
+ project_path TEXT,
239
+ branch TEXT,
240
+
241
+ -- Metrics
242
+ tasks_completed INTEGER DEFAULT 0,
243
+ patterns_learned INTEGER DEFAULT 0,
244
+
245
+ -- Timestamps
246
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000),
247
+ updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000),
248
+ expires_at INTEGER
249
+ );
250
+
251
+ -- ============================================
252
+ -- VECTOR INDEX METADATA (for HNSW)
253
+ -- ============================================
254
+
255
+ -- Track HNSW index state
256
+ CREATE TABLE IF NOT EXISTS vector_indexes (
257
+ id TEXT PRIMARY KEY,
258
+ name TEXT NOT NULL UNIQUE,
259
+
260
+ -- Index configuration
261
+ dimensions INTEGER NOT NULL,
262
+ metric TEXT DEFAULT 'cosine' CHECK(metric IN ('cosine', 'euclidean', 'dot')),
263
+
264
+ -- HNSW parameters
265
+ hnsw_m INTEGER DEFAULT 16,
266
+ hnsw_ef_construction INTEGER DEFAULT 200,
267
+ hnsw_ef_search INTEGER DEFAULT 100,
268
+
269
+ -- Quantization
270
+ quantization_type TEXT CHECK(quantization_type IN ('none', 'scalar', 'product')),
271
+ quantization_bits INTEGER DEFAULT 8,
272
+
273
+ -- Statistics
274
+ total_vectors INTEGER DEFAULT 0,
275
+ last_rebuild_at INTEGER,
276
+
277
+ created_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000),
278
+ updated_at INTEGER NOT NULL DEFAULT (strftime('%s', 'now') * 1000)
279
+ );
280
+
281
+ -- ============================================
282
+ -- SYSTEM METADATA
283
+ -- ============================================
284
+
285
+ CREATE TABLE IF NOT EXISTS metadata (
286
+ key TEXT PRIMARY KEY,
287
+ value TEXT NOT NULL,
288
+ updated_at INTEGER DEFAULT (strftime('%s', 'now') * 1000)
289
+ );
290
+
291
+
292
+ INSERT OR REPLACE INTO metadata (key, value) VALUES
293
+ ('schema_version', '3.0.0'),
294
+ ('backend', 'hybrid'),
295
+ ('created_at', '2026-04-28T12:24:25.578Z'),
296
+ ('sql_js', 'true'),
297
+ ('vector_embeddings', 'enabled'),
298
+ ('pattern_learning', 'enabled'),
299
+ ('temporal_decay', 'enabled'),
300
+ ('hnsw_indexing', 'enabled');
301
+
302
+ -- Create default vector index configuration
303
+ INSERT OR IGNORE INTO vector_indexes (id, name, dimensions) VALUES
304
+ ('default', 'default', 768),
305
+ ('patterns', 'patterns', 768);