cognitive-core 0.1.2 → 0.2.1

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 (528) hide show
  1. package/.claude/settings.json +111 -2
  2. package/.sessionlog/settings.json +4 -0
  3. package/CLAUDE.md +233 -0
  4. package/README.md +370 -54
  5. package/dist/atlas.d.ts +10 -10
  6. package/dist/atlas.d.ts.map +1 -1
  7. package/dist/atlas.js +79 -48
  8. package/dist/atlas.js.map +1 -1
  9. package/dist/bin/cli-utils.d.ts +37 -0
  10. package/dist/bin/cli-utils.d.ts.map +1 -0
  11. package/dist/bin/cli-utils.js +176 -0
  12. package/dist/bin/cli-utils.js.map +1 -0
  13. package/dist/bin/cognitive-core.d.ts +2 -12
  14. package/dist/bin/cognitive-core.d.ts.map +1 -1
  15. package/dist/bin/cognitive-core.js +76 -351
  16. package/dist/bin/cognitive-core.js.map +1 -1
  17. package/dist/bin/commands/kb.d.ts +6 -0
  18. package/dist/bin/commands/kb.d.ts.map +1 -0
  19. package/dist/bin/commands/kb.js +240 -0
  20. package/dist/bin/commands/kb.js.map +1 -0
  21. package/dist/bin/commands/learn.d.ts +6 -0
  22. package/dist/bin/commands/learn.d.ts.map +1 -0
  23. package/dist/bin/commands/learn.js +91 -0
  24. package/dist/bin/commands/learn.js.map +1 -0
  25. package/dist/bin/commands/legacy.d.ts +12 -0
  26. package/dist/bin/commands/legacy.d.ts.map +1 -0
  27. package/dist/bin/commands/legacy.js +142 -0
  28. package/dist/bin/commands/legacy.js.map +1 -0
  29. package/dist/bin/commands/run.d.ts +3 -0
  30. package/dist/bin/commands/run.d.ts.map +1 -0
  31. package/dist/bin/commands/run.js +99 -0
  32. package/dist/bin/commands/run.js.map +1 -0
  33. package/dist/bin/commands/sessions.d.ts +9 -0
  34. package/dist/bin/commands/sessions.d.ts.map +1 -0
  35. package/dist/bin/commands/sessions.js +183 -0
  36. package/dist/bin/commands/sessions.js.map +1 -0
  37. package/dist/bin/commands/skills.d.ts +6 -0
  38. package/dist/bin/commands/skills.d.ts.map +1 -0
  39. package/dist/bin/commands/skills.js +135 -0
  40. package/dist/bin/commands/skills.js.map +1 -0
  41. package/dist/embeddings/index.d.ts +1 -0
  42. package/dist/embeddings/index.d.ts.map +1 -1
  43. package/dist/embeddings/index.js +2 -0
  44. package/dist/embeddings/index.js.map +1 -1
  45. package/dist/embeddings/inverted-index.d.ts +47 -0
  46. package/dist/embeddings/inverted-index.d.ts.map +1 -0
  47. package/dist/embeddings/inverted-index.js +122 -0
  48. package/dist/embeddings/inverted-index.js.map +1 -0
  49. package/dist/embeddings/manager.d.ts +3 -1
  50. package/dist/embeddings/manager.d.ts.map +1 -1
  51. package/dist/embeddings/manager.js +12 -7
  52. package/dist/embeddings/manager.js.map +1 -1
  53. package/dist/embeddings/vector-store.d.ts +7 -3
  54. package/dist/embeddings/vector-store.d.ts.map +1 -1
  55. package/dist/embeddings/vector-store.js +22 -6
  56. package/dist/embeddings/vector-store.js.map +1 -1
  57. package/dist/factory.d.ts +11 -12
  58. package/dist/factory.d.ts.map +1 -1
  59. package/dist/factory.js +20 -7
  60. package/dist/factory.js.map +1 -1
  61. package/dist/index.d.ts +8 -7
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +42 -6
  64. package/dist/index.js.map +1 -1
  65. package/dist/learning/analyzer.d.ts.map +1 -1
  66. package/dist/learning/analyzer.js +17 -35
  67. package/dist/learning/analyzer.js.map +1 -1
  68. package/dist/learning/energy-evaluator.d.ts +128 -0
  69. package/dist/learning/energy-evaluator.d.ts.map +1 -0
  70. package/dist/learning/energy-evaluator.js +175 -0
  71. package/dist/learning/energy-evaluator.js.map +1 -0
  72. package/dist/learning/healing-orchestrator.d.ts +182 -0
  73. package/dist/learning/healing-orchestrator.d.ts.map +1 -0
  74. package/dist/learning/healing-orchestrator.js +250 -0
  75. package/dist/learning/healing-orchestrator.js.map +1 -0
  76. package/dist/learning/index.d.ts +7 -2
  77. package/dist/learning/index.d.ts.map +1 -1
  78. package/dist/learning/index.js +13 -2
  79. package/dist/learning/index.js.map +1 -1
  80. package/dist/learning/instant-loop.d.ts +87 -0
  81. package/dist/learning/instant-loop.d.ts.map +1 -0
  82. package/dist/learning/instant-loop.js +264 -0
  83. package/dist/learning/instant-loop.js.map +1 -0
  84. package/dist/learning/loop-coordinator.d.ts +61 -0
  85. package/dist/learning/loop-coordinator.d.ts.map +1 -0
  86. package/dist/learning/loop-coordinator.js +96 -0
  87. package/dist/learning/loop-coordinator.js.map +1 -0
  88. package/dist/learning/maintenance-scheduler.d.ts +141 -0
  89. package/dist/learning/maintenance-scheduler.d.ts.map +1 -0
  90. package/dist/learning/maintenance-scheduler.js +186 -0
  91. package/dist/learning/maintenance-scheduler.js.map +1 -0
  92. package/dist/learning/meta-learner.d.ts.map +1 -1
  93. package/dist/learning/meta-learner.js +4 -21
  94. package/dist/learning/meta-learner.js.map +1 -1
  95. package/dist/learning/pipeline.d.ts +31 -4
  96. package/dist/learning/pipeline.d.ts.map +1 -1
  97. package/dist/learning/pipeline.js +64 -12
  98. package/dist/learning/pipeline.js.map +1 -1
  99. package/dist/learning/reflexion-generator.d.ts +64 -0
  100. package/dist/learning/reflexion-generator.d.ts.map +1 -0
  101. package/dist/learning/reflexion-generator.js +194 -0
  102. package/dist/learning/reflexion-generator.js.map +1 -0
  103. package/dist/learning/trajectory-sources/entire.d.ts +8 -5
  104. package/dist/learning/trajectory-sources/entire.d.ts.map +1 -1
  105. package/dist/learning/trajectory-sources/entire.js +13 -6
  106. package/dist/learning/trajectory-sources/entire.js.map +1 -1
  107. package/dist/learning/trajectory-sources/index.d.ts +1 -1
  108. package/dist/learning/trajectory-sources/index.d.ts.map +1 -1
  109. package/dist/learning/trajectory-sources/index.js +1 -1
  110. package/dist/learning/trajectory-sources/index.js.map +1 -1
  111. package/dist/learning/trajectory-sources/pipeline.d.ts +4 -4
  112. package/dist/learning/trajectory-sources/pipeline.d.ts.map +1 -1
  113. package/dist/learning/trajectory-sources/pipeline.js +2 -2
  114. package/dist/learning/trajectory-sources/pipeline.js.map +1 -1
  115. package/dist/learning/unified-pipeline.d.ts +311 -0
  116. package/dist/learning/unified-pipeline.d.ts.map +1 -0
  117. package/dist/learning/unified-pipeline.js +844 -0
  118. package/dist/learning/unified-pipeline.js.map +1 -0
  119. package/dist/memory/candidate-retrieval.d.ts +43 -0
  120. package/dist/memory/candidate-retrieval.d.ts.map +1 -0
  121. package/dist/memory/candidate-retrieval.js +43 -0
  122. package/dist/memory/candidate-retrieval.js.map +1 -0
  123. package/dist/memory/causal-store.d.ts +97 -0
  124. package/dist/memory/causal-store.d.ts.map +1 -0
  125. package/dist/memory/causal-store.js +209 -0
  126. package/dist/memory/causal-store.js.map +1 -0
  127. package/dist/memory/coherence.d.ts +71 -0
  128. package/dist/memory/coherence.d.ts.map +1 -0
  129. package/dist/memory/coherence.js +176 -0
  130. package/dist/memory/coherence.js.map +1 -0
  131. package/dist/memory/experience.d.ts +39 -6
  132. package/dist/memory/experience.d.ts.map +1 -1
  133. package/dist/memory/experience.js +193 -49
  134. package/dist/memory/experience.js.map +1 -1
  135. package/dist/memory/index.d.ts +7 -0
  136. package/dist/memory/index.d.ts.map +1 -1
  137. package/dist/memory/index.js +12 -0
  138. package/dist/memory/index.js.map +1 -1
  139. package/dist/memory/knowledge-bank.d.ts +14 -0
  140. package/dist/memory/knowledge-bank.d.ts.map +1 -1
  141. package/dist/memory/knowledge-bank.js +45 -0
  142. package/dist/memory/knowledge-bank.js.map +1 -1
  143. package/dist/memory/meta.d.ts +7 -8
  144. package/dist/memory/meta.d.ts.map +1 -1
  145. package/dist/memory/meta.js +73 -79
  146. package/dist/memory/meta.js.map +1 -1
  147. package/dist/memory/playbook.d.ts +26 -9
  148. package/dist/memory/playbook.d.ts.map +1 -1
  149. package/dist/memory/playbook.js +198 -74
  150. package/dist/memory/playbook.js.map +1 -1
  151. package/dist/memory/reasoning-bank.d.ts +130 -0
  152. package/dist/memory/reasoning-bank.d.ts.map +1 -0
  153. package/dist/memory/reasoning-bank.js +342 -0
  154. package/dist/memory/reasoning-bank.js.map +1 -0
  155. package/dist/memory/reflexion.d.ts +59 -0
  156. package/dist/memory/reflexion.d.ts.map +1 -0
  157. package/dist/memory/reflexion.js +96 -0
  158. package/dist/memory/reflexion.js.map +1 -0
  159. package/dist/memory/system.d.ts +7 -2
  160. package/dist/memory/system.d.ts.map +1 -1
  161. package/dist/memory/system.js +19 -7
  162. package/dist/memory/system.js.map +1 -1
  163. package/dist/memory/temporal-compressor.d.ts +126 -0
  164. package/dist/memory/temporal-compressor.d.ts.map +1 -0
  165. package/dist/memory/temporal-compressor.js +335 -0
  166. package/dist/memory/temporal-compressor.js.map +1 -0
  167. package/dist/persistence/index.d.ts +11 -0
  168. package/dist/persistence/index.d.ts.map +1 -0
  169. package/dist/persistence/index.js +11 -0
  170. package/dist/persistence/index.js.map +1 -0
  171. package/dist/persistence/migrator.d.ts +40 -0
  172. package/dist/persistence/migrator.d.ts.map +1 -0
  173. package/dist/persistence/migrator.js +238 -0
  174. package/dist/persistence/migrator.js.map +1 -0
  175. package/dist/persistence/serializers.d.ts +45 -0
  176. package/dist/persistence/serializers.d.ts.map +1 -0
  177. package/dist/persistence/serializers.js +80 -0
  178. package/dist/persistence/serializers.js.map +1 -0
  179. package/dist/persistence/sqlite-persistence.d.ts +228 -0
  180. package/dist/persistence/sqlite-persistence.d.ts.map +1 -0
  181. package/dist/persistence/sqlite-persistence.js +588 -0
  182. package/dist/persistence/sqlite-persistence.js.map +1 -0
  183. package/dist/runtime/flows/learning.d.ts +10 -12
  184. package/dist/runtime/flows/learning.d.ts.map +1 -1
  185. package/dist/runtime/flows/learning.js +10 -23
  186. package/dist/runtime/flows/learning.js.map +1 -1
  187. package/dist/search/index.d.ts +1 -0
  188. package/dist/search/index.d.ts.map +1 -1
  189. package/dist/search/index.js +2 -0
  190. package/dist/search/index.js.map +1 -1
  191. package/dist/search/moe-gate.d.ts +124 -0
  192. package/dist/search/moe-gate.d.ts.map +1 -0
  193. package/dist/search/moe-gate.js +234 -0
  194. package/dist/search/moe-gate.js.map +1 -0
  195. package/dist/search/router.d.ts +32 -2
  196. package/dist/search/router.d.ts.map +1 -1
  197. package/dist/search/router.js +87 -4
  198. package/dist/search/router.js.map +1 -1
  199. package/dist/session-bank/git-reader.d.ts +9 -4
  200. package/dist/session-bank/git-reader.d.ts.map +1 -1
  201. package/dist/session-bank/git-reader.js +22 -15
  202. package/dist/session-bank/git-reader.js.map +1 -1
  203. package/dist/session-bank/index.d.ts +2 -2
  204. package/dist/session-bank/index.d.ts.map +1 -1
  205. package/dist/session-bank/index.js +2 -2
  206. package/dist/session-bank/index.js.map +1 -1
  207. package/dist/session-bank/parser.d.ts +16 -5
  208. package/dist/session-bank/parser.d.ts.map +1 -1
  209. package/dist/session-bank/parser.js +187 -80
  210. package/dist/session-bank/parser.js.map +1 -1
  211. package/dist/session-bank/session-bank.d.ts +5 -0
  212. package/dist/session-bank/session-bank.d.ts.map +1 -1
  213. package/dist/session-bank/session-bank.js +30 -9
  214. package/dist/session-bank/session-bank.js.map +1 -1
  215. package/dist/session-bank/types.d.ts +4 -1
  216. package/dist/session-bank/types.d.ts.map +1 -1
  217. package/dist/session-bank/types.js +3 -3
  218. package/dist/session-bank/types.js.map +1 -1
  219. package/dist/surfacing/skill-publisher.d.ts.map +1 -1
  220. package/dist/surfacing/skill-publisher.js +15 -43
  221. package/dist/surfacing/skill-publisher.js.map +1 -1
  222. package/dist/surfacing/sqlite-storage-adapter.d.ts.map +1 -1
  223. package/dist/surfacing/sqlite-storage-adapter.js +13 -21
  224. package/dist/surfacing/sqlite-storage-adapter.js.map +1 -1
  225. package/dist/types/config.d.ts +100 -0
  226. package/dist/types/config.d.ts.map +1 -1
  227. package/dist/types/config.js +27 -0
  228. package/dist/types/config.js.map +1 -1
  229. package/dist/types/index.d.ts +2 -2
  230. package/dist/types/index.d.ts.map +1 -1
  231. package/dist/types/index.js +1 -1
  232. package/dist/types/index.js.map +1 -1
  233. package/dist/types/memory.d.ts +52 -0
  234. package/dist/types/memory.d.ts.map +1 -1
  235. package/dist/types/memory.js +13 -0
  236. package/dist/types/memory.js.map +1 -1
  237. package/dist/types/playbook.d.ts +4 -0
  238. package/dist/types/playbook.d.ts.map +1 -1
  239. package/dist/types/playbook.js.map +1 -1
  240. package/dist/utils/error-classifier.d.ts +30 -0
  241. package/dist/utils/error-classifier.d.ts.map +1 -0
  242. package/dist/utils/error-classifier.js +85 -0
  243. package/dist/utils/error-classifier.js.map +1 -0
  244. package/dist/utils/index.d.ts +3 -0
  245. package/dist/utils/index.d.ts.map +1 -1
  246. package/dist/utils/index.js +3 -0
  247. package/dist/utils/index.js.map +1 -1
  248. package/dist/utils/partitioned-store.d.ts +93 -0
  249. package/dist/utils/partitioned-store.d.ts.map +1 -0
  250. package/dist/utils/partitioned-store.js +251 -0
  251. package/dist/utils/partitioned-store.js.map +1 -0
  252. package/dist/utils/trajectory-helpers.d.ts +39 -0
  253. package/dist/utils/trajectory-helpers.d.ts.map +1 -0
  254. package/dist/utils/trajectory-helpers.js +57 -0
  255. package/dist/utils/trajectory-helpers.js.map +1 -0
  256. package/dist/workspace/efficacy-toolkit.d.ts +164 -0
  257. package/dist/workspace/efficacy-toolkit.d.ts.map +1 -0
  258. package/dist/workspace/efficacy-toolkit.js +281 -0
  259. package/dist/workspace/efficacy-toolkit.js.map +1 -0
  260. package/dist/workspace/index.d.ts +2 -1
  261. package/dist/workspace/index.d.ts.map +1 -1
  262. package/dist/workspace/index.js +3 -1
  263. package/dist/workspace/index.js.map +1 -1
  264. package/dist/workspace/runner.d.ts +3 -4
  265. package/dist/workspace/runner.d.ts.map +1 -1
  266. package/dist/workspace/runner.js.map +1 -1
  267. package/dist/workspace/templates/index.d.ts +3 -0
  268. package/dist/workspace/templates/index.d.ts.map +1 -1
  269. package/dist/workspace/templates/index.js +6 -0
  270. package/dist/workspace/templates/index.js.map +1 -1
  271. package/dist/workspace/templates/playbook-decay-detection.d.ts +46 -0
  272. package/dist/workspace/templates/playbook-decay-detection.d.ts.map +1 -0
  273. package/dist/workspace/templates/playbook-decay-detection.js +197 -0
  274. package/dist/workspace/templates/playbook-decay-detection.js.map +1 -0
  275. package/dist/workspace/templates/playbook-efficacy-audit.d.ts +46 -0
  276. package/dist/workspace/templates/playbook-efficacy-audit.d.ts.map +1 -0
  277. package/dist/workspace/templates/playbook-efficacy-audit.js +160 -0
  278. package/dist/workspace/templates/playbook-efficacy-audit.js.map +1 -0
  279. package/dist/workspace/templates/playbook-lifecycle-review.d.ts +51 -0
  280. package/dist/workspace/templates/playbook-lifecycle-review.d.ts.map +1 -0
  281. package/dist/workspace/templates/playbook-lifecycle-review.js +187 -0
  282. package/dist/workspace/templates/playbook-lifecycle-review.js.map +1 -0
  283. package/dist/workspace/types.d.ts +9 -2
  284. package/dist/workspace/types.d.ts.map +1 -1
  285. package/dist/workspace/types.js.map +1 -1
  286. package/package.json +12 -4
  287. package/references/sessionlog/.husky/pre-commit +1 -0
  288. package/references/sessionlog/.lintstagedrc.json +4 -0
  289. package/references/sessionlog/.prettierignore +4 -0
  290. package/references/sessionlog/.prettierrc.json +11 -0
  291. package/references/sessionlog/LICENSE +21 -0
  292. package/references/sessionlog/README.md +453 -0
  293. package/references/sessionlog/eslint.config.js +58 -0
  294. package/references/sessionlog/package-lock.json +3672 -0
  295. package/references/sessionlog/package.json +65 -0
  296. package/references/sessionlog/src/__tests__/agent-hooks.test.ts +570 -0
  297. package/references/sessionlog/src/__tests__/agent-registry.test.ts +127 -0
  298. package/references/sessionlog/src/__tests__/claude-code-hooks.test.ts +225 -0
  299. package/references/sessionlog/src/__tests__/claude-generator.test.ts +46 -0
  300. package/references/sessionlog/src/__tests__/commit-msg.test.ts +86 -0
  301. package/references/sessionlog/src/__tests__/cursor-agent.test.ts +224 -0
  302. package/references/sessionlog/src/__tests__/e2e-live.test.ts +890 -0
  303. package/references/sessionlog/src/__tests__/event-log.test.ts +183 -0
  304. package/references/sessionlog/src/__tests__/flush-sentinel.test.ts +105 -0
  305. package/references/sessionlog/src/__tests__/gemini-agent.test.ts +375 -0
  306. package/references/sessionlog/src/__tests__/git-hooks.test.ts +78 -0
  307. package/references/sessionlog/src/__tests__/hook-managers.test.ts +121 -0
  308. package/references/sessionlog/src/__tests__/lifecycle-tasks.test.ts +759 -0
  309. package/references/sessionlog/src/__tests__/opencode-agent.test.ts +338 -0
  310. package/references/sessionlog/src/__tests__/redaction.test.ts +136 -0
  311. package/references/sessionlog/src/__tests__/session-repo.test.ts +353 -0
  312. package/references/sessionlog/src/__tests__/session-store.test.ts +166 -0
  313. package/references/sessionlog/src/__tests__/setup-ccweb.test.ts +466 -0
  314. package/references/sessionlog/src/__tests__/skill-live.test.ts +461 -0
  315. package/references/sessionlog/src/__tests__/summarize.test.ts +348 -0
  316. package/references/sessionlog/src/__tests__/task-plan-e2e.test.ts +610 -0
  317. package/references/sessionlog/src/__tests__/task-plan-live.test.ts +632 -0
  318. package/references/sessionlog/src/__tests__/transcript-timestamp.test.ts +121 -0
  319. package/references/sessionlog/src/__tests__/types.test.ts +166 -0
  320. package/references/sessionlog/src/__tests__/utils.test.ts +333 -0
  321. package/references/sessionlog/src/__tests__/validation.test.ts +103 -0
  322. package/references/sessionlog/src/__tests__/worktree.test.ts +57 -0
  323. package/references/sessionlog/src/agent/agents/claude-code.ts +1089 -0
  324. package/references/sessionlog/src/agent/agents/cursor.ts +361 -0
  325. package/references/sessionlog/src/agent/agents/gemini-cli.ts +632 -0
  326. package/references/sessionlog/src/agent/agents/opencode.ts +540 -0
  327. package/references/sessionlog/src/agent/registry.ts +143 -0
  328. package/references/sessionlog/src/agent/session-types.ts +113 -0
  329. package/references/sessionlog/src/agent/types.ts +220 -0
  330. package/references/sessionlog/src/cli.ts +597 -0
  331. package/references/sessionlog/src/commands/clean.ts +133 -0
  332. package/references/sessionlog/src/commands/disable.ts +84 -0
  333. package/references/sessionlog/src/commands/doctor.ts +145 -0
  334. package/references/sessionlog/src/commands/enable.ts +202 -0
  335. package/references/sessionlog/src/commands/explain.ts +261 -0
  336. package/references/sessionlog/src/commands/reset.ts +105 -0
  337. package/references/sessionlog/src/commands/resume.ts +180 -0
  338. package/references/sessionlog/src/commands/rewind.ts +195 -0
  339. package/references/sessionlog/src/commands/setup-ccweb.ts +275 -0
  340. package/references/sessionlog/src/commands/status.ts +172 -0
  341. package/references/sessionlog/src/config.ts +165 -0
  342. package/references/sessionlog/src/events/event-log.ts +126 -0
  343. package/references/sessionlog/src/git-operations.ts +558 -0
  344. package/references/sessionlog/src/hooks/git-hooks.ts +165 -0
  345. package/references/sessionlog/src/hooks/lifecycle.ts +391 -0
  346. package/references/sessionlog/src/index.ts +650 -0
  347. package/references/sessionlog/src/security/redaction.ts +283 -0
  348. package/references/sessionlog/src/session/state-machine.ts +452 -0
  349. package/references/sessionlog/src/store/checkpoint-store.ts +509 -0
  350. package/references/sessionlog/src/store/native-store.ts +173 -0
  351. package/references/sessionlog/src/store/provider-types.ts +99 -0
  352. package/references/sessionlog/src/store/session-store.ts +266 -0
  353. package/references/sessionlog/src/strategy/attribution.ts +296 -0
  354. package/references/sessionlog/src/strategy/common.ts +207 -0
  355. package/references/sessionlog/src/strategy/content-overlap.ts +228 -0
  356. package/references/sessionlog/src/strategy/manual-commit.ts +988 -0
  357. package/references/sessionlog/src/strategy/types.ts +279 -0
  358. package/references/sessionlog/src/summarize/claude-generator.ts +115 -0
  359. package/references/sessionlog/src/summarize/summarize.ts +432 -0
  360. package/references/sessionlog/src/types.ts +508 -0
  361. package/references/sessionlog/src/utils/chunk-files.ts +49 -0
  362. package/references/sessionlog/src/utils/commit-message.ts +65 -0
  363. package/references/sessionlog/src/utils/detect-agent.ts +36 -0
  364. package/references/sessionlog/src/utils/hook-managers.ts +125 -0
  365. package/references/sessionlog/src/utils/ide-tags.ts +32 -0
  366. package/references/sessionlog/src/utils/paths.ts +79 -0
  367. package/references/sessionlog/src/utils/preview-rewind.ts +80 -0
  368. package/references/sessionlog/src/utils/rewind-conflict.ts +121 -0
  369. package/references/sessionlog/src/utils/shadow-branch.ts +109 -0
  370. package/references/sessionlog/src/utils/string-utils.ts +46 -0
  371. package/references/sessionlog/src/utils/todo-extract.ts +188 -0
  372. package/references/sessionlog/src/utils/trailers.ts +187 -0
  373. package/references/sessionlog/src/utils/transcript-parse.ts +177 -0
  374. package/references/sessionlog/src/utils/transcript-timestamp.ts +59 -0
  375. package/references/sessionlog/src/utils/tree-ops.ts +219 -0
  376. package/references/sessionlog/src/utils/tty.ts +72 -0
  377. package/references/sessionlog/src/utils/validation.ts +65 -0
  378. package/references/sessionlog/src/utils/worktree.ts +58 -0
  379. package/references/sessionlog/src/wire-types.ts +59 -0
  380. package/references/sessionlog/templates/setup-env.sh +153 -0
  381. package/references/sessionlog/tsconfig.json +18 -0
  382. package/references/sessionlog/vitest.config.ts +12 -0
  383. package/references/skill-tree/.sudocode/issues.jsonl +8 -0
  384. package/references/skill-tree/.sudocode/specs.jsonl +2 -0
  385. package/references/skill-tree/CLAUDE.md +56 -80
  386. package/references/skill-tree/README.md +188 -140
  387. package/references/skill-tree/examples/basic-usage.ts +95 -121
  388. package/references/skill-tree/package-lock.json +369 -26
  389. package/references/skill-tree/package.json +1 -1
  390. package/src/atlas.ts +97 -67
  391. package/src/bin/cli-utils.ts +220 -0
  392. package/src/bin/cognitive-core.ts +84 -392
  393. package/src/bin/commands/kb.ts +266 -0
  394. package/src/bin/commands/learn.ts +100 -0
  395. package/src/bin/commands/legacy.ts +182 -0
  396. package/src/bin/commands/run.ts +113 -0
  397. package/src/bin/commands/sessions.ts +221 -0
  398. package/src/bin/commands/skills.ts +146 -0
  399. package/src/embeddings/index.ts +3 -0
  400. package/src/embeddings/inverted-index.ts +134 -0
  401. package/src/embeddings/manager.ts +13 -8
  402. package/src/embeddings/vector-store.ts +21 -9
  403. package/src/factory.ts +33 -16
  404. package/src/index.ts +136 -9
  405. package/src/learning/analyzer.ts +21 -37
  406. package/src/learning/energy-evaluator.ts +282 -0
  407. package/src/learning/healing-orchestrator.ts +383 -0
  408. package/src/learning/index.ts +66 -9
  409. package/src/learning/instant-loop.ts +357 -0
  410. package/src/learning/maintenance-scheduler.ts +271 -0
  411. package/src/learning/meta-learner.ts +5 -23
  412. package/src/learning/reflexion-generator.ts +273 -0
  413. package/src/learning/trajectory-sources/entire.ts +24 -13
  414. package/src/learning/trajectory-sources/index.ts +2 -2
  415. package/src/learning/trajectory-sources/pipeline.ts +5 -5
  416. package/src/learning/unified-pipeline.ts +1191 -0
  417. package/src/memory/candidate-retrieval.ts +72 -0
  418. package/src/memory/causal-store.ts +273 -0
  419. package/src/memory/coherence.ts +252 -0
  420. package/src/memory/experience.ts +217 -50
  421. package/src/memory/index.ts +43 -0
  422. package/src/memory/knowledge-bank.ts +57 -0
  423. package/src/memory/meta.ts +78 -96
  424. package/src/memory/playbook.ts +239 -75
  425. package/src/memory/reasoning-bank.ts +458 -0
  426. package/src/memory/reflexion.ts +122 -0
  427. package/src/memory/system.ts +21 -5
  428. package/src/memory/temporal-compressor.ts +409 -0
  429. package/src/persistence/index.ts +37 -0
  430. package/src/persistence/migrator.ts +298 -0
  431. package/src/persistence/serializers.ts +79 -0
  432. package/src/persistence/sqlite-persistence.ts +925 -0
  433. package/src/runtime/flows/learning.ts +25 -42
  434. package/src/search/index.ts +10 -0
  435. package/src/search/moe-gate.ts +304 -0
  436. package/src/search/router.ts +111 -4
  437. package/src/session-bank/git-reader.ts +29 -19
  438. package/src/session-bank/index.ts +4 -2
  439. package/src/session-bank/parser.ts +280 -98
  440. package/src/session-bank/session-bank.ts +33 -12
  441. package/src/session-bank/types.ts +8 -5
  442. package/src/surfacing/skill-publisher.ts +17 -49
  443. package/src/surfacing/sqlite-storage-adapter.ts +16 -32
  444. package/src/types/config.ts +30 -0
  445. package/src/types/index.ts +3 -0
  446. package/src/types/memory.ts +30 -0
  447. package/src/types/playbook.ts +4 -0
  448. package/src/utils/error-classifier.ts +113 -0
  449. package/src/utils/index.ts +18 -0
  450. package/src/utils/partitioned-store.ts +299 -0
  451. package/src/utils/trajectory-helpers.ts +79 -0
  452. package/src/workspace/efficacy-toolkit.ts +496 -0
  453. package/src/workspace/index.ts +29 -0
  454. package/src/workspace/runner.ts +3 -3
  455. package/src/workspace/templates/index.ts +24 -0
  456. package/src/workspace/templates/playbook-decay-detection.ts +272 -0
  457. package/src/workspace/templates/playbook-efficacy-audit.ts +246 -0
  458. package/src/workspace/templates/playbook-lifecycle-review.ts +274 -0
  459. package/src/workspace/types.ts +10 -2
  460. package/tests/embeddings/inverted-index.test.ts +138 -0
  461. package/tests/feature-toggles.test.ts +275 -0
  462. package/tests/fixtures/behavioral-trajectories.ts +210 -0
  463. package/tests/gap-fixes.test.ts +17 -4
  464. package/tests/integration/cli-e2e.test.ts +621 -0
  465. package/tests/integration/e2e.test.ts +6 -5
  466. package/tests/integration/entire-e2e.test.ts +314 -125
  467. package/tests/integration/persistence-e2e.test.ts +741 -0
  468. package/tests/integration/phase-e2e.test.ts +1143 -0
  469. package/tests/integration/pipeline-data-correctness.test.ts +794 -0
  470. package/tests/integration/session-bank.test.ts +20 -14
  471. package/tests/integration/sessionlog-e2e.test.ts +329 -0
  472. package/tests/integration/unified-pipeline-e2e.test.ts +634 -0
  473. package/tests/learning/analyzer.test.ts +1 -1
  474. package/tests/learning/energy-evaluator.test.ts +180 -0
  475. package/tests/learning/entire-trajectory-source.test.ts +25 -25
  476. package/tests/learning/healing-orchestrator.test.ts +269 -0
  477. package/tests/learning/instant-loop.test.ts +243 -0
  478. package/tests/learning/maintenance-scheduler.test.ts +191 -0
  479. package/tests/learning/meta-learner.test.ts +418 -0
  480. package/tests/learning/pipeline-memory-updates.test.ts +721 -0
  481. package/tests/learning/reflexion-generator.test.ts +411 -0
  482. package/tests/learning/trajectory-sources.test.ts +12 -4
  483. package/tests/learning/unified-pipeline-efficacy.test.ts +232 -0
  484. package/tests/learning/unified-pipeline.test.ts +322 -0
  485. package/tests/mcp/playbook-server.test.ts +6 -1
  486. package/tests/memory/candidate-retrieval.test.ts +167 -0
  487. package/tests/memory/causal-store.test.ts +276 -0
  488. package/tests/memory/coherence.test.ts +232 -0
  489. package/tests/memory/experience.test.ts +8 -3
  490. package/tests/memory/meta.test.ts +399 -0
  491. package/tests/memory/playbook.test.ts +307 -1
  492. package/tests/memory/provenance.test.ts +11 -2
  493. package/tests/memory/reasoning-bank.test.ts +239 -0
  494. package/tests/memory/reflexion.test.ts +166 -0
  495. package/tests/memory/skill-exporter.test.ts +6 -1
  496. package/tests/memory/system.test.ts +6 -1
  497. package/tests/memory/temporal-compressor.test.ts +318 -0
  498. package/tests/persistence/migrator.test.ts +1009 -0
  499. package/tests/persistence/sqlite-persistence.test.ts +635 -0
  500. package/tests/runtime/agent-manager.test.ts +6 -1
  501. package/tests/runtime/delegate.test.ts +6 -1
  502. package/tests/search/evaluator.test.ts +257 -0
  503. package/tests/search/moe-gate.test.ts +250 -0
  504. package/tests/search/refinement-loop.test.ts +11 -2
  505. package/tests/search/router.test.ts +81 -2
  506. package/tests/search/verification-runner.test.ts +357 -0
  507. package/tests/session-bank/fixtures/sessionlog-root-metadata.json +16 -0
  508. package/tests/session-bank/fixtures/sessionlog-session/full.jsonl +6 -0
  509. package/tests/session-bank/fixtures/sessionlog-session/metadata.json +55 -0
  510. package/tests/session-bank/git-reader.test.ts +13 -13
  511. package/tests/session-bank/parser.test.ts +135 -3
  512. package/tests/session-bank/session-bank.test.ts +1 -1
  513. package/tests/surfacing/skill-library.test.ts +6 -1
  514. package/tests/surfacing/skill-publisher.test.ts +24 -58
  515. package/tests/surfacing/sqlite-storage-adapter.test.ts +11 -23
  516. package/tests/utils/error-classifier.test.ts +149 -0
  517. package/tests/utils/partitioned-store.test.ts +230 -0
  518. package/tests/utils/trajectory-helpers.test.ts +163 -0
  519. package/tests/workspace/efficacy-toolkit.test.ts +404 -0
  520. package/tests/workspace/full-flow.test.ts +10 -4
  521. package/tests/workspace/runner.test.ts +10 -4
  522. package/tests/workspace/templates/playbook-efficacy.test.ts +377 -0
  523. package/docs/DESIGN-workspace-migration.md +0 -1079
  524. package/docs/PLAN-agentic-workspace-implementation.md +0 -717
  525. package/docs/PLAN-graph-migration.md +0 -299
  526. package/docs/PLAN-session-bank-implementation.md +0 -474
  527. package/src/learning/pipeline.ts +0 -323
  528. package/tests/learning/pipeline.test.ts +0 -176
