cognitive-core 0.1.0 → 0.2.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 (972) hide show
  1. package/.claude/settings.json +88 -0
  2. package/.claude/settings.local.json +11 -0
  3. package/.entire/settings.json +4 -0
  4. package/CLAUDE.md +233 -0
  5. package/README.md +841 -255
  6. package/dist/atlas.d.ts +150 -12
  7. package/dist/atlas.d.ts.map +1 -1
  8. package/dist/atlas.js +391 -31
  9. package/dist/atlas.js.map +1 -1
  10. package/dist/bin/cli-utils.d.ts +37 -0
  11. package/dist/bin/cli-utils.d.ts.map +1 -0
  12. package/dist/bin/cli-utils.js +176 -0
  13. package/dist/bin/cli-utils.js.map +1 -0
  14. package/dist/bin/cognitive-core.d.ts +2 -12
  15. package/dist/bin/cognitive-core.d.ts.map +1 -1
  16. package/dist/bin/cognitive-core.js +76 -351
  17. package/dist/bin/cognitive-core.js.map +1 -1
  18. package/dist/bin/commands/kb.d.ts +6 -0
  19. package/dist/bin/commands/kb.d.ts.map +1 -0
  20. package/dist/bin/commands/kb.js +240 -0
  21. package/dist/bin/commands/kb.js.map +1 -0
  22. package/dist/bin/commands/learn.d.ts +6 -0
  23. package/dist/bin/commands/learn.d.ts.map +1 -0
  24. package/dist/bin/commands/learn.js +91 -0
  25. package/dist/bin/commands/learn.js.map +1 -0
  26. package/dist/bin/commands/legacy.d.ts +12 -0
  27. package/dist/bin/commands/legacy.d.ts.map +1 -0
  28. package/dist/bin/commands/legacy.js +142 -0
  29. package/dist/bin/commands/legacy.js.map +1 -0
  30. package/dist/bin/commands/run.d.ts +3 -0
  31. package/dist/bin/commands/run.d.ts.map +1 -0
  32. package/dist/bin/commands/run.js +99 -0
  33. package/dist/bin/commands/run.js.map +1 -0
  34. package/dist/bin/commands/sessions.d.ts +9 -0
  35. package/dist/bin/commands/sessions.d.ts.map +1 -0
  36. package/dist/bin/commands/sessions.js +183 -0
  37. package/dist/bin/commands/sessions.js.map +1 -0
  38. package/dist/bin/commands/skills.d.ts +6 -0
  39. package/dist/bin/commands/skills.d.ts.map +1 -0
  40. package/dist/bin/commands/skills.js +135 -0
  41. package/dist/bin/commands/skills.js.map +1 -0
  42. package/dist/embeddings/index.d.ts +1 -0
  43. package/dist/embeddings/index.d.ts.map +1 -1
  44. package/dist/embeddings/index.js +2 -0
  45. package/dist/embeddings/index.js.map +1 -1
  46. package/dist/embeddings/inverted-index.d.ts +47 -0
  47. package/dist/embeddings/inverted-index.d.ts.map +1 -0
  48. package/dist/embeddings/inverted-index.js +122 -0
  49. package/dist/embeddings/inverted-index.js.map +1 -0
  50. package/dist/embeddings/manager.d.ts +3 -1
  51. package/dist/embeddings/manager.d.ts.map +1 -1
  52. package/dist/embeddings/manager.js +12 -7
  53. package/dist/embeddings/manager.js.map +1 -1
  54. package/dist/embeddings/provider.d.ts.map +1 -1
  55. package/dist/embeddings/provider.js +6 -3
  56. package/dist/embeddings/provider.js.map +1 -1
  57. package/dist/embeddings/vector-store.d.ts +7 -3
  58. package/dist/embeddings/vector-store.d.ts.map +1 -1
  59. package/dist/embeddings/vector-store.js +22 -6
  60. package/dist/embeddings/vector-store.js.map +1 -1
  61. package/dist/factory.d.ts +11 -12
  62. package/dist/factory.d.ts.map +1 -1
  63. package/dist/factory.js +20 -7
  64. package/dist/factory.js.map +1 -1
  65. package/dist/index.d.ts +11 -8
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +71 -8
  68. package/dist/index.js.map +1 -1
  69. package/dist/learning/analyzer.d.ts.map +1 -1
  70. package/dist/learning/analyzer.js +17 -35
  71. package/dist/learning/analyzer.js.map +1 -1
  72. package/dist/learning/energy-evaluator.d.ts +128 -0
  73. package/dist/learning/energy-evaluator.d.ts.map +1 -0
  74. package/dist/learning/energy-evaluator.js +175 -0
  75. package/dist/learning/energy-evaluator.js.map +1 -0
  76. package/dist/learning/healing-orchestrator.d.ts +182 -0
  77. package/dist/learning/healing-orchestrator.d.ts.map +1 -0
  78. package/dist/learning/healing-orchestrator.js +250 -0
  79. package/dist/learning/healing-orchestrator.js.map +1 -0
  80. package/dist/learning/index.d.ts +11 -2
  81. package/dist/learning/index.d.ts.map +1 -1
  82. package/dist/learning/index.js +20 -3
  83. package/dist/learning/index.js.map +1 -1
  84. package/dist/learning/instant-loop.d.ts +87 -0
  85. package/dist/learning/instant-loop.d.ts.map +1 -0
  86. package/dist/learning/instant-loop.js +264 -0
  87. package/dist/learning/instant-loop.js.map +1 -0
  88. package/dist/learning/knowledge-extractor.d.ts +56 -0
  89. package/dist/learning/knowledge-extractor.d.ts.map +1 -0
  90. package/dist/learning/knowledge-extractor.js +336 -0
  91. package/dist/learning/knowledge-extractor.js.map +1 -0
  92. package/dist/learning/loop-coordinator.d.ts +61 -0
  93. package/dist/learning/loop-coordinator.d.ts.map +1 -0
  94. package/dist/learning/loop-coordinator.js +96 -0
  95. package/dist/learning/loop-coordinator.js.map +1 -0
  96. package/dist/learning/maintenance-scheduler.d.ts +141 -0
  97. package/dist/learning/maintenance-scheduler.d.ts.map +1 -0
  98. package/dist/learning/maintenance-scheduler.js +186 -0
  99. package/dist/learning/maintenance-scheduler.js.map +1 -0
  100. package/dist/learning/meta-learner.d.ts +7 -0
  101. package/dist/learning/meta-learner.d.ts.map +1 -1
  102. package/dist/learning/meta-learner.js +47 -21
  103. package/dist/learning/meta-learner.js.map +1 -1
  104. package/dist/learning/pipeline.d.ts +55 -4
  105. package/dist/learning/pipeline.d.ts.map +1 -1
  106. package/dist/learning/pipeline.js +134 -16
  107. package/dist/learning/pipeline.js.map +1 -1
  108. package/dist/learning/reflexion-generator.d.ts +64 -0
  109. package/dist/learning/reflexion-generator.d.ts.map +1 -0
  110. package/dist/learning/reflexion-generator.js +194 -0
  111. package/dist/learning/reflexion-generator.js.map +1 -0
  112. package/dist/learning/team-ingester.d.ts +152 -0
  113. package/dist/learning/team-ingester.d.ts.map +1 -0
  114. package/dist/learning/team-ingester.js +333 -0
  115. package/dist/learning/team-ingester.js.map +1 -0
  116. package/dist/learning/team-meta-learner.d.ts +50 -0
  117. package/dist/learning/team-meta-learner.d.ts.map +1 -0
  118. package/dist/learning/team-meta-learner.js +417 -0
  119. package/dist/learning/team-meta-learner.js.map +1 -0
  120. package/dist/learning/team-pipeline.d.ts +76 -0
  121. package/dist/learning/team-pipeline.d.ts.map +1 -0
  122. package/dist/learning/team-pipeline.js +266 -0
  123. package/dist/learning/team-pipeline.js.map +1 -0
  124. package/dist/learning/trajectory-sources/dataclaw.d.ts +41 -0
  125. package/dist/learning/trajectory-sources/dataclaw.d.ts.map +1 -0
  126. package/dist/learning/trajectory-sources/dataclaw.js +330 -0
  127. package/dist/learning/trajectory-sources/dataclaw.js.map +1 -0
  128. package/dist/learning/trajectory-sources/entire.d.ts +31 -0
  129. package/dist/learning/trajectory-sources/entire.d.ts.map +1 -0
  130. package/dist/learning/trajectory-sources/entire.js +189 -0
  131. package/dist/learning/trajectory-sources/entire.js.map +1 -0
  132. package/dist/learning/trajectory-sources/file.d.ts +23 -0
  133. package/dist/learning/trajectory-sources/file.d.ts.map +1 -0
  134. package/dist/learning/trajectory-sources/file.js +101 -0
  135. package/dist/learning/trajectory-sources/file.js.map +1 -0
  136. package/dist/learning/trajectory-sources/huggingface.d.ts +36 -0
  137. package/dist/learning/trajectory-sources/huggingface.d.ts.map +1 -0
  138. package/dist/learning/trajectory-sources/huggingface.js +157 -0
  139. package/dist/learning/trajectory-sources/huggingface.js.map +1 -0
  140. package/dist/learning/trajectory-sources/in-memory.d.ts +21 -0
  141. package/dist/learning/trajectory-sources/in-memory.d.ts.map +1 -0
  142. package/dist/learning/trajectory-sources/in-memory.js +43 -0
  143. package/dist/learning/trajectory-sources/in-memory.js.map +1 -0
  144. package/dist/learning/trajectory-sources/index.d.ts +7 -0
  145. package/dist/learning/trajectory-sources/index.d.ts.map +1 -0
  146. package/dist/learning/trajectory-sources/index.js +7 -0
  147. package/dist/learning/trajectory-sources/index.js.map +1 -0
  148. package/dist/learning/trajectory-sources/pipeline.d.ts +24 -0
  149. package/dist/learning/trajectory-sources/pipeline.d.ts.map +1 -0
  150. package/dist/learning/trajectory-sources/pipeline.js +47 -0
  151. package/dist/learning/trajectory-sources/pipeline.js.map +1 -0
  152. package/dist/learning/unified-pipeline.d.ts +281 -0
  153. package/dist/learning/unified-pipeline.d.ts.map +1 -0
  154. package/dist/learning/unified-pipeline.js +637 -0
  155. package/dist/learning/unified-pipeline.js.map +1 -0
  156. package/dist/memory/candidate-retrieval.d.ts +43 -0
  157. package/dist/memory/candidate-retrieval.d.ts.map +1 -0
  158. package/dist/memory/candidate-retrieval.js +41 -0
  159. package/dist/memory/candidate-retrieval.js.map +1 -0
  160. package/dist/memory/causal-store.d.ts +97 -0
  161. package/dist/memory/causal-store.d.ts.map +1 -0
  162. package/dist/memory/causal-store.js +209 -0
  163. package/dist/memory/causal-store.js.map +1 -0
  164. package/dist/memory/coherence.d.ts +71 -0
  165. package/dist/memory/coherence.d.ts.map +1 -0
  166. package/dist/memory/coherence.js +176 -0
  167. package/dist/memory/coherence.js.map +1 -0
  168. package/dist/memory/experience.d.ts +39 -6
  169. package/dist/memory/experience.d.ts.map +1 -1
  170. package/dist/memory/experience.js +193 -49
  171. package/dist/memory/experience.js.map +1 -1
  172. package/dist/memory/graph-layers/base.d.ts +29 -0
  173. package/dist/memory/graph-layers/base.d.ts.map +1 -0
  174. package/dist/memory/graph-layers/base.js +143 -0
  175. package/dist/memory/graph-layers/base.js.map +1 -0
  176. package/dist/memory/graph-layers/causal.d.ts +14 -0
  177. package/dist/memory/graph-layers/causal.d.ts.map +1 -0
  178. package/dist/memory/graph-layers/causal.js +14 -0
  179. package/dist/memory/graph-layers/causal.js.map +1 -0
  180. package/dist/memory/graph-layers/entity.d.ts +14 -0
  181. package/dist/memory/graph-layers/entity.d.ts.map +1 -0
  182. package/dist/memory/graph-layers/entity.js +14 -0
  183. package/dist/memory/graph-layers/entity.js.map +1 -0
  184. package/dist/memory/graph-layers/index.d.ts +6 -0
  185. package/dist/memory/graph-layers/index.d.ts.map +1 -0
  186. package/dist/memory/graph-layers/index.js +6 -0
  187. package/dist/memory/graph-layers/index.js.map +1 -0
  188. package/dist/memory/graph-layers/semantic.d.ts +14 -0
  189. package/dist/memory/graph-layers/semantic.d.ts.map +1 -0
  190. package/dist/memory/graph-layers/semantic.js +14 -0
  191. package/dist/memory/graph-layers/semantic.js.map +1 -0
  192. package/dist/memory/graph-layers/temporal.d.ts +14 -0
  193. package/dist/memory/graph-layers/temporal.d.ts.map +1 -0
  194. package/dist/memory/graph-layers/temporal.js +14 -0
  195. package/dist/memory/graph-layers/temporal.js.map +1 -0
  196. package/dist/memory/index.d.ts +15 -0
  197. package/dist/memory/index.d.ts.map +1 -1
  198. package/dist/memory/index.js +22 -0
  199. package/dist/memory/index.js.map +1 -1
  200. package/dist/memory/knowledge-bank.d.ts +234 -0
  201. package/dist/memory/knowledge-bank.d.ts.map +1 -0
  202. package/dist/memory/knowledge-bank.js +1048 -0
  203. package/dist/memory/knowledge-bank.js.map +1 -0
  204. package/dist/memory/knowledge-defrag.d.ts +49 -0
  205. package/dist/memory/knowledge-defrag.d.ts.map +1 -0
  206. package/dist/memory/knowledge-defrag.js +257 -0
  207. package/dist/memory/knowledge-defrag.js.map +1 -0
  208. package/dist/memory/knowledge-graph.d.ts +41 -0
  209. package/dist/memory/knowledge-graph.d.ts.map +1 -0
  210. package/dist/memory/knowledge-graph.js +273 -0
  211. package/dist/memory/knowledge-graph.js.map +1 -0
  212. package/dist/memory/meta.d.ts +7 -8
  213. package/dist/memory/meta.d.ts.map +1 -1
  214. package/dist/memory/meta.js +73 -79
  215. package/dist/memory/meta.js.map +1 -1
  216. package/dist/memory/playbook.d.ts +26 -9
  217. package/dist/memory/playbook.d.ts.map +1 -1
  218. package/dist/memory/playbook.js +198 -74
  219. package/dist/memory/playbook.js.map +1 -1
  220. package/dist/memory/reasoning-bank.d.ts +130 -0
  221. package/dist/memory/reasoning-bank.d.ts.map +1 -0
  222. package/dist/memory/reasoning-bank.js +342 -0
  223. package/dist/memory/reasoning-bank.js.map +1 -0
  224. package/dist/memory/reflexion.d.ts +59 -0
  225. package/dist/memory/reflexion.d.ts.map +1 -0
  226. package/dist/memory/reflexion.js +96 -0
  227. package/dist/memory/reflexion.js.map +1 -0
  228. package/dist/memory/search-provider.d.ts +31 -0
  229. package/dist/memory/search-provider.d.ts.map +1 -0
  230. package/dist/memory/search-provider.js +2 -0
  231. package/dist/memory/search-provider.js.map +1 -0
  232. package/dist/memory/search-providers/index.d.ts +3 -0
  233. package/dist/memory/search-providers/index.d.ts.map +1 -0
  234. package/dist/memory/search-providers/index.js +3 -0
  235. package/dist/memory/search-providers/index.js.map +1 -0
  236. package/dist/memory/search-providers/minimem.d.ts +43 -0
  237. package/dist/memory/search-providers/minimem.d.ts.map +1 -0
  238. package/dist/memory/search-providers/minimem.js +56 -0
  239. package/dist/memory/search-providers/minimem.js.map +1 -0
  240. package/dist/memory/search-providers/text-similarity.d.ts +15 -0
  241. package/dist/memory/search-providers/text-similarity.d.ts.map +1 -0
  242. package/dist/memory/search-providers/text-similarity.js +21 -0
  243. package/dist/memory/search-providers/text-similarity.js.map +1 -0
  244. package/dist/memory/skill-exporter.d.ts +75 -0
  245. package/dist/memory/skill-exporter.d.ts.map +1 -0
  246. package/dist/memory/skill-exporter.js +248 -0
  247. package/dist/memory/skill-exporter.js.map +1 -0
  248. package/dist/memory/system.d.ts +20 -3
  249. package/dist/memory/system.d.ts.map +1 -1
  250. package/dist/memory/system.js +61 -11
  251. package/dist/memory/system.js.map +1 -1
  252. package/dist/memory/team-experience.d.ts +298 -0
  253. package/dist/memory/team-experience.d.ts.map +1 -0
  254. package/dist/memory/team-experience.js +355 -0
  255. package/dist/memory/team-experience.js.map +1 -0
  256. package/dist/memory/temporal-compressor.d.ts +126 -0
  257. package/dist/memory/temporal-compressor.d.ts.map +1 -0
  258. package/dist/memory/temporal-compressor.js +335 -0
  259. package/dist/memory/temporal-compressor.js.map +1 -0
  260. package/dist/persistence/index.d.ts +11 -0
  261. package/dist/persistence/index.d.ts.map +1 -0
  262. package/dist/persistence/index.js +11 -0
  263. package/dist/persistence/index.js.map +1 -0
  264. package/dist/persistence/migrator.d.ts +40 -0
  265. package/dist/persistence/migrator.d.ts.map +1 -0
  266. package/dist/persistence/migrator.js +238 -0
  267. package/dist/persistence/migrator.js.map +1 -0
  268. package/dist/persistence/serializers.d.ts +45 -0
  269. package/dist/persistence/serializers.d.ts.map +1 -0
  270. package/dist/persistence/serializers.js +80 -0
  271. package/dist/persistence/serializers.js.map +1 -0
  272. package/dist/persistence/sqlite-persistence.d.ts +228 -0
  273. package/dist/persistence/sqlite-persistence.d.ts.map +1 -0
  274. package/dist/persistence/sqlite-persistence.js +588 -0
  275. package/dist/persistence/sqlite-persistence.js.map +1 -0
  276. package/dist/runtime/backends/acp-protocol.d.ts +49 -0
  277. package/dist/runtime/backends/acp-protocol.d.ts.map +1 -0
  278. package/dist/runtime/backends/acp-protocol.js +166 -0
  279. package/dist/runtime/backends/acp-protocol.js.map +1 -0
  280. package/dist/runtime/backends/acp.d.ts +26 -26
  281. package/dist/runtime/backends/acp.d.ts.map +1 -1
  282. package/dist/runtime/backends/acp.js +32 -156
  283. package/dist/runtime/backends/acp.js.map +1 -1
  284. package/dist/runtime/backends/index.d.ts +3 -1
  285. package/dist/runtime/backends/index.d.ts.map +1 -1
  286. package/dist/runtime/backends/index.js +3 -1
  287. package/dist/runtime/backends/index.js.map +1 -1
  288. package/dist/runtime/backends/macro-agent.d.ts +104 -0
  289. package/dist/runtime/backends/macro-agent.d.ts.map +1 -0
  290. package/dist/runtime/backends/macro-agent.js +107 -0
  291. package/dist/runtime/backends/macro-agent.js.map +1 -0
  292. package/dist/runtime/compute-provider.d.ts +87 -0
  293. package/dist/runtime/compute-provider.d.ts.map +1 -0
  294. package/dist/runtime/compute-provider.js +87 -0
  295. package/dist/runtime/compute-provider.js.map +1 -0
  296. package/dist/runtime/flows/learning.d.ts +10 -12
  297. package/dist/runtime/flows/learning.d.ts.map +1 -1
  298. package/dist/runtime/flows/learning.js +10 -23
  299. package/dist/runtime/flows/learning.js.map +1 -1
  300. package/dist/runtime/index.d.ts +3 -2
  301. package/dist/runtime/index.d.ts.map +1 -1
  302. package/dist/runtime/index.js +3 -1
  303. package/dist/runtime/index.js.map +1 -1
  304. package/dist/runtime/manager.d.ts +37 -4
  305. package/dist/runtime/manager.d.ts.map +1 -1
  306. package/dist/runtime/manager.js +139 -20
  307. package/dist/runtime/manager.js.map +1 -1
  308. package/dist/runtime/types.d.ts +38 -0
  309. package/dist/runtime/types.d.ts.map +1 -1
  310. package/dist/search/evaluator.d.ts +7 -0
  311. package/dist/search/evaluator.d.ts.map +1 -1
  312. package/dist/search/evaluator.js +24 -4
  313. package/dist/search/evaluator.js.map +1 -1
  314. package/dist/search/index.d.ts +2 -0
  315. package/dist/search/index.d.ts.map +1 -1
  316. package/dist/search/index.js +4 -0
  317. package/dist/search/index.js.map +1 -1
  318. package/dist/search/moe-gate.d.ts +124 -0
  319. package/dist/search/moe-gate.d.ts.map +1 -0
  320. package/dist/search/moe-gate.js +234 -0
  321. package/dist/search/moe-gate.js.map +1 -0
  322. package/dist/search/refinement-loop.d.ts +17 -0
  323. package/dist/search/refinement-loop.d.ts.map +1 -1
  324. package/dist/search/refinement-loop.js +77 -6
  325. package/dist/search/refinement-loop.js.map +1 -1
  326. package/dist/search/refinement-types.d.ts +2 -2
  327. package/dist/search/router.d.ts +32 -2
  328. package/dist/search/router.d.ts.map +1 -1
  329. package/dist/search/router.js +87 -4
  330. package/dist/search/router.js.map +1 -1
  331. package/dist/search/team-router.d.ts +91 -0
  332. package/dist/search/team-router.d.ts.map +1 -0
  333. package/dist/search/team-router.js +315 -0
  334. package/dist/search/team-router.js.map +1 -0
  335. package/dist/session-bank/git-reader.d.ts +44 -0
  336. package/dist/session-bank/git-reader.d.ts.map +1 -0
  337. package/dist/session-bank/git-reader.js +172 -0
  338. package/dist/session-bank/git-reader.js.map +1 -0
  339. package/dist/session-bank/index.d.ts +5 -0
  340. package/dist/session-bank/index.d.ts.map +1 -0
  341. package/dist/session-bank/index.js +4 -0
  342. package/dist/session-bank/index.js.map +1 -0
  343. package/dist/session-bank/parser.d.ts +50 -0
  344. package/dist/session-bank/parser.d.ts.map +1 -0
  345. package/dist/session-bank/parser.js +338 -0
  346. package/dist/session-bank/parser.js.map +1 -0
  347. package/dist/session-bank/session-bank.d.ts +40 -0
  348. package/dist/session-bank/session-bank.d.ts.map +1 -0
  349. package/dist/session-bank/session-bank.js +347 -0
  350. package/dist/session-bank/session-bank.js.map +1 -0
  351. package/dist/session-bank/types.d.ts +132 -0
  352. package/dist/session-bank/types.d.ts.map +1 -0
  353. package/dist/session-bank/types.js +7 -0
  354. package/dist/session-bank/types.js.map +1 -0
  355. package/dist/surfacing/index.d.ts +4 -0
  356. package/dist/surfacing/index.d.ts.map +1 -1
  357. package/dist/surfacing/index.js +3 -0
  358. package/dist/surfacing/index.js.map +1 -1
  359. package/dist/surfacing/publisher.d.ts +22 -0
  360. package/dist/surfacing/publisher.d.ts.map +1 -0
  361. package/dist/surfacing/publisher.js +9 -0
  362. package/dist/surfacing/publisher.js.map +1 -0
  363. package/dist/surfacing/skill-library.d.ts +12 -0
  364. package/dist/surfacing/skill-library.d.ts.map +1 -1
  365. package/dist/surfacing/skill-library.js +26 -0
  366. package/dist/surfacing/skill-library.js.map +1 -1
  367. package/dist/surfacing/skill-publisher.d.ts +43 -0
  368. package/dist/surfacing/skill-publisher.d.ts.map +1 -0
  369. package/dist/surfacing/skill-publisher.js +169 -0
  370. package/dist/surfacing/skill-publisher.js.map +1 -0
  371. package/dist/surfacing/sqlite-storage-adapter.d.ts +42 -0
  372. package/dist/surfacing/sqlite-storage-adapter.d.ts.map +1 -0
  373. package/dist/surfacing/sqlite-storage-adapter.js +199 -0
  374. package/dist/surfacing/sqlite-storage-adapter.js.map +1 -0
  375. package/dist/surfacing/team-skill-library.d.ts +180 -0
  376. package/dist/surfacing/team-skill-library.d.ts.map +1 -0
  377. package/dist/surfacing/team-skill-library.js +384 -0
  378. package/dist/surfacing/team-skill-library.js.map +1 -0
  379. package/dist/types/config.d.ts +1318 -44
  380. package/dist/types/config.d.ts.map +1 -1
  381. package/dist/types/config.js +243 -0
  382. package/dist/types/config.js.map +1 -1
  383. package/dist/types/dataclaw.d.ts +286 -0
  384. package/dist/types/dataclaw.d.ts.map +1 -0
  385. package/dist/types/dataclaw.js +84 -0
  386. package/dist/types/dataclaw.js.map +1 -0
  387. package/dist/types/index.d.ts +9 -2
  388. package/dist/types/index.d.ts.map +1 -1
  389. package/dist/types/index.js +13 -1
  390. package/dist/types/index.js.map +1 -1
  391. package/dist/types/knowledge-graph.d.ts +148 -0
  392. package/dist/types/knowledge-graph.d.ts.map +1 -0
  393. package/dist/types/knowledge-graph.js +40 -0
  394. package/dist/types/knowledge-graph.js.map +1 -0
  395. package/dist/types/knowledge.d.ts +280 -0
  396. package/dist/types/knowledge.d.ts.map +1 -0
  397. package/dist/types/knowledge.js +191 -0
  398. package/dist/types/knowledge.js.map +1 -0
  399. package/dist/types/memory.d.ts +52 -0
  400. package/dist/types/memory.d.ts.map +1 -1
  401. package/dist/types/memory.js +13 -0
  402. package/dist/types/memory.js.map +1 -1
  403. package/dist/types/playbook.d.ts +4 -0
  404. package/dist/types/playbook.d.ts.map +1 -1
  405. package/dist/types/playbook.js.map +1 -1
  406. package/dist/types/team-meta.d.ts +160 -0
  407. package/dist/types/team-meta.d.ts.map +1 -0
  408. package/dist/types/team-meta.js +42 -0
  409. package/dist/types/team-meta.js.map +1 -0
  410. package/dist/types/team-playbook.d.ts +276 -0
  411. package/dist/types/team-playbook.d.ts.map +1 -0
  412. package/dist/types/team-playbook.js +85 -0
  413. package/dist/types/team-playbook.js.map +1 -0
  414. package/dist/types/team-trajectory.d.ts +305 -0
  415. package/dist/types/team-trajectory.d.ts.map +1 -0
  416. package/dist/types/team-trajectory.js +304 -0
  417. package/dist/types/team-trajectory.js.map +1 -0
  418. package/dist/types/trajectory-source.d.ts +39 -0
  419. package/dist/types/trajectory-source.d.ts.map +1 -0
  420. package/dist/types/trajectory-source.js +2 -0
  421. package/dist/types/trajectory-source.js.map +1 -0
  422. package/dist/utils/error-classifier.d.ts +30 -0
  423. package/dist/utils/error-classifier.d.ts.map +1 -0
  424. package/dist/utils/error-classifier.js +85 -0
  425. package/dist/utils/error-classifier.js.map +1 -0
  426. package/dist/utils/frontmatter.d.ts +34 -0
  427. package/dist/utils/frontmatter.d.ts.map +1 -0
  428. package/dist/utils/frontmatter.js +93 -0
  429. package/dist/utils/frontmatter.js.map +1 -0
  430. package/dist/utils/index.d.ts +4 -0
  431. package/dist/utils/index.d.ts.map +1 -1
  432. package/dist/utils/index.js +4 -0
  433. package/dist/utils/index.js.map +1 -1
  434. package/dist/utils/partitioned-store.d.ts +93 -0
  435. package/dist/utils/partitioned-store.d.ts.map +1 -0
  436. package/dist/utils/partitioned-store.js +251 -0
  437. package/dist/utils/partitioned-store.js.map +1 -0
  438. package/dist/utils/trajectory-helpers.d.ts +39 -0
  439. package/dist/utils/trajectory-helpers.d.ts.map +1 -0
  440. package/dist/utils/trajectory-helpers.js +57 -0
  441. package/dist/utils/trajectory-helpers.js.map +1 -0
  442. package/dist/workspace/index.d.ts +6 -0
  443. package/dist/workspace/index.d.ts.map +1 -0
  444. package/dist/workspace/index.js +11 -0
  445. package/dist/workspace/index.js.map +1 -0
  446. package/dist/workspace/runner.d.ts +49 -0
  447. package/dist/workspace/runner.d.ts.map +1 -0
  448. package/dist/workspace/runner.js +219 -0
  449. package/dist/workspace/runner.js.map +1 -0
  450. package/dist/workspace/skill-converter.d.ts +18 -0
  451. package/dist/workspace/skill-converter.d.ts.map +1 -0
  452. package/dist/workspace/skill-converter.js +257 -0
  453. package/dist/workspace/skill-converter.js.map +1 -0
  454. package/dist/workspace/templates/index.d.ts +11 -0
  455. package/dist/workspace/templates/index.d.ts.map +1 -0
  456. package/dist/workspace/templates/index.js +21 -0
  457. package/dist/workspace/templates/index.js.map +1 -0
  458. package/dist/workspace/templates/knowledge-defrag.d.ts +25 -0
  459. package/dist/workspace/templates/knowledge-defrag.d.ts.map +1 -0
  460. package/dist/workspace/templates/knowledge-defrag.js +154 -0
  461. package/dist/workspace/templates/knowledge-defrag.js.map +1 -0
  462. package/dist/workspace/templates/knowledge-extraction.d.ts +25 -0
  463. package/dist/workspace/templates/knowledge-extraction.d.ts.map +1 -0
  464. package/dist/workspace/templates/knowledge-extraction.js +246 -0
  465. package/dist/workspace/templates/knowledge-extraction.js.map +1 -0
  466. package/dist/workspace/templates/meta-reflection.d.ts +47 -0
  467. package/dist/workspace/templates/meta-reflection.d.ts.map +1 -0
  468. package/dist/workspace/templates/meta-reflection.js +135 -0
  469. package/dist/workspace/templates/meta-reflection.js.map +1 -0
  470. package/dist/workspace/templates/playbook-extraction.d.ts +20 -0
  471. package/dist/workspace/templates/playbook-extraction.d.ts.map +1 -0
  472. package/dist/workspace/templates/playbook-extraction.js +189 -0
  473. package/dist/workspace/templates/playbook-extraction.js.map +1 -0
  474. package/dist/workspace/templates/refinement-analysis.d.ts +31 -0
  475. package/dist/workspace/templates/refinement-analysis.d.ts.map +1 -0
  476. package/dist/workspace/templates/refinement-analysis.js +107 -0
  477. package/dist/workspace/templates/refinement-analysis.js.map +1 -0
  478. package/dist/workspace/templates/solution-evaluation.d.ts +21 -0
  479. package/dist/workspace/templates/solution-evaluation.d.ts.map +1 -0
  480. package/dist/workspace/templates/solution-evaluation.js +131 -0
  481. package/dist/workspace/templates/solution-evaluation.js.map +1 -0
  482. package/dist/workspace/templates/team-playbook-extraction.d.ts +44 -0
  483. package/dist/workspace/templates/team-playbook-extraction.d.ts.map +1 -0
  484. package/dist/workspace/templates/team-playbook-extraction.js +497 -0
  485. package/dist/workspace/templates/team-playbook-extraction.js.map +1 -0
  486. package/dist/workspace/templates/team-trajectory-analysis.d.ts +19 -0
  487. package/dist/workspace/templates/team-trajectory-analysis.d.ts.map +1 -0
  488. package/dist/workspace/templates/team-trajectory-analysis.js +442 -0
  489. package/dist/workspace/templates/team-trajectory-analysis.js.map +1 -0
  490. package/dist/workspace/templates/trajectory-analysis.d.ts +19 -0
  491. package/dist/workspace/templates/trajectory-analysis.d.ts.map +1 -0
  492. package/dist/workspace/templates/trajectory-analysis.js +170 -0
  493. package/dist/workspace/templates/trajectory-analysis.js.map +1 -0
  494. package/dist/workspace/templates/usage-inference.d.ts +19 -0
  495. package/dist/workspace/templates/usage-inference.d.ts.map +1 -0
  496. package/dist/workspace/templates/usage-inference.js +125 -0
  497. package/dist/workspace/templates/usage-inference.js.map +1 -0
  498. package/dist/workspace/types.d.ts +152 -0
  499. package/dist/workspace/types.d.ts.map +1 -0
  500. package/dist/workspace/types.js +17 -0
  501. package/dist/workspace/types.js.map +1 -0
  502. package/docs/DESIGN-agentic-workspace.md +2057 -0
  503. package/docs/DESIGN-semantic-memory-knowledge-bank.md +1789 -0
  504. package/docs/DESIGN-session-bank.md +1134 -0
  505. package/docs/DESIGN-team-extraction-pipeline.md +1369 -0
  506. package/docs/PROPOSAL-team-aware-learning.md +1080 -0
  507. package/docs/RESEARCH-semantic-memory-knowledge-structures.md +517 -0
  508. package/docs/RESEARCH-team-trajectory-learning.md +553 -0
  509. package/gaps.md +204 -0
  510. package/package.json +27 -7
  511. package/references/agent-workspace/CLAUDE.md +74 -0
  512. package/references/agent-workspace/README.md +587 -0
  513. package/references/agent-workspace/media/banner.png +0 -0
  514. package/references/agent-workspace/package-lock.json +2061 -0
  515. package/references/agent-workspace/package.json +54 -0
  516. package/references/agent-workspace/src/handle.ts +122 -0
  517. package/references/agent-workspace/src/index.ts +32 -0
  518. package/references/agent-workspace/src/manager.ts +102 -0
  519. package/references/agent-workspace/src/readers/json.ts +71 -0
  520. package/references/agent-workspace/src/readers/markdown.ts +37 -0
  521. package/references/agent-workspace/src/readers/raw.ts +27 -0
  522. package/references/agent-workspace/src/types.ts +68 -0
  523. package/references/agent-workspace/src/validation.ts +93 -0
  524. package/references/agent-workspace/src/writers/json.ts +17 -0
  525. package/references/agent-workspace/src/writers/markdown.ts +27 -0
  526. package/references/agent-workspace/src/writers/raw.ts +22 -0
  527. package/references/agent-workspace/tests/errors.test.ts +652 -0
  528. package/references/agent-workspace/tests/handle.test.ts +144 -0
  529. package/references/agent-workspace/tests/manager.test.ts +124 -0
  530. package/references/agent-workspace/tests/readers.test.ts +205 -0
  531. package/references/agent-workspace/tests/validation.test.ts +196 -0
  532. package/references/agent-workspace/tests/writers.test.ts +108 -0
  533. package/references/agent-workspace/tsconfig.json +20 -0
  534. package/references/agent-workspace/tsup.config.ts +9 -0
  535. package/references/minimem/.claude/settings.json +7 -0
  536. package/references/minimem/.sudocode/issues.jsonl +18 -0
  537. package/references/minimem/.sudocode/specs.jsonl +1 -0
  538. package/references/minimem/CLAUDE.md +310 -0
  539. package/references/minimem/README.md +556 -0
  540. package/references/minimem/claude-plugin/.claude-plugin/plugin.json +10 -0
  541. package/references/minimem/claude-plugin/.mcp.json +7 -0
  542. package/references/minimem/claude-plugin/README.md +158 -0
  543. package/references/minimem/claude-plugin/commands/recall.md +47 -0
  544. package/references/minimem/claude-plugin/commands/remember.md +41 -0
  545. package/references/minimem/claude-plugin/hooks/__tests__/hooks.test.ts +272 -0
  546. package/references/minimem/claude-plugin/hooks/hooks.json +27 -0
  547. package/references/minimem/claude-plugin/hooks/session-end.sh +86 -0
  548. package/references/minimem/claude-plugin/hooks/session-start.sh +85 -0
  549. package/references/minimem/claude-plugin/skills/memory/SKILL.md +108 -0
  550. package/references/minimem/package-lock.json +5373 -0
  551. package/references/minimem/package.json +60 -0
  552. package/references/minimem/scripts/postbuild.js +35 -0
  553. package/references/minimem/src/__tests__/edge-cases.test.ts +371 -0
  554. package/references/minimem/src/__tests__/errors.test.ts +265 -0
  555. package/references/minimem/src/__tests__/helpers.ts +199 -0
  556. package/references/minimem/src/__tests__/internal.test.ts +407 -0
  557. package/references/minimem/src/__tests__/knowledge.test.ts +287 -0
  558. package/references/minimem/src/__tests__/minimem.integration.test.ts +1127 -0
  559. package/references/minimem/src/__tests__/session.test.ts +190 -0
  560. package/references/minimem/src/cli/__tests__/commands.test.ts +759 -0
  561. package/references/minimem/src/cli/commands/__tests__/conflicts.test.ts +141 -0
  562. package/references/minimem/src/cli/commands/append.ts +76 -0
  563. package/references/minimem/src/cli/commands/config.ts +262 -0
  564. package/references/minimem/src/cli/commands/conflicts.ts +413 -0
  565. package/references/minimem/src/cli/commands/daemon.ts +169 -0
  566. package/references/minimem/src/cli/commands/index.ts +12 -0
  567. package/references/minimem/src/cli/commands/init.ts +88 -0
  568. package/references/minimem/src/cli/commands/mcp.ts +177 -0
  569. package/references/minimem/src/cli/commands/push-pull.ts +213 -0
  570. package/references/minimem/src/cli/commands/search.ts +158 -0
  571. package/references/minimem/src/cli/commands/status.ts +84 -0
  572. package/references/minimem/src/cli/commands/sync-init.ts +290 -0
  573. package/references/minimem/src/cli/commands/sync.ts +70 -0
  574. package/references/minimem/src/cli/commands/upsert.ts +197 -0
  575. package/references/minimem/src/cli/config.ts +584 -0
  576. package/references/minimem/src/cli/index.ts +264 -0
  577. package/references/minimem/src/cli/shared.ts +161 -0
  578. package/references/minimem/src/cli/sync/__tests__/central.test.ts +152 -0
  579. package/references/minimem/src/cli/sync/__tests__/conflicts.test.ts +209 -0
  580. package/references/minimem/src/cli/sync/__tests__/daemon.test.ts +118 -0
  581. package/references/minimem/src/cli/sync/__tests__/detection.test.ts +207 -0
  582. package/references/minimem/src/cli/sync/__tests__/integration.test.ts +476 -0
  583. package/references/minimem/src/cli/sync/__tests__/registry.test.ts +363 -0
  584. package/references/minimem/src/cli/sync/__tests__/state.test.ts +255 -0
  585. package/references/minimem/src/cli/sync/__tests__/validation.test.ts +193 -0
  586. package/references/minimem/src/cli/sync/__tests__/watcher.test.ts +178 -0
  587. package/references/minimem/src/cli/sync/central.ts +292 -0
  588. package/references/minimem/src/cli/sync/conflicts.ts +204 -0
  589. package/references/minimem/src/cli/sync/daemon.ts +407 -0
  590. package/references/minimem/src/cli/sync/detection.ts +138 -0
  591. package/references/minimem/src/cli/sync/index.ts +107 -0
  592. package/references/minimem/src/cli/sync/operations.ts +373 -0
  593. package/references/minimem/src/cli/sync/registry.ts +279 -0
  594. package/references/minimem/src/cli/sync/state.ts +355 -0
  595. package/references/minimem/src/cli/sync/validation.ts +206 -0
  596. package/references/minimem/src/cli/sync/watcher.ts +234 -0
  597. package/references/minimem/src/cli/version.ts +34 -0
  598. package/references/minimem/src/core/index.ts +9 -0
  599. package/references/minimem/src/core/indexer.ts +628 -0
  600. package/references/minimem/src/core/searcher.ts +221 -0
  601. package/references/minimem/src/db/schema.ts +183 -0
  602. package/references/minimem/src/db/sqlite-vec.ts +24 -0
  603. package/references/minimem/src/embeddings/__tests__/embeddings.test.ts +431 -0
  604. package/references/minimem/src/embeddings/batch-gemini.ts +392 -0
  605. package/references/minimem/src/embeddings/batch-openai.ts +409 -0
  606. package/references/minimem/src/embeddings/embeddings.ts +434 -0
  607. package/references/minimem/src/index.ts +109 -0
  608. package/references/minimem/src/internal.ts +299 -0
  609. package/references/minimem/src/minimem.ts +1276 -0
  610. package/references/minimem/src/search/__tests__/hybrid.test.ts +247 -0
  611. package/references/minimem/src/search/graph.ts +234 -0
  612. package/references/minimem/src/search/hybrid.ts +151 -0
  613. package/references/minimem/src/search/search.ts +256 -0
  614. package/references/minimem/src/server/__tests__/mcp.test.ts +341 -0
  615. package/references/minimem/src/server/__tests__/tools.test.ts +364 -0
  616. package/references/minimem/src/server/mcp.ts +326 -0
  617. package/references/minimem/src/server/tools.ts +720 -0
  618. package/references/minimem/src/session.ts +460 -0
  619. package/references/minimem/tsconfig.json +19 -0
  620. package/references/minimem/tsup.config.ts +26 -0
  621. package/references/minimem/vitest.config.ts +24 -0
  622. package/references/sessionlog/.husky/pre-commit +1 -0
  623. package/references/sessionlog/.lintstagedrc.json +4 -0
  624. package/references/sessionlog/.prettierignore +4 -0
  625. package/references/sessionlog/.prettierrc.json +11 -0
  626. package/references/sessionlog/LICENSE +21 -0
  627. package/references/sessionlog/README.md +453 -0
  628. package/references/sessionlog/eslint.config.js +58 -0
  629. package/references/sessionlog/package-lock.json +3672 -0
  630. package/references/sessionlog/package.json +65 -0
  631. package/references/sessionlog/src/__tests__/agent-hooks.test.ts +570 -0
  632. package/references/sessionlog/src/__tests__/agent-registry.test.ts +127 -0
  633. package/references/sessionlog/src/__tests__/claude-code-hooks.test.ts +225 -0
  634. package/references/sessionlog/src/__tests__/claude-generator.test.ts +46 -0
  635. package/references/sessionlog/src/__tests__/commit-msg.test.ts +86 -0
  636. package/references/sessionlog/src/__tests__/cursor-agent.test.ts +224 -0
  637. package/references/sessionlog/src/__tests__/e2e-live.test.ts +890 -0
  638. package/references/sessionlog/src/__tests__/event-log.test.ts +183 -0
  639. package/references/sessionlog/src/__tests__/flush-sentinel.test.ts +105 -0
  640. package/references/sessionlog/src/__tests__/gemini-agent.test.ts +375 -0
  641. package/references/sessionlog/src/__tests__/git-hooks.test.ts +78 -0
  642. package/references/sessionlog/src/__tests__/hook-managers.test.ts +121 -0
  643. package/references/sessionlog/src/__tests__/lifecycle-tasks.test.ts +759 -0
  644. package/references/sessionlog/src/__tests__/opencode-agent.test.ts +338 -0
  645. package/references/sessionlog/src/__tests__/redaction.test.ts +136 -0
  646. package/references/sessionlog/src/__tests__/session-repo.test.ts +353 -0
  647. package/references/sessionlog/src/__tests__/session-store.test.ts +166 -0
  648. package/references/sessionlog/src/__tests__/setup-ccweb.test.ts +466 -0
  649. package/references/sessionlog/src/__tests__/skill-live.test.ts +461 -0
  650. package/references/sessionlog/src/__tests__/summarize.test.ts +348 -0
  651. package/references/sessionlog/src/__tests__/task-plan-e2e.test.ts +610 -0
  652. package/references/sessionlog/src/__tests__/task-plan-live.test.ts +632 -0
  653. package/references/sessionlog/src/__tests__/transcript-timestamp.test.ts +121 -0
  654. package/references/sessionlog/src/__tests__/types.test.ts +166 -0
  655. package/references/sessionlog/src/__tests__/utils.test.ts +333 -0
  656. package/references/sessionlog/src/__tests__/validation.test.ts +103 -0
  657. package/references/sessionlog/src/__tests__/worktree.test.ts +57 -0
  658. package/references/sessionlog/src/agent/agents/claude-code.ts +1089 -0
  659. package/references/sessionlog/src/agent/agents/cursor.ts +361 -0
  660. package/references/sessionlog/src/agent/agents/gemini-cli.ts +632 -0
  661. package/references/sessionlog/src/agent/agents/opencode.ts +540 -0
  662. package/references/sessionlog/src/agent/registry.ts +143 -0
  663. package/references/sessionlog/src/agent/session-types.ts +113 -0
  664. package/references/sessionlog/src/agent/types.ts +220 -0
  665. package/references/sessionlog/src/cli.ts +597 -0
  666. package/references/sessionlog/src/commands/clean.ts +133 -0
  667. package/references/sessionlog/src/commands/disable.ts +84 -0
  668. package/references/sessionlog/src/commands/doctor.ts +145 -0
  669. package/references/sessionlog/src/commands/enable.ts +202 -0
  670. package/references/sessionlog/src/commands/explain.ts +261 -0
  671. package/references/sessionlog/src/commands/reset.ts +105 -0
  672. package/references/sessionlog/src/commands/resume.ts +180 -0
  673. package/references/sessionlog/src/commands/rewind.ts +195 -0
  674. package/references/sessionlog/src/commands/setup-ccweb.ts +275 -0
  675. package/references/sessionlog/src/commands/status.ts +172 -0
  676. package/references/sessionlog/src/config.ts +165 -0
  677. package/references/sessionlog/src/events/event-log.ts +126 -0
  678. package/references/sessionlog/src/git-operations.ts +558 -0
  679. package/references/sessionlog/src/hooks/git-hooks.ts +165 -0
  680. package/references/sessionlog/src/hooks/lifecycle.ts +391 -0
  681. package/references/sessionlog/src/index.ts +650 -0
  682. package/references/sessionlog/src/security/redaction.ts +283 -0
  683. package/references/sessionlog/src/session/state-machine.ts +452 -0
  684. package/references/sessionlog/src/store/checkpoint-store.ts +509 -0
  685. package/references/sessionlog/src/store/native-store.ts +173 -0
  686. package/references/sessionlog/src/store/provider-types.ts +99 -0
  687. package/references/sessionlog/src/store/session-store.ts +266 -0
  688. package/references/sessionlog/src/strategy/attribution.ts +296 -0
  689. package/references/sessionlog/src/strategy/common.ts +207 -0
  690. package/references/sessionlog/src/strategy/content-overlap.ts +228 -0
  691. package/references/sessionlog/src/strategy/manual-commit.ts +988 -0
  692. package/references/sessionlog/src/strategy/types.ts +279 -0
  693. package/references/sessionlog/src/summarize/claude-generator.ts +115 -0
  694. package/references/sessionlog/src/summarize/summarize.ts +432 -0
  695. package/references/sessionlog/src/types.ts +508 -0
  696. package/references/sessionlog/src/utils/chunk-files.ts +49 -0
  697. package/references/sessionlog/src/utils/commit-message.ts +65 -0
  698. package/references/sessionlog/src/utils/detect-agent.ts +36 -0
  699. package/references/sessionlog/src/utils/hook-managers.ts +125 -0
  700. package/references/sessionlog/src/utils/ide-tags.ts +32 -0
  701. package/references/sessionlog/src/utils/paths.ts +79 -0
  702. package/references/sessionlog/src/utils/preview-rewind.ts +80 -0
  703. package/references/sessionlog/src/utils/rewind-conflict.ts +121 -0
  704. package/references/sessionlog/src/utils/shadow-branch.ts +109 -0
  705. package/references/sessionlog/src/utils/string-utils.ts +46 -0
  706. package/references/sessionlog/src/utils/todo-extract.ts +188 -0
  707. package/references/sessionlog/src/utils/trailers.ts +187 -0
  708. package/references/sessionlog/src/utils/transcript-parse.ts +177 -0
  709. package/references/sessionlog/src/utils/transcript-timestamp.ts +59 -0
  710. package/references/sessionlog/src/utils/tree-ops.ts +219 -0
  711. package/references/sessionlog/src/utils/tty.ts +72 -0
  712. package/references/sessionlog/src/utils/validation.ts +65 -0
  713. package/references/sessionlog/src/utils/worktree.ts +58 -0
  714. package/references/sessionlog/src/wire-types.ts +59 -0
  715. package/references/sessionlog/templates/setup-env.sh +153 -0
  716. package/references/sessionlog/tsconfig.json +18 -0
  717. package/references/sessionlog/vitest.config.ts +12 -0
  718. package/references/skill-tree/.claude/settings.json +6 -0
  719. package/references/skill-tree/.sudocode/issues.jsonl +19 -0
  720. package/references/skill-tree/.sudocode/specs.jsonl +3 -0
  721. package/references/skill-tree/CLAUDE.md +126 -0
  722. package/references/skill-tree/README.md +372 -0
  723. package/references/skill-tree/docs/GAPS_v1.md +221 -0
  724. package/references/skill-tree/docs/INTEGRATION_PLAN.md +467 -0
  725. package/references/skill-tree/docs/TODOS.md +91 -0
  726. package/references/skill-tree/docs/anthropic_skill_guide.md +1364 -0
  727. package/references/skill-tree/docs/design/federated-skill-trees.md +524 -0
  728. package/references/skill-tree/docs/design/multi-agent-sync.md +759 -0
  729. package/references/skill-tree/docs/scraper/BRAINSTORM.md +583 -0
  730. package/references/skill-tree/docs/scraper/POC_PLAN.md +420 -0
  731. package/references/skill-tree/docs/scraper/README.md +170 -0
  732. package/references/skill-tree/examples/basic-usage.ts +164 -0
  733. package/references/skill-tree/package-lock.json +1852 -0
  734. package/references/skill-tree/package.json +66 -0
  735. package/references/skill-tree/scraper/README.md +123 -0
  736. package/references/skill-tree/scraper/docs/DESIGN.md +683 -0
  737. package/references/skill-tree/scraper/docs/PLAN.md +336 -0
  738. package/references/skill-tree/scraper/drizzle.config.ts +10 -0
  739. package/references/skill-tree/scraper/package-lock.json +6329 -0
  740. package/references/skill-tree/scraper/package.json +68 -0
  741. package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-description.md +7 -0
  742. package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-name.md +7 -0
  743. package/references/skill-tree/scraper/test/fixtures/minimal-skill/SKILL.md +27 -0
  744. package/references/skill-tree/scraper/test/fixtures/skill-json/SKILL.json +21 -0
  745. package/references/skill-tree/scraper/test/fixtures/skill-with-meta/SKILL.md +54 -0
  746. package/references/skill-tree/scraper/test/fixtures/skill-with-meta/_meta.json +24 -0
  747. package/references/skill-tree/scraper/test/fixtures/valid-skill/SKILL.md +93 -0
  748. package/references/skill-tree/scraper/test/fixtures/valid-skill/_meta.json +22 -0
  749. package/references/skill-tree/scraper/tsup.config.ts +14 -0
  750. package/references/skill-tree/scraper/vitest.config.ts +17 -0
  751. package/references/skill-tree/scripts/convert-to-vitest.ts +166 -0
  752. package/references/skill-tree/skills/skill-writer/SKILL.md +339 -0
  753. package/references/skill-tree/skills/skill-writer/references/examples.md +326 -0
  754. package/references/skill-tree/skills/skill-writer/references/patterns.md +210 -0
  755. package/references/skill-tree/skills/skill-writer/references/quality-checklist.md +123 -0
  756. package/references/skill-tree/test/run-all.ts +106 -0
  757. package/references/skill-tree/test/utils.ts +128 -0
  758. package/references/skill-tree/vitest.config.ts +16 -0
  759. package/src/atlas.ts +583 -41
  760. package/src/bin/cli-utils.ts +220 -0
  761. package/src/bin/cognitive-core.ts +84 -392
  762. package/src/bin/commands/kb.ts +266 -0
  763. package/src/bin/commands/learn.ts +100 -0
  764. package/src/bin/commands/legacy.ts +182 -0
  765. package/src/bin/commands/run.ts +113 -0
  766. package/src/bin/commands/sessions.ts +221 -0
  767. package/src/bin/commands/skills.ts +146 -0
  768. package/src/embeddings/index.ts +3 -0
  769. package/src/embeddings/inverted-index.ts +134 -0
  770. package/src/embeddings/manager.ts +13 -8
  771. package/src/embeddings/provider.ts +10 -3
  772. package/src/embeddings/vector-store.ts +21 -9
  773. package/src/factory.ts +33 -16
  774. package/src/index.ts +231 -9
  775. package/src/learning/analyzer.ts +21 -37
  776. package/src/learning/energy-evaluator.ts +282 -0
  777. package/src/learning/healing-orchestrator.ts +383 -0
  778. package/src/learning/index.ts +104 -13
  779. package/src/learning/instant-loop.ts +357 -0
  780. package/src/learning/knowledge-extractor.ts +470 -0
  781. package/src/learning/maintenance-scheduler.ts +271 -0
  782. package/src/learning/meta-learner.ts +59 -23
  783. package/src/learning/reflexion-generator.ts +273 -0
  784. package/src/learning/team-ingester.ts +499 -0
  785. package/src/learning/team-meta-learner.ts +558 -0
  786. package/src/learning/team-pipeline.ts +364 -0
  787. package/src/learning/trajectory-sources/dataclaw.ts +403 -0
  788. package/src/learning/trajectory-sources/entire.ts +251 -0
  789. package/src/learning/trajectory-sources/file.ts +136 -0
  790. package/src/learning/trajectory-sources/huggingface.ts +248 -0
  791. package/src/learning/trajectory-sources/in-memory.ts +61 -0
  792. package/src/learning/trajectory-sources/index.ts +15 -0
  793. package/src/learning/trajectory-sources/pipeline.ts +69 -0
  794. package/src/learning/unified-pipeline.ts +921 -0
  795. package/src/memory/candidate-retrieval.ts +71 -0
  796. package/src/memory/causal-store.ts +273 -0
  797. package/src/memory/coherence.ts +252 -0
  798. package/src/memory/experience.ts +217 -50
  799. package/src/memory/graph-layers/base.ts +184 -0
  800. package/src/memory/graph-layers/causal.ts +16 -0
  801. package/src/memory/graph-layers/entity.ts +16 -0
  802. package/src/memory/graph-layers/index.ts +5 -0
  803. package/src/memory/graph-layers/semantic.ts +16 -0
  804. package/src/memory/graph-layers/temporal.ts +16 -0
  805. package/src/memory/index.ts +88 -0
  806. package/src/memory/knowledge-bank.ts +1317 -0
  807. package/src/memory/knowledge-defrag.ts +329 -0
  808. package/src/memory/knowledge-graph.ts +361 -0
  809. package/src/memory/meta.ts +78 -96
  810. package/src/memory/playbook.ts +239 -75
  811. package/src/memory/reasoning-bank.ts +458 -0
  812. package/src/memory/reflexion.ts +122 -0
  813. package/src/memory/search-provider.ts +35 -0
  814. package/src/memory/search-providers/index.ts +3 -0
  815. package/src/memory/search-providers/minimem.ts +84 -0
  816. package/src/memory/search-providers/text-similarity.ts +35 -0
  817. package/src/memory/skill-exporter.ts +357 -0
  818. package/src/memory/system.ts +80 -11
  819. package/src/memory/team-experience.ts +604 -0
  820. package/src/memory/temporal-compressor.ts +409 -0
  821. package/src/persistence/index.ts +37 -0
  822. package/src/persistence/migrator.ts +298 -0
  823. package/src/persistence/serializers.ts +79 -0
  824. package/src/persistence/sqlite-persistence.ts +925 -0
  825. package/src/runtime/backends/acp-protocol.ts +231 -0
  826. package/src/runtime/backends/acp.ts +57 -196
  827. package/src/runtime/backends/index.ts +14 -0
  828. package/src/runtime/backends/macro-agent.ts +177 -0
  829. package/src/runtime/compute-provider.ts +206 -0
  830. package/src/runtime/flows/learning.ts +25 -42
  831. package/src/runtime/index.ts +22 -0
  832. package/src/runtime/manager.ts +167 -23
  833. package/src/runtime/types.ts +41 -0
  834. package/src/search/evaluator.ts +29 -4
  835. package/src/search/index.ts +19 -0
  836. package/src/search/moe-gate.ts +304 -0
  837. package/src/search/refinement-loop.ts +106 -12
  838. package/src/search/router.ts +111 -4
  839. package/src/search/team-router.ts +459 -0
  840. package/src/session-bank/git-reader.ts +200 -0
  841. package/src/session-bank/index.ts +26 -0
  842. package/src/session-bank/parser.ts +548 -0
  843. package/src/session-bank/session-bank.ts +485 -0
  844. package/src/session-bank/types.ts +176 -0
  845. package/src/surfacing/index.ts +23 -0
  846. package/src/surfacing/publisher.ts +23 -0
  847. package/src/surfacing/skill-library.ts +31 -0
  848. package/src/surfacing/skill-publisher.ts +191 -0
  849. package/src/surfacing/sqlite-storage-adapter.ts +285 -0
  850. package/src/surfacing/team-skill-library.ts +610 -0
  851. package/src/types/config.ts +282 -0
  852. package/src/types/dataclaw.ts +99 -0
  853. package/src/types/huggingface-transformers.d.ts +12 -0
  854. package/src/types/index.ts +159 -0
  855. package/src/types/knowledge-graph.ts +246 -0
  856. package/src/types/knowledge.ts +388 -0
  857. package/src/types/memory.ts +30 -0
  858. package/src/types/playbook.ts +4 -0
  859. package/src/types/team-meta.ts +212 -0
  860. package/src/types/team-playbook.ts +384 -0
  861. package/src/types/team-trajectory.ts +673 -0
  862. package/src/types/trajectory-source.ts +47 -0
  863. package/src/utils/error-classifier.ts +113 -0
  864. package/src/utils/frontmatter.ts +118 -0
  865. package/src/utils/index.ts +25 -0
  866. package/src/utils/partitioned-store.ts +299 -0
  867. package/src/utils/trajectory-helpers.ts +79 -0
  868. package/src/workspace/index.ts +48 -0
  869. package/src/workspace/runner.ts +281 -0
  870. package/src/workspace/skill-converter.ts +288 -0
  871. package/src/workspace/templates/index.ts +64 -0
  872. package/src/workspace/templates/knowledge-defrag.ts +223 -0
  873. package/src/workspace/templates/knowledge-extraction.ts +337 -0
  874. package/src/workspace/templates/meta-reflection.ts +208 -0
  875. package/src/workspace/templates/playbook-extraction.ts +240 -0
  876. package/src/workspace/templates/refinement-analysis.ts +162 -0
  877. package/src/workspace/templates/solution-evaluation.ts +199 -0
  878. package/src/workspace/templates/team-playbook-extraction.ts +631 -0
  879. package/src/workspace/templates/team-trajectory-analysis.ts +564 -0
  880. package/src/workspace/templates/trajectory-analysis.ts +234 -0
  881. package/src/workspace/templates/usage-inference.ts +163 -0
  882. package/src/workspace/types.ts +241 -0
  883. package/tests/atlas-knowledge.test.ts +165 -0
  884. package/tests/embeddings/inverted-index.test.ts +138 -0
  885. package/tests/feature-toggles.test.ts +275 -0
  886. package/tests/gap-fixes.test.ts +1116 -0
  887. package/tests/integration/cli-e2e.test.ts +621 -0
  888. package/tests/integration/dataclaw-e2e.test.ts +559 -0
  889. package/tests/integration/e2e.test.ts +412 -4
  890. package/tests/integration/entire-e2e.test.ts +376 -0
  891. package/tests/integration/huggingface-e2e.test.ts +627 -0
  892. package/tests/integration/persistence-e2e.test.ts +741 -0
  893. package/tests/integration/phase-e2e.test.ts +1143 -0
  894. package/tests/integration/session-bank.test.ts +231 -0
  895. package/tests/integration/sessionlog-e2e.test.ts +329 -0
  896. package/tests/integration/skill-tree-wiring.test.ts +152 -0
  897. package/tests/integration/unified-pipeline-e2e.test.ts +634 -0
  898. package/tests/learning/analyzer.test.ts +1 -1
  899. package/tests/learning/dataclaw-trajectory-source.test.ts +642 -0
  900. package/tests/learning/energy-evaluator.test.ts +180 -0
  901. package/tests/learning/entire-trajectory-source.test.ts +380 -0
  902. package/tests/learning/healing-orchestrator.test.ts +269 -0
  903. package/tests/learning/huggingface-trajectory-source.test.ts +817 -0
  904. package/tests/learning/instant-loop.test.ts +243 -0
  905. package/tests/learning/knowledge-extractor.test.ts +491 -0
  906. package/tests/learning/maintenance-scheduler.test.ts +191 -0
  907. package/tests/learning/reflexion-generator.test.ts +411 -0
  908. package/tests/learning/team-ingester.test.ts +349 -0
  909. package/tests/learning/team-meta-learner.test.ts +618 -0
  910. package/tests/learning/team-pipeline.test.ts +334 -0
  911. package/tests/learning/trajectory-sources.test.ts +320 -0
  912. package/tests/learning/unified-pipeline.test.ts +322 -0
  913. package/tests/mcp/playbook-server.test.ts +6 -1
  914. package/tests/memory/causal-store.test.ts +276 -0
  915. package/tests/memory/coherence.test.ts +232 -0
  916. package/tests/memory/experience.test.ts +8 -3
  917. package/tests/memory/graph-layers/semantic.test.ts +219 -0
  918. package/tests/memory/knowledge-bank-extraction.test.ts +558 -0
  919. package/tests/memory/knowledge-bank.test.ts +705 -0
  920. package/tests/memory/knowledge-defrag.test.ts +366 -0
  921. package/tests/memory/knowledge-evolution.test.ts +563 -0
  922. package/tests/memory/knowledge-graph.test.ts +492 -0
  923. package/tests/memory/knowledge-inbox.test.ts +258 -0
  924. package/tests/memory/knowledge-minimem.test.ts +251 -0
  925. package/tests/memory/playbook.test.ts +307 -1
  926. package/tests/memory/provenance.test.ts +11 -2
  927. package/tests/memory/reasoning-bank.test.ts +239 -0
  928. package/tests/memory/reflexion.test.ts +166 -0
  929. package/tests/memory/skill-exporter.test.ts +475 -0
  930. package/tests/memory/system.test.ts +6 -1
  931. package/tests/memory/team-experience.test.ts +411 -0
  932. package/tests/memory/temporal-compressor.test.ts +318 -0
  933. package/tests/persistence/migrator.test.ts +1009 -0
  934. package/tests/persistence/sqlite-persistence.test.ts +635 -0
  935. package/tests/runtime/agent-manager.test.ts +7 -2
  936. package/tests/runtime/compute-provider.test.ts +288 -0
  937. package/tests/runtime/delegate.test.ts +354 -0
  938. package/tests/runtime/macro-agent-backend.test.ts +266 -0
  939. package/tests/search/moe-gate.test.ts +250 -0
  940. package/tests/search/refinement-loop.test.ts +11 -2
  941. package/tests/search/router.test.ts +81 -2
  942. package/tests/search/team-router.test.ts +376 -0
  943. package/tests/session-bank/fixtures/multi-tool-session/full.jsonl +12 -0
  944. package/tests/session-bank/fixtures/multi-tool-session/metadata.json +28 -0
  945. package/tests/session-bank/fixtures/root-metadata.json +18 -0
  946. package/tests/session-bank/fixtures/sessionlog-root-metadata.json +16 -0
  947. package/tests/session-bank/fixtures/sessionlog-session/full.jsonl +6 -0
  948. package/tests/session-bank/fixtures/sessionlog-session/metadata.json +55 -0
  949. package/tests/session-bank/fixtures/simple-session/full.jsonl +6 -0
  950. package/tests/session-bank/fixtures/simple-session/metadata.json +38 -0
  951. package/tests/session-bank/git-reader.test.ts +232 -0
  952. package/tests/session-bank/parser.test.ts +453 -0
  953. package/tests/session-bank/session-bank.test.ts +546 -0
  954. package/tests/surfacing/skill-library.test.ts +6 -1
  955. package/tests/surfacing/skill-publisher.test.ts +364 -0
  956. package/tests/surfacing/sqlite-storage-adapter.test.ts +206 -0
  957. package/tests/surfacing/team-skill-library.test.ts +444 -0
  958. package/tests/types/team-meta.test.ts +147 -0
  959. package/tests/types/team-playbook.test.ts +246 -0
  960. package/tests/types/team-trajectory.test.ts +557 -0
  961. package/tests/utils/frontmatter.test.ts +208 -0
  962. package/tests/utils/partitioned-store.test.ts +230 -0
  963. package/tests/workspace/full-flow.test.ts +845 -0
  964. package/tests/workspace/manager.test.ts +215 -0
  965. package/tests/workspace/runner.test.ts +336 -0
  966. package/tests/workspace/skill-converter.test.ts +205 -0
  967. package/tests/workspace/templates/knowledge-extraction.test.ts +235 -0
  968. package/tests/workspace/templates/team-playbook-extraction.test.ts +341 -0
  969. package/tests/workspace/templates/team-trajectory-analysis.test.ts +417 -0
  970. package/src/learning/llm-extractor.ts +0 -542
  971. package/src/learning/pipeline.ts +0 -244
  972. package/tests/learning/pipeline.test.ts +0 -176
package/README.md CHANGED
@@ -1,29 +1,43 @@
1
- # Atlas
2
-
3
- **Adaptive Trajectory Learning and Abstraction System**
4
-
5
- A TypeScript-native cognitive core for building AI agents that learn from experience. Atlas extracts strategies, concepts, and skills from problem-solving trajectories to improve future performance.
6
-
7
- ## Features
8
-
9
- - **Memory System**: Four complementary memory types for different abstraction levels
10
- - **Experience Memory** (ReMem-style): Task-level retrieval of similar past experiences
11
- - **Concept Library** (Stitch/LILO-style): Reusable code patterns and abstractions
12
- - **Strategy Bank** (ArcMemo-style): High-level reasoning patterns
13
- - **Skill Store** (Claudeception-inspired): Actionable skills with specific triggers
14
-
15
- - **Learning Engine**: Automatic extraction of knowledge from trajectories
16
- - Credit assignment for identifying key steps
17
- - Pattern extraction using text analysis or LLM agents
18
- - Deduplication to prevent redundant learning
19
-
20
- - **Agent-Based Extractors**: LLM-powered extraction of:
21
- - Strategies (when/what rules)
22
- - Code concepts (reusable patterns)
23
- - Skills (concrete solutions with triggers)
24
-
25
- - **Task Router**: Smart routing based on memory similarity
26
- - **Lightweight Persistence**: JSON file-based storage
1
+ # cognitive-core
2
+
3
+ A TypeScript learning system for AI agents. Records how agents solve problems, extracts reusable playbooks and factual knowledge from trajectories, and injects relevant guidance into future tasks.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Motivation](#motivation)
8
+ - [Installation](#installation)
9
+ - [Quick Start](#quick-start)
10
+ - [How It Works](#how-it-works)
11
+ - [Knowledge Bank](#knowledge-bank)
12
+ - [Learning Pipeline](#learning-pipeline)
13
+ - [Three-Speed Pipeline Detail](#three-speed-learning-pipeline)
14
+ - [CLI](#cli)
15
+ - [Agent Backends](#agent-backends)
16
+ - [Skill Library](#skill-library)
17
+ - [Session Bank](#session-bank)
18
+ - [Workspace Templates](#workspace-templates)
19
+ - [Configuration](#configuration)
20
+ - [Core Types](#core-types)
21
+ - [Research References](#research-references)
22
+ - [Limitations](#limitations)
23
+ - [Contributing](#contributing)
24
+ - [License](#license)
25
+
26
+ ## Motivation
27
+
28
+
29
+ cognitive-core gives agents persistent, structured memory:
30
+
31
+ 1. **Trajectories** record what the agent did (ReAct-style thought/action/observation steps)
32
+ 2. **Playbooks** distill trajectories into reusable guidance (strategy, tactics, verification criteria)
33
+ 3. **Knowledge Bank** extracts and organizes factual knowledge — what agents learn about tools, libraries, and patterns
34
+ 4. **Routing** matches incoming tasks to relevant playbooks before the agent starts working, using a learned MoE gating function
35
+ 5. **Meta-learning** tracks which playbooks helped and adjusts routing over time
36
+ 6. **Three-speed learning** — immediate per-trajectory updates (<200ms), energy-triggered batch extraction, and circadian-gated maintenance — all managed by a single `UnifiedLearningPipeline`
37
+ 7. **Temporal compression** — experiences flow through Hot/Warm/Cold/Evicted tiers based on access frequency, keeping memory bounded
38
+ 8. **Unified persistence** — all system state lives in a single SQLite database with WAL mode, including learned MoE routing weights, experience clusters, and playbook version history that survive restarts
39
+
40
+ The result: agents that get measurably better at recurring problem types without fine-tuning or prompt engineering.
27
41
 
28
42
  ## Installation
29
43
 
@@ -31,333 +45,905 @@ A TypeScript-native cognitive core for building AI agents that learn from experi
31
45
  npm install cognitive-core
32
46
  ```
33
47
 
48
+ Requires Node.js 22+.
49
+
34
50
  ## Quick Start
35
51
 
36
- ### Using with Agent Backends (Recommended)
52
+ ### Solve a task with memory-augmented agents
37
53
 
38
54
  ```typescript
39
55
  import { createAtlasWithAgents, createTask, createMockBackend } from 'cognitive-core';
40
56
 
41
- // Create Atlas with agent backends
42
57
  const atlas = createAtlasWithAgents(
43
- [createMockBackend()], // Use mock backend for testing
44
- { storage: { baseDir: '.atlas' } }
58
+ [createMockBackend()],
59
+ { storage: { baseDir: '.cognitive-core' } }
45
60
  );
46
61
 
47
- // Initialize (loads persisted data)
48
62
  await atlas.init();
49
63
 
50
- // Create and solve a task
51
- const task = createTask({
64
+ const result = await atlas.solve(createTask({
52
65
  domain: 'code',
53
- description: 'Write a function that checks if a number is prime',
54
- });
55
-
56
- const result = await atlas.solve(task);
57
- console.log('Success:', result.trajectory.outcome.success);
58
- console.log('Routing strategy:', result.routing?.strategy);
59
- console.log('Used refinement:', !!result.refinement);
66
+ description: 'Fix the TypeScript compilation error in auth.ts',
67
+ }));
60
68
 
61
- // Get stats
62
- const stats = await atlas.getStats();
63
- console.log('Memory stats:', stats.memory);
64
- console.log('Backends:', stats.execution?.backends);
69
+ console.log(result.trajectory.outcome.success); // true
70
+ console.log(result.routing?.strategy); // 'direct' | 'adapt' | 'explore' | 'fallback'
71
+ console.log(result.injectedPlaybooks?.length); // number of playbooks injected
65
72
 
66
- // Close (persists data)
67
73
  await atlas.close();
68
74
  ```
69
75
 
70
- ### Setting Up Real Agent Backends
76
+ ### Feed trajectories from external agents
77
+
78
+ cognitive-core can learn from trajectories produced by external agents. Record what happened elsewhere and feed it in.
71
79
 
72
80
  ```typescript
73
- import {
74
- createAtlasWithAgents,
75
- createSubprocessBackend,
76
- createTask
77
- } from 'cognitive-core';
78
-
79
- // Create a subprocess backend for Claude Code or other CLI agents
80
- const claudeBackend = createSubprocessBackend({
81
- name: 'claude-code',
82
- command: 'claude',
83
- args: ['--print'],
84
- supportedTypes: ['claude-code', 'default'],
81
+ import { createAtlas, createTrajectory, createTask, createStep, successOutcome } from 'cognitive-core';
82
+
83
+ const atlas = createAtlas({ storage: { baseDir: '.cognitive-core' } });
84
+ await atlas.init();
85
+
86
+ const trajectory = createTrajectory({
87
+ task: createTask({
88
+ domain: 'code',
89
+ description: 'Fix the null pointer exception in user service',
90
+ }),
91
+ steps: [
92
+ createStep({
93
+ thought: 'Check where the null value originates',
94
+ action: 'Read src/services/user.ts',
95
+ observation: 'getUserById returns undefined when user not found',
96
+ }),
97
+ createStep({
98
+ thought: 'Add a guard clause before accessing user properties',
99
+ action: 'Edit src/services/user.ts to add null check',
100
+ observation: 'Added: if (!user) return null',
101
+ }),
102
+ ],
103
+ outcome: successOutcome('Fixed by adding null check in getUserById'),
104
+ agentId: 'claude-code',
85
105
  });
86
106
 
87
- // Create Atlas with real backends
88
- const atlas = createAtlasWithAgents([claudeBackend], {
89
- storage: { baseDir: '.atlas' },
90
- execution: {
91
- defaultAgentType: 'claude-code',
92
- maxExecutionTime: 300, // 5 minutes
93
- captureToolCalls: true,
94
- },
95
- refinement: {
96
- useAgentEvaluation: true,
97
- maxIterations: 3,
98
- },
107
+ const result = await atlas.processTrajectory(trajectory);
108
+ // result.instantLoop.experienceId — stored experience
109
+ // result.batchTriggered — whether batch learning was auto-triggered
110
+ // result.maintenanceTriggered — whether maintenance cycle ran
111
+
112
+ await atlas.close();
113
+ ```
114
+
115
+ ### Query memory directly
116
+
117
+ ```typescript
118
+ const context = await atlas.queryMemory('typescript import resolution error', {
119
+ domains: ['code'],
120
+ includePlaybooks: true,
99
121
  });
100
122
 
101
- await atlas.init();
123
+ for (const { playbook, score } of context.playbooks) {
124
+ console.log(`${playbook.name} (${Math.round(score * 100)}% match)`);
125
+ console.log(` Strategy: ${playbook.guidance.strategy}`);
126
+ console.log(` Tactics: ${playbook.guidance.tactics.join(', ')}`);
127
+ }
128
+ ```
102
129
 
103
- // Solve with memory-augmented context
104
- const result = await atlas.solve(createTask({
105
- domain: 'code',
106
- description: 'Fix the TypeScript compilation error in auth.ts',
107
- }));
130
+ ## How It Works
131
+
132
+ ### Solve flow
133
+
134
+ Every call to `atlas.solve(task)` runs through this pipeline:
135
+
136
+ ```mermaid
137
+ flowchart TD
138
+ Task[Task arrives] --> Router[TaskRouter + MoEGate]
139
+
140
+ Router -->|queries| Memory[MemorySystem]
141
+ Memory --> Exp[ExperienceMemory]
142
+ Memory --> PB[PlaybookLibrary]
143
+ Memory --> KB[KnowledgeBank]
144
+ Memory --> Meta[MetaMemory]
145
+ Memory --> RB[ReasoningBank]
146
+ Memory --> CS[CausalStore]
147
+
148
+ Router --> Decision{RoutingDecision}
149
+
150
+ Decision --> Skills[SkillLibrary + KnowledgeBank surfacing]
151
+ Skills -->|injects playbooks + knowledge| Agent[AgentManager]
152
+ Agent --> Backend[Backend]
153
+ Backend -->|returns trajectory| Session[AgentSession]
154
+
155
+ Session --> Check{Succeeded?}
156
+ Check -->|Yes| PostExec[Post-execution]
157
+ Check -->|No| Refine{Retry?}
158
+ Refine -->|Yes, max 3x| Agent
159
+ Refine -->|No| PostExec
160
+
161
+ PostExec --> Usage[PlaybookUsageInference]
162
+ PostExec --> MetaReflect[MetaLearner reflection]
163
+ PostExec --> Effective[EffectivenessTracker annotate]
164
+
165
+ PostExec --> Pipeline[UnifiedLearningPipeline]
166
+
167
+ Pipeline --> Immediate[Speed 1: Immediate]
168
+ Immediate --> Store[Store experience]
169
+ Immediate --> Bump[Bump playbook confidence]
170
+ Immediate --> QuickK[Extract knowledge notes]
171
+ Immediate --> Causal[Extract causal edges]
172
+ Immediate --> Reflexion[Generate reflexion episode]
173
+
174
+ Pipeline --> Energy{EnergyEvaluator}
175
+ Energy -->|threshold reached| Batch[Speed 2: Batch]
176
+ Energy -->|below threshold| Done[Done]
177
+ Batch --> Extract[PlaybookExtractor]
178
+ Batch --> DeepK[Batch knowledge extraction]
179
+ Batch --> Compress[TemporalCompressor]
180
+ Batch --> Cluster[ReasoningBank re-cluster]
181
+ Batch --> Prune[ExperienceMemory prune]
182
+
183
+ Batch --> MaintCheck{Maintenance due?}
184
+ MaintCheck -->|Yes| Maint[Speed 3: Maintenance]
185
+ MaintCheck -->|No| Done
186
+ Maint --> Heal[HealingOrchestrator]
187
+ Maint --> Defrag[Knowledge defrag]
188
+ Maint --> MetaStrat[Meta-strategy generation]
189
+ Maint --> Done
190
+
191
+ Done -.->|next task| Router
192
+ ```
193
+
194
+ ### Post-execution subsystems
195
+
196
+ After every `solve()` call, three subsystems run synchronously on the trajectory before it enters the learning pipeline. These require the `RoutingDecision` and injected playbook context, so they **only run via `solve()`** — not via `processTrajectory()`.
197
+
198
+ | Subsystem | What it does |
199
+ |-----------|--------------|
200
+ | **PlaybookUsageInference** | Infers which injected playbooks were actually used by the agent. Records outcomes to SkillLibrary for tier management. |
201
+ | **MetaLearner** | Generates a meta-reflection on routing/retrieval effectiveness. Stores observations and periodically generates meta-strategies. |
202
+ | **EffectivenessTracker** | Annotates the trajectory with which playbooks were surfaced vs. applied and which experiences were retrieved. |
203
+
204
+ All three use workspace templates (LLM-assisted) when an `AgenticTaskRunner` is set, with heuristic fallback otherwise.
205
+
206
+ ### Three-speed learning pipeline
207
+
208
+ All learning is managed by the `UnifiedLearningPipeline`, which consolidates InstantLoop, batch extraction, energy-based triggering, maintenance scheduling, and healing into a single orchestrator.
209
+
210
+ #### Speed 1: Immediate (<200ms, no LLM)
211
+
212
+ Fires on **every trajectory**. The InstantLoop performs lightweight, synchronous updates:
213
+
214
+ | Operation | Target |
215
+ |-----------|--------|
216
+ | Store experience | ExperienceMemory |
217
+ | Bump matched playbook confidence | PlaybookLibrary |
218
+ | Extract lightweight knowledge notes | KnowledgeBank |
219
+ | Extract causal edges | CausalStore |
220
+ | Generate reflexion episode | ReflexionMemory |
221
+
222
+ After the instant loop, the trajectory is analyzed (heuristic or workspace template) and accumulated for batch.
223
+
224
+ #### Speed 2: Batch (energy-triggered)
225
+
226
+ Triggered by the `EnergyEvaluator` — not just a count threshold. The evaluator computes an energy score from signals:
227
+
228
+ | Signal | Weight | Trigger condition |
229
+ |--------|--------|-------------------|
230
+ | Count threshold | — | `pendingCount >= countThreshold` (default: `minTrajectories`) |
231
+ | Contradiction detected | 0.4 | Coherence checker flagged a conflict |
232
+ | Novel domain | 0.3 | First trajectory in an unseen domain |
233
+ | High error rate | 0.2 | Recent failure rate exceeds 60% |
234
+ | Pattern shift | 0.1 | External signal (e.g., from caller) |
235
+
236
+ Batch triggers when `pendingCount >= countThreshold` **or** `energy >= energyThreshold (0.7)`, subject to a debounce interval (`minIntervalMs`, default: 30s).
237
+
238
+ When batch runs:
239
+
240
+ 1. **Playbook extraction** — extract new playbooks from trajectory clusters, refine existing ones
241
+ 2. **Batch knowledge extraction** — richer than instant-loop extraction, covers all accumulated trajectories
242
+ 3. **Temporal compression** — promote/demote/evict experiences across Hot/Warm/Cold/Evicted tiers
243
+ 4. **Re-clustering** — ReasoningBank rebuilds K-means++ clusters from current experiences
244
+ 5. **Pruning** — ExperienceMemory prunes beyond `maxExperiences`
245
+ 6. **Meta-learning** — MetaLearner generates routing strategies
246
+
247
+ After batch completes, accumulated trajectories are cleared and the energy evaluator resets.
248
+
249
+ #### Speed 3: Maintenance (circadian-gated)
250
+
251
+ Runs after batch when the `MaintenanceScheduler` signals readiness. Three scheduling modes:
252
+
253
+ | Mode | When maintenance runs |
254
+ |------|----------------------|
255
+ | `manual` | Only via explicit `runMaintenance({ force: true })` |
256
+ | `afterNBatches` | After every N batch cycles (e.g., `batchInterval: 2`) |
257
+ | `periodic` | After a time interval since last maintenance |
258
+
259
+ Built-in maintenance tasks:
260
+
261
+ | Task | What it does |
262
+ |------|--------------|
263
+ | **healing-cycle** | `HealingOrchestrator` runs anomaly detectors (PlaybookDriftDetector, MemoryBloatDetector) and applies repair strategies |
264
+ | **knowledge-defrag** | KnowledgeBank merges duplicate/overlapping notes |
265
+ | **meta-strategy-generation** | MetaLearner generates new routing strategies from accumulated observations |
266
+
267
+ Custom maintenance tasks and anomaly detectors can be registered via `registerMaintenanceTask()` and `addAnomalyDetector()`.
268
+
269
+ #### `solve()` vs `processTrajectory()`
270
+
271
+ | | `atlas.solve(task)` | `atlas.processTrajectory(trajectory)` |
272
+ |---|---|---|
273
+ | **Routing** | Yes — TaskRouter + MoEGate | No |
274
+ | **Agent execution** | Yes — AgentManager + refinement | No (trajectory provided externally) |
275
+ | **Post-execution** | Yes — UsageInference, MetaLearner, EffectivenessTracker | No (requires routing context) |
276
+ | **Three-speed pipeline** | Yes | Yes |
277
+ | **Returns** | `SolveResult` (trajectory, routing, playbook usage) | `ImmediateResult` (instant loop, energy eval, batch/maintenance results) |
278
+
279
+ Use `solve()` when Atlas owns execution. Use `processTrajectory()` to feed in external trajectories — the full three-speed pipeline still runs, but post-execution subsystems that require routing context are skipped.
280
+
281
+ ### Playbook lifecycle
282
+
283
+ A playbook starts with low confidence (0.3) after extraction from a cluster of similar trajectories. Each time it's injected into an agent and the task succeeds, confidence grows. After enough successful uses (default: 5 successes, 80%+ success rate), it gets promoted to a **core skill** that's always in the system prompt. If it starts failing in specific contexts, the system records refinements rather than discarding the playbook entirely.
284
+
285
+ ```mermaid
286
+ stateDiagram-v2
287
+ [*] --> Extracted : pattern found across trajectories
288
+
289
+ Extracted --> Contextual : confidence above 0.3
290
+ Contextual --> Domain : tagged to domain
291
+
292
+ Contextual --> Contextual : success
293
+ Domain --> Domain : success
294
+
295
+ Domain --> Core : 0.85+ confidence, 5+ successes, 80%+ rate
296
+ Core --> Core : success
297
+
298
+ Core --> Domain : 3 consecutive failures
299
+ Domain --> Contextual : confidence drops
300
+
301
+ Contextual --> Refined : failure in specific context
302
+ Refined --> Contextual : refinement recorded
303
+ ```
304
+
305
+ ### Memory architecture
306
+
307
+ Seven memory stores serve different retrieval patterns:
308
+
309
+ ```mermaid
310
+ graph LR
311
+ subgraph MemorySystem
312
+ E[ExperienceMemory]
313
+ P[PlaybookLibrary]
314
+ K[KnowledgeBank]
315
+ M[MetaMemory]
316
+ RB[ReasoningBank]
317
+ CS[CausalStore]
318
+ RF[ReflexionMemory]
319
+ end
320
+
321
+ subgraph Search
322
+ II[InvertedIndex]
323
+ BM[BM25 Index]
324
+ VS[sqlite-vec]
325
+ TS[Text Similarity]
326
+ end
327
+
328
+ subgraph Providers
329
+ OAI[OpenAI]
330
+ VOY[Voyage]
331
+ HF[HuggingFace local]
332
+ MM[minimem optional]
333
+ end
334
+
335
+ E --> II
336
+ E --> BM
337
+ E --> VS
338
+ P --> II
339
+ P --> BM
340
+ P --> VS
341
+ K --> TS
342
+ K -.-> MM
343
+ CS --> II
344
+ CS --> TS
345
+ RB --> TS
346
+ VS -.-> OAI
347
+ VS -.-> VOY
348
+ VS -.-> HF
349
+
350
+ subgraph Storage
351
+ SQL[SQLite — cognitive-core.db]
352
+ MD[Markdown + YAML]
353
+ SKILL[SQLite — skills.db]
354
+ end
355
+
356
+ E --> SQL
357
+ P --> SQL
358
+ M --> SQL
359
+ CS --> SQL
360
+ RF --> SQL
361
+ RB -.->|system_state| SQL
362
+ VS --> SQL
363
+ K --> MD
108
364
  ```
109
365
 
110
- ## Architecture
366
+ | Store | Purpose | Format |
367
+ |-------|---------|--------|
368
+ | **ExperienceMemory** | Episodic — *what happened* | SQLite |
369
+ | **PlaybookLibrary** | Procedural — *how to do things* | SQLite (with version history) |
370
+ | **KnowledgeBank** | Semantic — *facts, concepts, relationships* | Markdown + YAML frontmatter |
371
+ | **MetaMemory** | Meta-learning — *what worked* | SQLite |
372
+ | **ReasoningBank** | Clustered experience retrieval (K-means++) | SQLite (system_state) |
373
+ | **CausalStore** | Cause-effect relationships | SQLite |
374
+ | **ReflexionMemory** | Structured self-reflections | SQLite |
375
+
376
+ ### Candidate retrieval
377
+
378
+ All memory stores use a shared two-phase retrieval pattern:
379
+
380
+ 1. **InvertedIndex narrowing** — tokenize the query, find candidate IDs via posting lists (fast, O(query tokens))
381
+ 2. **Fallback to full scan** — if the index returns fewer candidates than needed, fall back to the full store or domain partition
382
+
383
+ This is implemented once in `memory/candidate-retrieval.ts` and shared by ExperienceMemory, PlaybookLibrary, and CausalStore.
384
+
385
+ ### Search and matching
386
+
387
+ Memory search uses BM25 text matching by default. For higher-quality retrieval, plug in an embedding provider (OpenAI, Voyage, or local via `@huggingface/transformers`) and cognitive-core switches to hybrid BM25 + vector search backed by `sqlite-vec`.
388
+
389
+ Knowledge bank search uses text similarity by default, with optional delegation to [minimem](https://github.com/alexngai/minimem) for hybrid vector + BM25 search when available.
390
+
391
+ ### MoE routing gate
392
+
393
+ The TaskRouter uses a **Mixture-of-Experts inspired gating function** to select routing strategies. Instead of fixed threshold rules, a learned linear gate computes `softmax(W · features)` over the four strategies (direct, adapt, explore, fallback). Weights are updated online from outcome feedback, with per-domain specialization. Cold start falls back to uniform weights (equivalent to the original threshold logic).
394
+
395
+ ### Temporal compression
396
+
397
+ Experiences flow through four tiers based on their access frequency:
398
+
399
+ | Tier | Fidelity | Threshold |
400
+ |------|----------|-----------|
401
+ | **Hot** | Full data preserved | accessScore > 0.5 |
402
+ | **Warm** | Key steps only (solutionOutput stripped) | accessScore > 0.2 |
403
+ | **Cold** | Single-paragraph summary | accessScore > 0.05 |
404
+ | **Evicted** | Removed (pattern captured in ReasoningBank) | accessScore < 0.05 |
405
+
406
+ Hysteresis prevents oscillation: an experience must stay below a threshold for 2 consecutive compression passes before demotion.
407
+
408
+ ### Coherence checking
409
+
410
+ Before inserting new knowledge notes, the `CoherenceChecker` detects contradictions using a simplified sheaf-inspired approach:
411
+
412
+ 1. Filter existing notes to the same entity/domain
413
+ 2. Compute text similarity between new and candidate notes
414
+ 3. Detect sentiment conflicts via negation heuristics (e.g., "always" vs "never", "use" vs "avoid")
415
+ 4. Flag contradictions where `residualEnergy = similarity × sentimentConflict` exceeds threshold
416
+
417
+ ## Knowledge Bank
418
+
419
+ The knowledge bank is a **semantic memory** store for facts, concepts, and relationships that agents learn from experience. While playbooks capture *how* to do things, the knowledge bank captures *what agents know* — facts about tools, libraries, version-specific behavior, and causal relationships.
420
+
421
+ ### Knowledge note types
422
+
423
+ | Type | Purpose | Example |
424
+ |------|---------|---------|
425
+ | **Observation** | Atomic fact learned from experience | "Prisma requires `db push` before `migrate dev` when schema has drifted" |
426
+ | **Entity** | Living document about a tool/library/pattern | "Everything I know about Prisma" |
427
+ | **Domain summary** | High-level overview of a knowledge domain | "Database knowledge overview" |
428
+
429
+ ### How knowledge is stored
430
+
431
+ Knowledge notes are plain Markdown files with structured YAML frontmatter, organized on the filesystem:
111
432
 
112
433
  ```
113
- Atlas
114
- ├── Memory System
115
- ├── ExperienceMemory # Task-level retrieval (k=4)
116
- │ ├── PlaybookLibrary # Actionable playbooks with triggers
117
- │ └── MetaMemory # Meta-learning observations
118
-
119
- ├── Learning Engine
120
- │ ├── TrajectoryAnalyzer # Credit assignment
121
- │ ├── PlaybookExtractor # Pattern discovery & playbook creation
122
- │ ├── MetaLearner # Adaptive routing improvements
123
- │ ├── UsageInference # Track playbook effectiveness
124
- │ └── LearningPipeline # Batch learning orchestration
125
-
126
- ├── Surfacing
127
- │ ├── SkillLibrary # Tiered skill management (core/domain/contextual)
128
- │ └── PlaybookMCPServer # MCP protocol for on-demand access
129
-
130
- ├── Runtime
131
- │ ├── AgentManager # Spawn and observe agents
132
- │ ├── Backends # Mock, Subprocess, ACP backends
133
- │ └── KnowledgeInjector # Format memory for agent context
134
-
135
- ├── Search/Routing
136
- │ ├── TaskRouter # Smart routing with meta-learning
137
- │ ├── RefinementLoop # Iterative solution improvement
138
- │ └── SolutionEvaluator # Quality assessment
139
-
140
- └── Integration
141
- └── skill-tree # Federated skill library management
434
+ knowledge/
435
+ ├── observations/ # Atomic facts (k-*.md)
436
+ ├── entities/ # Living entity docs (prisma.md, vitest.md)
437
+ └── domains/ # Domain summaries (database.md, testing.md)
142
438
  ```
143
439
 
144
- ## Core Types
440
+ Any agent with filesystem access can browse, grep, and read knowledge directly — no special API required.
145
441
 
146
- ### Task
147
- ```typescript
148
- interface Task {
149
- id: string;
150
- domain: string; // e.g., 'code', 'reasoning', 'arc'
151
- description: string;
152
- context: Record<string, unknown>;
153
- verification?: VerificationSpec;
154
- }
442
+ ### Multi-layer knowledge graph
443
+
444
+ Relationships between knowledge notes are tracked in a multi-layer graph overlay (inspired by [MAGMA](https://arxiv.org/abs/2601.03236)):
445
+
446
+ | Layer | Captures | Example |
447
+ |-------|----------|---------|
448
+ | **Semantic** | Conceptual relationships | "Prisma *depends-on* PostgreSQL" |
449
+ | **Temporal** | When knowledge was learned | "Observation A *supersedes* B" |
450
+ | **Causal** | Cause-effect chains | "Upgrading TS 5.4 *broke* enum const exports" |
451
+ | **Entity** | Tool/component interactions | "Next.js *uses* React" |
452
+
453
+ ### Knowledge lifecycle
454
+
455
+ ```
456
+ Trajectory → KnowledgeExtractor → Observations (confidence: 0.3)
457
+
458
+ reinforced by more trajectories
459
+
460
+ Observations (confidence: 0.5-0.8)
461
+
462
+ consolidated into entity notes
463
+
464
+ Entity Notes (living docs)
465
+
466
+ domain summaries regenerated
467
+
468
+ Domain Summaries
155
469
  ```
156
470
 
157
- ### Trajectory
471
+ Knowledge evolves through:
472
+ - **Reinforcement** — same fact observed again increases confidence
473
+ - **Contradiction detection** — conflicting facts are flagged by the CoherenceChecker and resolved
474
+ - **Consolidation** — observations about the same entity merge into entity notes
475
+ - **Decay** — unvalidated knowledge gradually loses confidence
476
+ - **Defragmentation** — the KnowledgeDefragmenter merges duplicate/overlapping notes
477
+
478
+ ### Knowledge surfacing
479
+
480
+ During `atlas.solve()`, relevant knowledge is surfaced alongside playbooks as an independent context section:
481
+
158
482
  ```typescript
159
- interface Trajectory {
160
- id: string;
161
- task: Task;
162
- steps: Step[]; // ReAct-style steps
163
- outcome: Outcome;
164
- agentId: string;
165
- llmCalls: number;
166
- totalTokens: number;
167
- wallTimeSeconds: number;
168
- }
483
+ const result = await atlas.solve(task);
484
+ console.log(result.surfacedKnowledge?.length); // knowledge notes injected
169
485
  ```
170
486
 
171
- ### Strategy
172
- ```typescript
173
- interface Strategy {
174
- situation: string; // When to apply
175
- suggestion: string; // What to do
176
- parameters: Parameter[];
177
- confidence: number;
178
- successRate: number;
179
- }
487
+ Three-tier retrieval:
488
+ 1. **Domain match** — if the task domain matches a knowledge domain, include the domain summary
489
+ 2. **Entity match** — if the task mentions known entities, include their notes
490
+ 3. **Semantic match** text similarity search for contextually relevant observations
491
+
492
+ ### minimem integration
493
+
494
+ When [minimem](https://github.com/alexngai/minimem) is available, the knowledge bank can delegate search to minimem's hybrid search (vector + BM25) for higher-quality retrieval. Set `minimemAware: true` in config to enable. The two systems communicate via file conventions only — no cross-package imports.
495
+
496
+ See [Design Doc](docs/DESIGN-semantic-memory-knowledge-bank.md) for the full architecture.
497
+
498
+ ## Learning Pipeline
499
+
500
+ ### Knowledge extraction
501
+
502
+ The `KnowledgeExtractor` runs four heuristic strategies per trajectory:
503
+
504
+ 1. **Error patterns** — extracts observations from error signatures and suggested fixes
505
+ 2. **Config facts** — detects reads/writes of config files (package.json, tsconfig, etc.) and captures versions
506
+ 3. **Causal chains** — identifies failure→recovery step sequences and creates causal links
507
+ 4. **Entity identification** — matches known entities in observations and produces entity updates
508
+
509
+ ### Reflexion generation
510
+
511
+ The `ReflexionGenerator` creates structured self-reflection episodes from completed trajectories. Each episode includes:
512
+ - Outcome classification (success/partial/failure)
513
+ - Self-critique (wasted effort, thrashing detection)
514
+ - Key insights (tools used, file paths, error patterns)
515
+ - Strategy assessment against matched playbooks
516
+ - Suggested playbook updates
517
+
518
+ ### Shared utilities
519
+
520
+ Common analysis patterns are consolidated into shared utilities to avoid duplication:
521
+
522
+ | Utility | Used by |
523
+ |---------|---------|
524
+ | `classifyError()` / `classifyErrorType()` | TrajectoryAnalyzer, ReflexionGenerator |
525
+ | `detectRepeatedActions()` | TrajectoryAnalyzer, ReflexionGenerator, MetaLearner |
526
+ | `extractToolNames()` | ReflexionGenerator, MetaLearner |
527
+ | `getCandidates()` | ExperienceMemory, PlaybookLibrary, CausalStore |
528
+
529
+ ## CLI
530
+
531
+ cognitive-core ships a CLI for operating the learning system — ingesting trajectories, querying memory, and running maintenance. Available as both `cogcore` (short) and `cognitive-core`.
532
+
533
+ ```bash
534
+ npm install -g cognitive-core
535
+ cogcore help
536
+ ```
537
+
538
+ ### Daemon mode
539
+
540
+ The primary operational command. Polls SessionLog for new coding sessions and feeds them through the learning pipeline automatically.
541
+
542
+ ```bash
543
+ # Continuous mode — watch for new sessions and process them
544
+ cogcore run --repo /path/to/repo --interval 30
545
+
546
+ # One-shot mode — process all unprocessed sessions and exit
547
+ cogcore run --once --repo /path/to/repo
548
+ ```
549
+
550
+ The flow: `SessionBank.discover()` → filter unprocessed → `SessionTrajectorySource.synthesize()` → `atlas.processTrajectory()` → `bank.markProcessed()`. Supports graceful shutdown via SIGINT/SIGTERM.
551
+
552
+ ### Playbook commands
553
+
554
+ ```bash
555
+ # Initialize storage
556
+ cogcore init
557
+
558
+ # Store a trajectory from a JSON file
559
+ cogcore store ./trajectory.json
560
+
561
+ # Search for relevant playbooks
562
+ cogcore search "fix typescript import errors" --domain code
563
+ # Found 2 playbook(s) matching "fix typescript import errors":
564
+ #
565
+ # Match: 92% (trigger)
566
+ # ## typescript-import-resolution
567
+ # Confidence: 85%
568
+ # Strategy: Check tsconfig.json paths configuration
569
+
570
+ # Get full playbook details
571
+ cogcore get playbook-abc123
572
+
573
+ # List domains with playbook counts
574
+ cogcore domains
575
+
576
+ # View system statistics
577
+ cogcore stats
578
+ ```
579
+
580
+ ### Knowledge bank
581
+
582
+ Query and manage the semantic memory store (observations, entities, domain summaries).
583
+
584
+ ```bash
585
+ cogcore kb search "prisma migration"
586
+ cogcore kb list # all notes
587
+ cogcore kb list --type entities # entity notes only
588
+ cogcore kb list --type domains # domain summaries only
589
+ cogcore kb get prisma # by ID, entity name, or domain name
590
+ cogcore kb stats # observation/entity/domain counts, graph stats
591
+ cogcore kb defrag # deduplicate, process inbox, run decay
592
+ ```
593
+
594
+ ### Sessions
595
+
596
+ Inspect SessionLog checkpoint data from git orphan branches. SessionBank is standalone — it reads directly from the git repo without Atlas.
597
+
598
+ ```bash
599
+ cogcore sessions list --repo .
600
+ cogcore sessions get 2026-02-15-aabbccdd-1122-3344-5566-778899aabbcc
601
+ cogcore sessions query --agent "Claude Code" --since 2026-01-01 --limit 10
602
+ ```
603
+
604
+ ### Learning pipeline
605
+
606
+ Operator controls for the three-speed learning pipeline.
607
+
608
+ ```bash
609
+ cogcore learn stats # processed count, pending, batch/maintenance cycles
610
+ cogcore learn batch # force batch learning on accumulated trajectories
611
+ cogcore learn maintenance # force maintenance cycle (defrag, healing, meta-strategies)
612
+ ```
613
+
614
+ ### Skill library
615
+
616
+ Inspect and manage the tiered skill system.
617
+
618
+ ```bash
619
+ cogcore skills list # all skills with tier, confidence, success rate
620
+ cogcore skills list --tier core # core skills only (always in system prompt)
621
+ cogcore skills list --tier domain # domain skills only
622
+ cogcore skills stats # core/domain counts, last refresh
623
+ cogcore skills refresh # trigger tier re-evaluation (promotions/demotions)
624
+ ```
625
+
626
+ ### Global options
627
+
628
+ All commands support these flags:
629
+
630
+ | Flag | Description |
631
+ |------|-------------|
632
+ | `--dir <path>` | Storage directory (default: `.cognitive-core`) |
633
+ | `--json` | Machine-readable JSON output |
634
+ | `--limit <n>` | Maximum results |
635
+ | `--domain <d>` | Filter by domain |
636
+ | `--repo <path>` | Git repository path (for sessions/run) |
637
+
638
+ ```bash
639
+ # Pipe JSON output to jq
640
+ cogcore search "debug async errors" --json | jq '.[0].strategy'
641
+ cogcore kb stats --json | jq '.observationCount'
180
642
  ```
181
643
 
182
- ### Skill
644
+ ## Agent Backends
645
+
646
+ cognitive-core delegates execution to backends that handle spawning, message passing, and trajectory extraction.
647
+
648
+ ### Subprocess backend
649
+
650
+ Spawns agents as child processes. Works with any CLI agent.
651
+
183
652
  ```typescript
184
- interface Skill {
185
- name: string;
186
- description: string; // Rich, for semantic matching
187
- problem: string;
188
- triggers: string[]; // Specific conditions
189
- solution: string[]; // Step-by-step
190
- verification?: string;
191
- }
653
+ import { createAtlasWithAgents, createSubprocessBackend, claudeCodeConfig } from 'cognitive-core';
654
+
655
+ const backend = createSubprocessBackend({
656
+ 'claude-code': claudeCodeConfig, // Pre-configured for Claude Code CLI
657
+ });
658
+
659
+ const atlas = createAtlasWithAgents([backend], {
660
+ execution: {
661
+ defaultAgentType: 'claude-code',
662
+ maxExecutionTime: 300,
663
+ captureToolCalls: true,
664
+ },
665
+ });
192
666
  ```
193
667
 
194
- ## Agent Backend System
668
+ ### ACP backend
195
669
 
196
- Atlas uses an agent backend system for real execution. Backends handle spawning, managing, and extracting trajectories from agents.
670
+ Uses the [Agent Communication Protocol](https://www.npmjs.com/package/acp-factory) for richer interaction with ACP-compatible agents.
197
671
 
198
- ### Creating Custom Backends
672
+ ```typescript
673
+ import { createACPBackend, claudeCodeACPConfig } from 'cognitive-core';
674
+
675
+ const backend = createACPBackend({
676
+ 'claude-code': claudeCodeACPConfig, // Uses npx claude-code-acp
677
+ });
678
+ ```
679
+
680
+ ### Custom backends
199
681
 
200
682
  Implement the `AgentBackend` interface:
201
683
 
202
684
  ```typescript
203
685
  import type { AgentBackend, AgentSpawnConfig, AgentSession } from 'cognitive-core';
204
686
 
205
- class MyAgentBackend implements AgentBackend {
687
+ class MyBackend implements AgentBackend {
206
688
  readonly name = 'my-agent';
207
- readonly supportedTypes = ['my-agent', 'custom'];
689
+ readonly supportedTypes = ['my-agent'];
208
690
 
209
- async isAvailable(): Promise<boolean> {
210
- // Check if agent is available
211
- return true;
212
- }
691
+ async isAvailable(): Promise<boolean> { return true; }
213
692
 
214
693
  async spawn(config: AgentSpawnConfig): Promise<AgentSession> {
215
- // Spawn the agent with task and injected knowledge
216
- const session = await launchMyAgent({
217
- task: config.task,
218
- systemPrompt: config.systemPromptAdditions,
219
- timeout: config.timeout,
220
- });
694
+ // config.task - the task to solve
695
+ // config.systemPromptAdditions - playbook context to inject
696
+ // config.timeout - max execution time
697
+ const session = await launchMyAgent(config);
221
698
  return session;
222
699
  }
223
700
 
224
- async getSession(sessionId: string): Promise<AgentSession | undefined> {
225
- // Get session status
226
- return this.sessions.get(sessionId);
227
- }
228
-
229
- async terminate(sessionId: string): Promise<void> {
230
- // Terminate a running session
231
- await this.sessions.get(sessionId)?.kill();
232
- }
701
+ async getSession(id: string): Promise<AgentSession | undefined> { /* ... */ }
702
+ async terminate(id: string): Promise<void> { /* ... */ }
233
703
  }
234
-
235
- // Register with Atlas
236
- const atlas = createAtlasWithAgents([new MyAgentBackend()]);
237
704
  ```
238
705
 
239
- ### Using the AgentManager Directly
706
+ ### Observing agent execution
240
707
 
241
708
  ```typescript
242
709
  const manager = atlas.getAgentManager();
243
710
 
244
- // Add observers for monitoring
245
711
  manager.addObserver({
246
712
  onSessionStart: (session) => console.log('Started:', session.id),
247
713
  onToolCall: (session, toolCall) => console.log('Tool:', toolCall.name),
248
- onSessionEnd: (session, trajectory) => console.log('Done:', trajectory.outcome.success),
714
+ onSessionEnd: (session, trajectory) => {
715
+ console.log('Done:', trajectory.outcome.success);
716
+ console.log('Steps:', trajectory.steps.length);
717
+ },
249
718
  });
719
+ ```
250
720
 
251
- // Compare with/without memory augmentation
252
- const comparison = await manager.compareWithKnowledge({
253
- agentType: 'claude-code',
254
- task: createTask({ domain: 'code', description: 'Fix the bug' }),
255
- });
721
+ ## Skill Library
722
+
723
+ The skill library manages how playbooks are surfaced to agents across four tiers:
724
+
725
+ | Tier | When loaded | Criteria |
726
+ |------|-------------|----------|
727
+ | **Core** | Always in system prompt | 85%+ confidence, 5+ successes, 80%+ success rate |
728
+ | **Domain** | When task domain matches | Domain-tagged playbooks |
729
+ | **Contextual** | When task query matches | Semantic/trigger match |
730
+ | **On-demand** | Agent explicitly requests | Available via CLI |
731
+
732
+ Playbooks are automatically promoted and demoted based on usage outcomes. Three consecutive failures trigger demotion review.
256
733
 
257
- console.log('Time saved:', comparison.improvement.timeDelta, 'ms');
258
- console.log('Fewer tool calls:', comparison.improvement.toolCallDelta);
734
+ ```typescript
735
+ const skills = await atlas.getSkillLibrary()?.getSkillsForAgent(task);
736
+ // skills.core - always-on playbooks
737
+ // skills.domain - relevant to task domain
738
+ // skills.contextual - matched to this specific task
259
739
  ```
260
740
 
261
- ### Legacy: LLM Provider (Deprecated)
741
+ ### skill-tree integration
262
742
 
263
- > **Note**: The `setProvider()` API is deprecated. Use `createAtlasWithAgents()` instead.
743
+ When `skillTree.enabled` is true (default), playbooks are published to a `skill-tree` SQLite database via `SqliteStorageAdapter`, making them available to external consumers.
264
744
 
265
- For simple testing without real agent execution:
745
+ ### Team skill library
266
746
 
267
- ```typescript
268
- import type { LLMProvider, Message, CompletionOptions } from 'cognitive-core';
269
-
270
- class MyProvider implements LLMProvider {
271
- readonly name = 'my-provider';
272
-
273
- async complete(
274
- messages: Message[],
275
- options?: CompletionOptions
276
- ): Promise<string> {
277
- const response = await myLLMAPI.chat({
278
- messages,
279
- temperature: options?.temperature,
280
- max_tokens: options?.maxTokens,
281
- });
282
- return response.content;
283
- }
284
- }
747
+ For multi-agent systems, the `TeamSkillLibrary` surfaces team-level and role-specific playbooks with ELO-based ranking from team outcome feedback.
748
+
749
+ ## Session Bank
285
750
 
286
- // Deprecated - prefer createAtlasWithAgents()
287
- atlas.setProvider(new MyProvider());
751
+ The session bank provides integration with the Claude Code CLI, enabling cognitive-core to learn from real coding sessions.
752
+
753
+ ```typescript
754
+ import { SessionBank, EntireGitReader, EntireTranscriptParser } from 'cognitive-core';
288
755
  ```
289
756
 
290
- ## Processing External Trajectories
757
+ Components:
758
+ - **EntireGitReader** — reads session transcripts from Claude Code's git-based storage
759
+ - **EntireTranscriptParser** — parses raw transcripts into structured `SessionRecord` objects
760
+ - **SessionBank** — manages session records with querying by date range, domain, and outcome
291
761
 
292
- You can feed trajectories from other agents:
762
+ The `EntireTrajectorySource` bridges session bank records into trajectories for the learning pipeline.
293
763
 
294
- ```typescript
295
- import { createTrajectory, createTask, createStep, successOutcome } from 'cognitive-core';
764
+ ## Workspace Templates
296
765
 
297
- const trajectory = createTrajectory({
298
- task: createTask({
299
- domain: 'code',
300
- description: 'Fix the authentication bug',
301
- }),
302
- steps: [
303
- createStep({
304
- thought: 'Need to check the token validation',
305
- action: 'Read auth.ts',
306
- observation: 'Found expired token check missing',
307
- }),
308
- createStep({
309
- thought: 'Adding expiry validation',
310
- action: 'Edit auth.ts to add token.exp check',
311
- observation: 'Token validation added',
312
- }),
313
- ],
314
- outcome: successOutcome('Fixed by adding token expiry check'),
315
- agentId: 'external-agent',
316
- });
766
+ The workspace system provides LLM-assisted analysis via structured templates. Each template defines inputs, outputs, and a processing prompt. The `AgenticTaskRunner` executes templates against a workspace.
317
767
 
318
- // Process for learning
319
- const result = await atlas.processTrajectory(trajectory);
320
- console.log('Abstractable:', result.abstractable);
321
- console.log('Strategy extracted:', result.strategyExtracted);
322
- ```
768
+ Available templates:
769
+
770
+ | Template | Purpose |
771
+ |----------|---------|
772
+ | `trajectory-analysis` | Deep trajectory analysis with LLM |
773
+ | `playbook-extraction` | Extract playbooks from trajectory clusters |
774
+ | `knowledge-extraction` | LLM-assisted knowledge extraction |
775
+ | `usage-inference` | Infer which playbooks were actually used |
776
+ | `meta-reflection` | Generate meta-learning observations |
777
+ | `solution-evaluation` | Evaluate solution quality |
778
+ | `refinement-analysis` | Analyze refinement opportunities |
779
+ | `knowledge-defrag` | Merge overlapping knowledge notes |
780
+ | `team-playbook-extraction` | Extract team-level playbooks |
781
+ | `team-trajectory-analysis` | Analyze multi-agent trajectories |
782
+
783
+ Templates can run in heuristic mode (no LLM, pattern matching only) or agentic mode (LLM-assisted, higher quality).
323
784
 
324
785
  ## Configuration
325
786
 
326
787
  ```typescript
327
- const atlas = createAtlas({
788
+ const atlas = createAtlasWithAgents([backend], {
789
+ storage: {
790
+ baseDir: '.cognitive-core',
791
+ dbName: 'cognitive-core.db', // SQLite database filename
792
+ persistenceEnabled: true,
793
+ },
328
794
  learning: {
329
- creditStrategy: 'simple', // 'simple' | 'llm' | 'counterfactual'
330
- patternExtractor: 'llm', // 'llm' | 'text' | 'both'
331
- minTrajectories: 10, // Before batch learning
332
- deduplicationThreshold: 0.9,
795
+ creditStrategy: 'simple', // 'simple' | 'contribution'
796
+ minTrajectories: 10, // batch learning threshold
797
+ deduplicationThreshold: 0.9, // prevent duplicate playbooks
333
798
  },
334
799
  router: {
335
- similarityThreshold: 0.85,
800
+ similarityThreshold: 0.85, // match confidence threshold
336
801
  useDomainRouting: true,
337
802
  },
338
803
  memory: {
339
- maxExperiences: 4, // ReMem paper default
340
- maxStrategies: 3,
341
- maxConcepts: 5,
342
- maxSkills: 3,
804
+ maxExperiences: 4, // k for experience retrieval
805
+ maxContextTokens: 4000,
806
+ capacity: {
807
+ maxExperiences: 1000, // total stored experiences
808
+ maxPlaybooks: 200,
809
+ autoPrune: true,
810
+ preserveDomainCoverage: true,
811
+ },
343
812
  },
344
- storage: {
345
- baseDir: '.atlas',
346
- persistenceEnabled: true,
813
+ knowledgeBank: {
814
+ enabled: true, // enable semantic memory (default: false)
815
+ memoryDir: 'memory',
816
+ extraction: {
817
+ enabled: true, // auto-extract from trajectories
818
+ useLlmExtraction: false, // use heuristic extraction
819
+ },
820
+ graph: {
821
+ enabledLayers: ['semantic'], // semantic | temporal | causal | entity
822
+ },
823
+ surfacing: {
824
+ maxNotesPerTask: 5,
825
+ maxTokensForKnowledge: 2000,
826
+ },
827
+ minimemAware: false, // set true if using minimem
828
+ },
829
+ execution: {
830
+ defaultAgentType: 'claude-code',
831
+ maxExecutionTime: 300,
832
+ captureToolCalls: true,
833
+ },
834
+ refinement: {
835
+ useAgentEvaluation: true,
836
+ maxIterations: 3,
837
+ acceptableScore: 0.7,
347
838
  },
348
839
  });
349
840
  ```
350
841
 
351
- ## References
842
+ ## Core Types
843
+
844
+ ### Playbook
845
+
846
+ The central learning unit. Combines when to apply, what to do, and how to verify results.
847
+
848
+ ```typescript
849
+ interface Playbook {
850
+ id: string;
851
+ name: string;
852
+ applicability: {
853
+ situations: string[]; // "debugging async code"
854
+ triggers: string[]; // "Promise rejection", "TS2307"
855
+ antiPatterns: string[]; // when NOT to use
856
+ domains: string[]; // "typescript", "react", "testing"
857
+ };
858
+ guidance: {
859
+ strategy: string; // high-level approach
860
+ tactics: string[]; // mid-level steps
861
+ steps?: string[]; // concrete commands
862
+ codeExample?: string;
863
+ };
864
+ verification: {
865
+ successIndicators: string[]; // "Tests pass", "No errors"
866
+ failureIndicators: string[]; // "Same error persists"
867
+ rollbackStrategy?: string;
868
+ };
869
+ evolution: {
870
+ version: string;
871
+ successCount: number;
872
+ failureCount: number;
873
+ refinements: Refinement[]; // context-specific adaptations
874
+ failures: FailureRecord[];
875
+ };
876
+ confidence: number; // 0-1, grows with successful use
877
+ complexity: 'simple' | 'moderate' | 'complex';
878
+ }
879
+ ```
880
+
881
+ ### Trajectory
352
882
 
353
- This implementation draws from several research papers:
883
+ A recorded problem-solving session in ReAct format.
354
884
 
355
- - **ArcMemo**: Concept-level memory beats instance-level at all compute scales
356
- - **ReMem**: Experience retrieval with k=4, refinement loop
357
- - **Stitch**: Library learning via compression
358
- - **LILO**: AutoDoc for concept naming
359
- - **Voyager**: Ever-growing skill libraries
360
- - **Claudeception**: Lightweight skill persistence for Claude Code
885
+ ```typescript
886
+ interface Trajectory {
887
+ id: string;
888
+ task: Task;
889
+ steps: Step[]; // thought -> action -> observation
890
+ outcome: Outcome; // success/failure + solution
891
+ agentId: string;
892
+ llmCalls: number;
893
+ totalTokens: number;
894
+ wallTimeSeconds: number;
895
+ }
896
+ ```
897
+
898
+ ### RoutingDecision
899
+
900
+ How the system decides to approach a task.
901
+
902
+ ```typescript
903
+ interface RoutingDecision {
904
+ strategy: 'direct' | 'adapt' | 'explore' | 'fallback';
905
+ confidence: number;
906
+ memoryContext: MemoryQueryResultV2;
907
+ estimatedBudget: number;
908
+ reasoning: string;
909
+ }
910
+ ```
911
+
912
+ ## Research References
913
+
914
+ cognitive-core draws from several lines of research on agent memory and learning:
915
+
916
+ - **ArcMemo** - Concept-level memory outperforms instance-level at all compute scales
917
+ - **ReMem** - Experience retrieval with k=4, iterative refinement loops
918
+ - **Stitch** - Library learning through compression
919
+ - **LILO** - AutoDoc for concept naming
920
+ - **Voyager** - Ever-growing skill libraries with verification
921
+ - **Claudeception** - Lightweight skill persistence for code agents
922
+ - **[A-MEM](https://arxiv.org/abs/2502.12110)** - Zettelkasten-inspired structured notes with dynamic linking (knowledge note format)
923
+ - **[MAGMA](https://arxiv.org/abs/2601.03236)** - Multi-graph decomposition into semantic, temporal, causal, entity layers (graph overlay design)
924
+ - **[Zep](https://arxiv.org/pdf/2501.13956)** - Entity extraction, community detection, temporal tracking
925
+ - **[Memory Survey](https://arxiv.org/abs/2512.13564)** - Comprehensive survey and taxonomy of factual/experiential/procedural memory
926
+ - **ruvector** - Inspiration for infrastructure improvements: ReasoningBank (K-means++ clustering), MoE routing gate, CoherenceChecker (sheaf-inspired), TemporalCompressor (tiered memory), InstantLoop (hot-path learning)
927
+
928
+ ## Limitations
929
+
930
+ - **No cross-domain transfer**. A playbook learned in the `code` domain won't surface for `testing` tasks even if the underlying pattern is the same. Domain tags are string-matched, not semantically compared.
931
+ - **Cold start**. The system needs ~10 trajectories before batch learning kicks in and playbooks start appearing. The instant loop provides per-trajectory updates immediately, and knowledge extraction works per-trajectory, so some learning is available sooner.
932
+ - **Text-based matching by default**. BM25 and inverted index candidate narrowing work but miss semantic similarity. Vector search requires configuring an embedding provider and adds latency. Knowledge bank search uses text similarity unless minimem is available.
933
+ - **No trajectory quality filtering**. The system stores all trajectories, including ones from poorly-performing agents. Low-quality trajectories can produce low-quality playbooks and knowledge. The deduplication threshold, confidence model, and temporal compression help, but don't solve the garbage-in problem.
934
+ - **Single-machine storage**. All system-internal data lives in a single SQLite database (`cognitive-core.db` with WAL mode), knowledge notes are Markdown files, and skills use a separate `skills.db`. There's no built-in replication, multi-agent concurrency, or cloud storage.
935
+ - **Extraction is heuristic by default**. Without an LLM extractor configured, both playbook and knowledge extraction use text pattern matching, which produces lower-quality results. LLM-assisted extraction is available via workspace templates.
936
+
937
+ ## Contributing
938
+
939
+ Contributions welcome. The test suite uses Vitest:
940
+
941
+ ```bash
942
+ npm install
943
+ npm run test:run # run tests once
944
+ npm run test # watch mode
945
+ npm run typecheck # type checking without emit
946
+ ```
361
947
 
362
948
  ## License
363
949