@@ -1 +1 @@
1
- {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/memory/meta.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/memory/meta.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAa5D;;GAEG;AACH,SAAS,gBAAgB,CAAC,GAAuB;IAC/C,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAA+B,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAC3G,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,oBAAoB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE,gBAAgB,EAAE,SAAkB,EAAE,CAAC;QAChI,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QACrI,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAe,EAAE,YAAY,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;QAChH,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QACnF,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,IAAI,EAAE;KAChD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,GAAoB;IACzC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QAChF,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC;QACvG,gBAAgB,EAAE,GAAG,CAAC,iBAAiB;QACvC,WAAW,EAAE,GAAG,CAAC,YAAY;QAC7B,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,EAAE;QAChD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,EAAE;KACjD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,UAAU;IACb,WAAW,CAAoB;IAC/B,WAAW,GAAG,KAAK,CAAC;IAE5B,YAAY,WAA8B;QACxC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,sBAAsB;IAEtB;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,WAA4B;QAClD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAA0B;QAC9C,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAEnF,IAAI,MAAM,EAAE,eAAe,EAAE,CAAC;YAC5B,YAAY,GAAG,YAAY,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,MAAM,CAAC,eAAe,CACrD,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC;YAC/C,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,YAAY,GAAG,YAAY,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,OAAQ,CAChD,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;YACpB,YAAY,GAAG,YAAY,CAAC,MAAM,CAChC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,OAAQ,CAChD,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;YAClB,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACrB,YAAoB;QAEpB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE;aAC7C,GAAG,CAAC,gBAAgB,CAAC;aACrB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,mBAAmB;IAEnB;;OAEG;IACH,KAAK,CAAC,2BAA2B;QAC/B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,qCAAqC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,6BAA6B,EAAE,CAAC;QAE7D,MAAM,UAAU,GAA0D;YACxE,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;YAClC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;YACnC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;YACpC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE;YACrC,GAAG,GAAG;SACP,CAAC;QAEF,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;gBACrB,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;gBACnD,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;oBACtB,eAAe,CAAC,IAAI,CAClB,kCAAkC,QAAQ,cAAc,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,iBAAiB,CACvG,CAAC;gBACJ,CAAC;qBAAM,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;oBAC7B,eAAe,CAAC,IAAI,CAClB,IAAI,QAAQ,kCAAkC,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC,iBAAiB,CAC7F,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;QACvD,MAAM,kBAAkB,GAAwB,IAAI,GAAG,EAAE,CAAC;QAE1D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,EAAE,CAAC;YAC5D,MAAM,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC;YACjD,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC;YAEnD,KAAK,MAAM,UAAU,IAAI,SAAS,EAAE,CAAC;gBACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,eAAe,CAAC,GAAG,CACjB,UAAU,EACV,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAC3C,CAAC;gBACJ,CAAC;qBAAM,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;oBACpC,kBAAkB,CAAC,GAAG,CACpB,UAAU,EACV,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAC9C,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAa,EAAE,CAAC;QAErC,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,kBAAkB,EAAE,CAAC;YACrD,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,KAAK,GAAG,YAAY,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACvC,eAAe,CAAC,IAAI,CAClB,YAAY,UAAU,yBAAyB,KAAK,kBAAkB,YAAY,gBAAgB,CACnG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;YACnD,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;YACzD,eAAe;SAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACrF,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAEtF,8DAA8D;QAC9D,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,GAAG,CAClC,CAAC;QACF,MAAM,wBAAwB,GAC5B,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM;YACxD,CAAC,gBAAgB,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAEjC,IAAI,gBAAgB,CAAC,MAAM,IAAI,CAAC,IAAI,wBAAwB,GAAG,GAAG,EAAE,CAAC;YACnE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC;YACrF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,aAAa,CAAC,IAAI,CAChB,kBAAkB,CAAC;oBACjB,IAAI,EAAE,wBAAwB;oBAC9B,SAAS,EAAE;wBACT,mBAAmB,EAAE,EAAE;wBACvB,WAAW,EAAE,CAAC,wBAAwB,CAAC;qBACxC;oBACD,UAAU,EAAE;wBACV,WAAW,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE;wBAC7B,qBAAqB,EAAE,oBAAoB;wBAC3C,aAAa,EAAE,sBAAsB;qBACtC;iBACF,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,SAAS,CAAC,iBAAiB,CAC9B,CAAC;QACF,MAAM,oBAAoB,GACxB,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM;YACpD,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAE7B,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,IAAI,oBAAoB,GAAG,GAAG,EAAE,CAAC;YAC3D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,yBAAyB,CAAC,CAAC;YACtF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,aAAa,CAAC,IAAI,CAChB,kBAAkB,CAAC;oBACjB,IAAI,EAAE,yBAAyB;oBAC/B,SAAS,EAAE;wBACT,mBAAmB,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC;wBAC1D,WAAW,EAAE,EAAE;qBAChB;oBACD,UAAU,EAAE;wBACV,WAAW,EAAE,EAAE;wBACf,qBAAqB,EAAE,EAAE;wBACzB,aAAa,EAAE,mBAAmB;qBACnC;iBACF,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,0DAA0D;QAC1D,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CACpC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,oBAAoB,GAAG,CAAC,CAC5C,CAAC;QACF,MAAM,kBAAkB,GACtB,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM;YAClD,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAE3B,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,kBAAkB,GAAG,GAAG,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAuB,CAAC,CAAC;YACpF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,aAAa,CAAC,IAAI,CAChB,kBAAkB,CAAC;oBACjB,IAAI,EAAE,uBAAuB;oBAC7B,SAAS,EAAE;wBACT,mBAAmB,EAAE,EAAE;wBACvB,WAAW,EAAE,CAAC,qBAAqB,CAAC;qBACrC;oBACD,UAAU,EAAE;wBACV,WAAW,EAAE,EAAE;wBACf,qBAAqB,EAAE,EAAE;wBACzB,aAAa,EAAE,6BAA6B;qBAC7C;iBACF,CAAC,CACH,CAAC;YACJ,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,sBAAsB;IAEtB;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,OAAoB;QAC9C,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,UAAU,GAAmB,EAAE,CAAC;QAEtC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC1D,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAEpC,MAAM,SAAS,GACb,QAAQ,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC;gBACnD,QAAQ,CAAC,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACjD,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAC9B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CACtD,CACF,CAAC;YAEJ,MAAM,WAAW,GACf,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;gBAC3C,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CACzC,OAAO,CAAC,WAAW,CAAC,IAAI,CACtB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CACtD,CACF,CAAC;YAEJ,IAAI,SAAS,IAAI,WAAW,EAAE,CAAC;gBAC7B,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB,CAC7B,UAAkB,EAClB,OAAgB;QAEhB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QACpC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,GAAG,CAAC;QAClB,QAAQ,CAAC,WAAW;YAClB,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACjE,QAAQ,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAEhC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB;IACjE,CAAC;IAED,oBAAoB;IAEpB;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAAsB;QACtC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QACjD,OAAO,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACrF,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CAAC;QAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,MAAM,CAAC;QAEvE,MAAM,qBAAqB,GAAwC;YACjE,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,CAAC;SACZ,CAAC;QAEF,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO;gBAAE,YAAY,EAAE,CAAC;QAC1C,CAAC;QAED,MAAM,kBAAkB,GACtB,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/D,uFAAuF;QACvF,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAEzC,IAAI,WAAW,GAAyC,QAAQ,CAAC;QACjE,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC5C,MAAM,aAAa,GACjB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACjE,MAAM,YAAY,GAChB,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC/D,IAAI,aAAa,GAAG,YAAY,GAAG,GAAG,EAAE,CAAC;gBACvC,WAAW,GAAG,WAAW,CAAC;YAC5B,CAAC;iBAAM,IAAI,aAAa,GAAG,YAAY,GAAG,GAAG,EAAE,CAAC;gBAC9C,WAAW,GAAG,WAAW,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO;YACL,iBAAiB;YACjB,eAAe;YACf,qBAAqB;YACrB,kBAAkB;YAClB,WAAW;SACZ,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,SAAiB,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;QAClE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,+DAA+D;IACjE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAA8B;IAC7D,OAAO,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC;AACrC,CAAC"}
@@ -1,9 +1,13 @@
1
1
  /**
2
2
  * Playbook Library - Unified store for adaptive guidance
3
3
  * Replaces StrategyBank + SkillStore with a single, evolvable abstraction
4
+ *
5
+ * Uses SqlitePersistence for storage and InvertedIndex
6
+ * for fast candidate narrowing before similarity scoring.
4
7
  */
5
8
  import type { Playbook, PlaybookOrigin } from '../types/index.js';
6
9
  import { createPlaybook } from '../types/index.js';
10
+ import type { SqlitePersistence } from '../persistence/index.js';
7
11
  /**
8
12
  * Match result for playbook retrieval
9
13
  */
@@ -21,20 +25,30 @@ export interface FindMatchingOptions {
21
25
  minConfidence?: number;
22
26
  excludeAntiPatterns?: boolean;
23
27
  minScore?: number;
28
+ /** MMR lambda: 0.0 = pure diversity, 1.0 = pure relevance (default: 1.0 — no MMR) */
29
+ lambda?: number;
24
30
  }
25
31
  /**
26
32
  * Playbook Library - Store and retrieve adaptive guidance
27
33
  */
28
34
  export declare class PlaybookLibrary {
29
- private store;
35
+ private persistence;
36
+ private _index;
30
37
  private initialized;
31
- constructor(baseDir: string);
38
+ private _resolver;
39
+ constructor(persistence: SqlitePersistence);
32
40
  init(): Promise<void>;
33
41
  /**
34
42
  * Find playbooks matching a context
35
- * Uses weighted scoring across situations, triggers, and anti-patterns
43
+ * Uses inverted index for candidate narrowing, then weighted scoring
44
+ * across situations, triggers, and anti-patterns.
36
45
  */
37
46
  findMatching(context: string, options?: FindMatchingOptions): Promise<PlaybookMatch[]>;
47
+ /**
48
+ * Maximal Marginal Relevance reranking.
49
+ * Selects top-k items balancing relevance and diversity.
50
+ */
51
+ private applyMMR;
38
52
  /**
39
53
  * Find by specific trigger (for error messages, etc.)
40
54
  */
@@ -44,9 +58,10 @@ export declare class PlaybookLibrary {
44
58
  */
45
59
  findWithRefinements(context: string): Promise<Playbook[]>;
46
60
  /**
47
- * Record successful application
61
+ * Record successful application.
62
+ * Applies stability-plasticity damping — consolidated playbooks change more slowly.
48
63
  */
49
- recordSuccess(id: string, _trajectoryId: string): Promise<void>;
64
+ recordSuccess(id: string, _trajectoryId: string, domain?: string): Promise<void>;
50
65
  /**
51
66
  * Record failure and capture context
52
67
  */
@@ -57,7 +72,6 @@ export declare class PlaybookLibrary {
57
72
  addRefinement(id: string, context: string, addition: string, source: 'failure' | 'success' | 'manual'): Promise<void>;
58
73
  /**
59
74
  * Evolve playbook based on accumulated failures
60
- * Should be called after several failures to update guidance
61
75
  */
62
76
  evolve(id: string, newGuidance?: Partial<Playbook['guidance']>, newAntiPatterns?: string[]): Promise<Playbook | undefined>;
63
77
  /**
@@ -114,7 +128,6 @@ export declare class PlaybookLibrary {
114
128
  getByOrigin(origin: PlaybookOrigin): Promise<Playbook[]>;
115
129
  /**
116
130
  * Delete all playbooks with a specific origin
117
- * Returns the number of playbooks deleted
118
131
  */
119
132
  deleteByOrigin(origin: PlaybookOrigin): Promise<number>;
120
133
  /**
@@ -122,12 +135,16 @@ export declare class PlaybookLibrary {
122
135
  */
123
136
  getProvenanceSummary(): Promise<Record<PlaybookOrigin, number>>;
124
137
  /**
125
- * Close the store
138
+ * Close the store (no-op — SqlitePersistence lifecycle is managed externally)
126
139
  */
127
140
  close(): Promise<void>;
141
+ /**
142
+ * Synchronous helper: get all playbooks from SQLite.
143
+ */
144
+ private getAllSync;
128
145
  }
129
146
  /**
130
147
  * Create a playbook library
131
148
  */
132
- export declare function createPlaybookLibrary(baseDir: string): PlaybookLibrary;
149
+ export declare function createPlaybookLibrary(persistence: SqlitePersistence): PlaybookLibrary;
133
150
  //# sourceMappingURL=playbook.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"playbook.d.ts","sourceRoot":"","sources":["../../src/memory/playbook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playbook.d.ts","sourceRoot":"","sources":["../../src/memory/playbook.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,110 @@
1
1
  /**
2
2
  * Playbook Library - Unified store for adaptive guidance
3
3
  * Replaces StrategyBank + SkillStore with a single, evolvable abstraction
4
+ *
5
+ * Uses SqlitePersistence for storage and InvertedIndex
6
+ * for fast candidate narrowing before similarity scoring.
4
7
  */
5
8
  import { createPlaybook, bumpPlaybookVersion } from '../types/index.js';
6
- import { JsonStore } from '../utils/storage.js';
9
+ import { fromJSON, blobToEmbedding, fromISO } from '../persistence/index.js';
10
+ import { InvertedIndex } from '../embeddings/inverted-index.js';
7
11
  import { textSimilarity } from '../utils/similarity.js';
12
+ import { getCandidates } from './candidate-retrieval.js';
13
+ /**
14
+ * Build the indexable text for a playbook (situations + triggers concatenated)
15
+ */
16
+ function playbookIndexText(playbook) {
17
+ return [
18
+ ...playbook.applicability.situations,
19
+ ...playbook.applicability.triggers,
20
+ ].join(' ');
21
+ }
22
+ /**
23
+ * Convert a PlaybookRow (SQLite representation) back to a Playbook (domain type).
24
+ */
25
+ function rowToPlaybook(row) {
26
+ const evolution = fromJSON(row.evolution, {});
27
+ const provenance = fromJSON(row.provenance, undefined);
28
+ return {
29
+ id: row.id,
30
+ name: row.name,
31
+ confidence: row.confidence,
32
+ complexity: row.complexity,
33
+ estimatedEffort: row.estimated_effort,
34
+ applicability: fromJSON(row.applicability, { situations: [], triggers: [], antiPatterns: [], domains: [] }),
35
+ guidance: fromJSON(row.guidance, { strategy: '', tactics: [] }),
36
+ verification: fromJSON(row.verification, { successIndicators: [], failureIndicators: [] }),
37
+ evolution: {
38
+ version: (evolution.version ?? row.version ?? '1.0.0'),
39
+ createdFrom: (evolution.createdFrom ?? []),
40
+ failures: (evolution.failures ?? []),
41
+ refinements: (evolution.refinements ?? []),
42
+ successCount: (evolution.successCount ?? row.success_count ?? 0),
43
+ failureCount: (evolution.failureCount ?? row.failure_count ?? 0),
44
+ lastUsed: evolution.lastUsed ? new Date(evolution.lastUsed) : undefined,
45
+ consolidationStrength: evolution.consolidationStrength,
46
+ domainBreadth: evolution.domainBreadth,
47
+ },
48
+ provenance: (provenance && Object.keys(provenance).length > 0) ? {
49
+ origin: (provenance.origin ?? row.origin ?? 'extracted'),
50
+ sourceFile: provenance.sourceFile,
51
+ importedFrom: provenance.importedFrom,
52
+ curatedBy: provenance.curatedBy,
53
+ recordedAt: provenance.recordedAt ? new Date(provenance.recordedAt) : new Date(),
54
+ } : undefined,
55
+ embedding: blobToEmbedding(row.embedding),
56
+ createdAt: fromISO(row.created_at) ?? new Date(),
57
+ updatedAt: fromISO(row.updated_at) ?? new Date(),
58
+ };
59
+ }
8
60
  /**
9
61
  * Playbook Library - Store and retrieve adaptive guidance
10
62
  */
11
63
  export class PlaybookLibrary {
12
- store;
64
+ persistence;
65
+ _index = new InvertedIndex();
13
66
  initialized = false;
14
- constructor(baseDir) {
15
- this.store = new JsonStore(baseDir, 'playbooks', {
16
- autoSaveInterval: 60000,
17
- pretty: true,
18
- });
67
+ _resolver;
68
+ constructor(persistence) {
69
+ this.persistence = persistence;
70
+ this._resolver = {
71
+ get: (id) => {
72
+ const row = this.persistence.getPlaybook(id);
73
+ return row ? rowToPlaybook(row) : undefined;
74
+ },
75
+ values: () => this.getAllSync(),
76
+ };
19
77
  }
20
78
  async init() {
21
79
  if (this.initialized)
22
80
  return;
23
- await this.store.init();
81
+ // Build inverted index from all playbooks in DB
82
+ const rows = this.persistence.getPlaybookIds();
83
+ for (const { id, applicability } of rows) {
84
+ const app = fromJSON(applicability, {});
85
+ const text = [...(app.situations ?? []), ...(app.triggers ?? [])].join(' ');
86
+ this._index.add(id, text);
87
+ }
24
88
  this.initialized = true;
25
89
  }
26
90
  // === RETRIEVAL ===
27
91
  /**
28
92
  * Find playbooks matching a context
29
- * Uses weighted scoring across situations, triggers, and anti-patterns
93
+ * Uses inverted index for candidate narrowing, then weighted scoring
94
+ * across situations, triggers, and anti-patterns.
30
95
  */
31
96
  async findMatching(context, options) {
32
97
  await this.init();
33
98
  const k = options?.k ?? 5;
34
- let playbooks = this.store.values();
35
- // Filter by domains if specified
99
+ // Get candidate pool
100
+ const domainFallback = (options?.domains && options.domains.length > 0)
101
+ ? [
102
+ ...options.domains.flatMap((d) => this.persistence.getPlaybooksByDomain(d).map(rowToPlaybook)),
103
+ ...this.persistence.getPlaybooksByDomain('_global').map(rowToPlaybook),
104
+ ]
105
+ : undefined;
106
+ let playbooks = getCandidates(context, this._index, this._resolver, { k }, domainFallback);
107
+ // Filter by domains if specified (for cases where index returned cross-domain)
36
108
  if (options?.domains && options.domains.length > 0) {
37
109
  playbooks = playbooks.filter((p) => p.applicability.domains.some((d) => options.domains.includes(d)));
38
110
  }
@@ -62,21 +134,50 @@ export class PlaybookLibrary {
62
134
  scored.push({ playbook, score, matchType });
63
135
  }
64
136
  }
65
- // Sort by score and return top k
66
- scored.sort((a, b) => b.score - a.score);
67
- const results = scored.slice(0, k);
68
- // Apply minimum score filter
69
- if (options?.minScore !== undefined) {
70
- return results.filter((r) => r.score >= options.minScore);
137
+ // Apply minimum score filter before ranking
138
+ const filtered = options?.minScore !== undefined
139
+ ? scored.filter((r) => r.score >= options.minScore)
140
+ : scored;
141
+ // Apply MMR diversity reranking or simple sort
142
+ const lambda = options?.lambda;
143
+ if (lambda !== undefined && lambda < 1.0) {
144
+ return this.applyMMR(filtered, k, lambda);
145
+ }
146
+ // Pure relevance ranking (default)
147
+ filtered.sort((a, b) => b.score - a.score);
148
+ return filtered.slice(0, k);
149
+ }
150
+ /**
151
+ * Maximal Marginal Relevance reranking.
152
+ * Selects top-k items balancing relevance and diversity.
153
+ */
154
+ applyMMR(scored, k, lambda) {
155
+ const selected = [];
156
+ const remaining = [...scored];
157
+ for (let i = 0; i < k && remaining.length > 0; i++) {
158
+ let bestIdx = 0;
159
+ let bestMMR = -Infinity;
160
+ for (let j = 0; j < remaining.length; j++) {
161
+ const relevance = remaining[j].score;
162
+ const maxSim = selected.length === 0
163
+ ? 0
164
+ : Math.max(...selected.map((s) => textSimilarity(remaining[j].playbook.guidance.strategy, s.playbook.guidance.strategy)));
165
+ const mmr = lambda * relevance - (1 - lambda) * maxSim;
166
+ if (mmr > bestMMR) {
167
+ bestMMR = mmr;
168
+ bestIdx = j;
169
+ }
170
+ }
171
+ selected.push(remaining.splice(bestIdx, 1)[0]);
71
172
  }
72
- return results;
173
+ return selected;
73
174
  }
74
175
  /**
75
176
  * Find by specific trigger (for error messages, etc.)
76
177
  */
77
178
  async findByTrigger(trigger, threshold = 0.5) {
78
179
  await this.init();
79
- return this.store.values().filter((playbook) => playbook.applicability.triggers.some((t) => t.toLowerCase().includes(trigger.toLowerCase()) ||
180
+ return this.getAllSync().filter((playbook) => playbook.applicability.triggers.some((t) => t.toLowerCase().includes(trigger.toLowerCase()) ||
80
181
  textSimilarity(trigger, t) >= threshold));
81
182
  }
82
183
  /**
@@ -84,35 +185,51 @@ export class PlaybookLibrary {
84
185
  */
85
186
  async findWithRefinements(context) {
86
187
  await this.init();
87
- return this.store.values().filter((playbook) => playbook.evolution.refinements.some((r) => textSimilarity(context, r.context) > 0.6));
188
+ return this.getAllSync().filter((playbook) => playbook.evolution.refinements.some((r) => textSimilarity(context, r.context) > 0.6));
88
189
  }
89
190
  // === EVOLUTION ===
90
191
  /**
91
- * Record successful application
192
+ * Record successful application.
193
+ * Applies stability-plasticity damping — consolidated playbooks change more slowly.
92
194
  */
93
- async recordSuccess(id, _trajectoryId) {
195
+ async recordSuccess(id, _trajectoryId, domain) {
94
196
  await this.init();
95
- const playbook = this.store.get(id);
96
- if (!playbook)
197
+ const row = this.persistence.getPlaybook(id);
198
+ if (!row)
97
199
  return;
200
+ const playbook = rowToPlaybook(row);
201
+ // Snapshot before mutation for version history
202
+ this.persistence.snapshotPlaybookVersion(id, playbook.evolution.version, 'Success recorded');
98
203
  playbook.evolution.successCount++;
99
204
  playbook.evolution.lastUsed = new Date();
100
- // Increase confidence (exponential moving average)
101
- const alpha = 0.1;
102
- playbook.confidence = playbook.confidence * (1 - alpha) + 1 * alpha;
103
- playbook.confidence = Math.min(playbook.confidence, 0.99); // Cap at 0.99
205
+ // Stability-plasticity: damped confidence update
206
+ const cs = playbook.evolution.consolidationStrength ?? 0;
207
+ const rawDelta = (1 - playbook.confidence) * 0.1;
208
+ const dampedDelta = rawDelta / (1 + cs * 0.1);
209
+ playbook.confidence = Math.min(0.99, playbook.confidence + dampedDelta);
210
+ // Grow consolidation strength slowly on success
211
+ playbook.evolution.consolidationStrength = Math.min(10, cs + 0.05);
212
+ // Track domain breadth
213
+ if (domain) {
214
+ const knownDomains = new Set(playbook.applicability.domains);
215
+ if (!knownDomains.has(domain)) {
216
+ playbook.evolution.domainBreadth = (playbook.evolution.domainBreadth ?? 0) + 1;
217
+ }
218
+ }
104
219
  playbook.updatedAt = new Date();
105
- this.store.set(id, playbook);
106
- await this.store.save(id);
220
+ this.persistence.insertPlaybook(playbook); // Write-through (INSERT OR REPLACE)
107
221
  }
108
222
  /**
109
223
  * Record failure and capture context
110
224
  */
111
225
  async recordFailure(id, trajectoryId, failureContext, failureMode) {
112
226
  await this.init();
113
- const playbook = this.store.get(id);
114
- if (!playbook)
227
+ const row = this.persistence.getPlaybook(id);
228
+ if (!row)
115
229
  return;
230
+ const playbook = rowToPlaybook(row);
231
+ // Snapshot before mutation for version history
232
+ this.persistence.snapshotPlaybookVersion(id, playbook.evolution.version, `Failure recorded: ${failureMode}`);
116
233
  playbook.evolution.failureCount++;
117
234
  playbook.evolution.lastUsed = new Date();
118
235
  // Add failure record
@@ -127,22 +244,23 @@ export class PlaybookLibrary {
127
244
  if (playbook.evolution.failures.length > 10) {
128
245
  playbook.evolution.failures = playbook.evolution.failures.slice(-10);
129
246
  }
130
- // Decrease confidence
131
- const alpha = 0.15; // Failures have slightly more impact
132
- playbook.confidence = playbook.confidence * (1 - alpha) + 0 * alpha;
133
- playbook.confidence = Math.max(playbook.confidence, 0.1); // Floor at 0.1
247
+ // Stability-plasticity: damped confidence decrease
248
+ const cs = playbook.evolution.consolidationStrength ?? 0;
249
+ const rawDelta = playbook.confidence * 0.15;
250
+ const dampedDelta = rawDelta / (1 + cs * 0.2);
251
+ playbook.confidence = Math.max(0.1, playbook.confidence - dampedDelta);
134
252
  playbook.updatedAt = new Date();
135
- this.store.set(id, playbook);
136
- await this.store.save(id);
253
+ this.persistence.insertPlaybook(playbook); // Write-through
137
254
  }
138
255
  /**
139
256
  * Add a context-specific refinement
140
257
  */
141
258
  async addRefinement(id, context, addition, source) {
142
259
  await this.init();
143
- const playbook = this.store.get(id);
144
- if (!playbook)
260
+ const row = this.persistence.getPlaybook(id);
261
+ if (!row)
145
262
  return;
263
+ const playbook = rowToPlaybook(row);
146
264
  // Check if similar refinement exists
147
265
  const exists = playbook.evolution.refinements.some((r) => textSimilarity(r.context, context) > 0.85);
148
266
  if (exists)
@@ -157,18 +275,19 @@ export class PlaybookLibrary {
157
275
  // Bump patch version
158
276
  playbook.evolution.version = bumpPlaybookVersion(playbook, 'patch');
159
277
  playbook.updatedAt = new Date();
160
- this.store.set(id, playbook);
161
- await this.store.save(id);
278
+ this.persistence.insertPlaybook(playbook); // Write-through
162
279
  }
163
280
  /**
164
281
  * Evolve playbook based on accumulated failures
165
- * Should be called after several failures to update guidance
166
282
  */
167
283
  async evolve(id, newGuidance, newAntiPatterns) {
168
284
  await this.init();
169
- const playbook = this.store.get(id);
170
- if (!playbook)
285
+ const row = this.persistence.getPlaybook(id);
286
+ if (!row)
171
287
  return undefined;
288
+ const playbook = rowToPlaybook(row);
289
+ // Snapshot before evolution
290
+ this.persistence.snapshotPlaybookVersion(id, playbook.evolution.version, 'Pre-evolution snapshot');
172
291
  // Update guidance if provided
173
292
  if (newGuidance) {
174
293
  playbook.guidance = { ...playbook.guidance, ...newGuidance };
@@ -181,8 +300,9 @@ export class PlaybookLibrary {
181
300
  // Bump minor version for evolution
182
301
  playbook.evolution.version = bumpPlaybookVersion(playbook, 'minor');
183
302
  playbook.updatedAt = new Date();
184
- this.store.set(id, playbook);
185
- await this.store.save(id);
303
+ this.persistence.insertPlaybook(playbook); // Write-through
304
+ // Update index since applicability may have changed
305
+ this._index.add(id, playbookIndexText(playbook));
186
306
  return playbook;
187
307
  }
188
308
  // === LIFECYCLE ===
@@ -191,8 +311,8 @@ export class PlaybookLibrary {
191
311
  */
192
312
  async add(playbook) {
193
313
  await this.init();
194
- this.store.set(playbook.id, playbook);
195
- await this.store.save(playbook.id);
314
+ this.persistence.insertPlaybook(playbook);
315
+ this._index.add(playbook.id, playbookIndexText(playbook));
196
316
  }
197
317
  /**
198
318
  * Create and add a new playbook
@@ -207,26 +327,28 @@ export class PlaybookLibrary {
207
327
  */
208
328
  async get(id) {
209
329
  await this.init();
210
- return this.store.get(id);
330
+ const row = this.persistence.getPlaybook(id);
331
+ return row ? rowToPlaybook(row) : undefined;
211
332
  }
212
333
  /**
213
334
  * Get playbook by name
214
335
  */
215
336
  async getByName(name) {
216
337
  await this.init();
217
- return this.store.values().find((p) => p.name === name);
338
+ return this.getAllSync().find((p) => p.name === name);
218
339
  }
219
340
  /**
220
341
  * Check if a similar playbook exists
221
342
  */
222
343
  async exists(description, threshold = 0.85) {
223
344
  await this.init();
345
+ const all = this.getAllSync();
224
346
  // Check by exact name match
225
- const byName = this.store.values().find((p) => p.name === description.toLowerCase().replace(/\s+/g, '-'));
347
+ const byName = all.find((p) => p.name === description.toLowerCase().replace(/\s+/g, '-'));
226
348
  if (byName)
227
349
  return byName;
228
350
  // Check by situation similarity
229
- for (const playbook of this.store.values()) {
351
+ for (const playbook of all) {
230
352
  for (const situation of playbook.applicability.situations) {
231
353
  if (textSimilarity(description, situation) >= threshold) {
232
354
  return playbook;
@@ -240,15 +362,14 @@ export class PlaybookLibrary {
240
362
  */
241
363
  async getByDomain(domain) {
242
364
  await this.init();
243
- return this.store.values().filter((p) => p.applicability.domains.includes(domain));
365
+ return this.getAllSync().filter((p) => p.applicability.domains.includes(domain));
244
366
  }
245
367
  /**
246
368
  * Get most effective playbooks (by success rate)
247
369
  */
248
370
  async getMostEffective(k = 10) {
249
371
  await this.init();
250
- return this.store
251
- .values()
372
+ return this.getAllSync()
252
373
  .filter((p) => p.evolution.successCount + p.evolution.failureCount >= 3)
253
374
  .sort((a, b) => {
254
375
  const rateA = a.evolution.successCount /
@@ -264,32 +385,29 @@ export class PlaybookLibrary {
264
385
  */
265
386
  async getHighConfidence(minConfidence = 0.8) {
266
387
  await this.init();
267
- return this.store.values().filter((p) => p.confidence >= minConfidence);
388
+ return this.getAllSync().filter((p) => p.confidence >= minConfidence);
268
389
  }
269
390
  /**
270
391
  * Get all playbooks
271
392
  */
272
393
  async getAll() {
273
394
  await this.init();
274
- return this.store.values();
395
+ return this.getAllSync();
275
396
  }
276
397
  /**
277
398
  * Delete a playbook
278
399
  */
279
400
  async delete(id) {
280
401
  await this.init();
281
- const existed = this.store.has(id);
282
- if (existed) {
283
- this.store.delete(id);
284
- }
285
- return existed;
402
+ this._index.remove(id);
403
+ return this.persistence.deletePlaybook(id);
286
404
  }
287
405
  /**
288
406
  * Get count
289
407
  */
290
408
  async count() {
291
409
  await this.init();
292
- return this.store.size();
410
+ return this.persistence.getPlaybookCount();
293
411
  }
294
412
  /**
295
413
  * Get all unique domains
@@ -297,7 +415,7 @@ export class PlaybookLibrary {
297
415
  async getDomains() {
298
416
  await this.init();
299
417
  const domains = new Set();
300
- for (const playbook of this.store.values()) {
418
+ for (const playbook of this.getAllSync()) {
301
419
  for (const domain of playbook.applicability.domains) {
302
420
  domains.add(domain);
303
421
  }
@@ -310,17 +428,17 @@ export class PlaybookLibrary {
310
428
  */
311
429
  async getByOrigin(origin) {
312
430
  await this.init();
313
- return this.store.values().filter((p) => p.provenance?.origin === origin);
431
+ return this.getAllSync().filter((p) => p.provenance?.origin === origin);
314
432
  }
315
433
  /**
316
434
  * Delete all playbooks with a specific origin
317
- * Returns the number of playbooks deleted
318
435
  */
319
436
  async deleteByOrigin(origin) {
320
437
  await this.init();
321
- const toDelete = this.store.values().filter((p) => p.provenance?.origin === origin);
438
+ const toDelete = this.getAllSync().filter((p) => p.provenance?.origin === origin);
322
439
  for (const playbook of toDelete) {
323
- this.store.delete(playbook.id);
440
+ this.persistence.deletePlaybook(playbook.id);
441
+ this._index.remove(playbook.id);
324
442
  }
325
443
  return toDelete.length;
326
444
  }
@@ -335,23 +453,29 @@ export class PlaybookLibrary {
335
453
  imported: 0,
336
454
  manual: 0,
337
455
  };
338
- for (const playbook of this.store.values()) {
456
+ for (const playbook of this.getAllSync()) {
339
457
  const origin = playbook.provenance?.origin ?? 'extracted';
340
458
  summary[origin] = (summary[origin] ?? 0) + 1;
341
459
  }
342
460
  return summary;
343
461
  }
344
462
  /**
345
- * Close the store
463
+ * Close the store (no-op — SqlitePersistence lifecycle is managed externally)
346
464
  */
347
465
  async close() {
348
- await this.store.close();
466
+ // SqlitePersistence lifecycle is managed by MemorySystem/Atlas
467
+ }
468
+ /**
469
+ * Synchronous helper: get all playbooks from SQLite.
470
+ */
471
+ getAllSync() {
472
+ return this.persistence.getAllPlaybooks().map(rowToPlaybook);
349
473
  }
350
474
  }
351
475
  /**
352
476
  * Create a playbook library
353
477
  */
354
- export function createPlaybookLibrary(baseDir) {
355
- return new PlaybookLibrary(baseDir);
478
+ export function createPlaybookLibrary(persistence) {
479
+ return new PlaybookLibrary(persistence);
356
480
  }
357
481
  //# sourceMappingURL=playbook.js.map