cognitive-core 0.1.2 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (528) hide show
  1. package/.claude/settings.json +111 -2
  2. package/.sessionlog/settings.json +4 -0
  3. package/CLAUDE.md +233 -0
  4. package/README.md +370 -54
  5. package/dist/atlas.d.ts +10 -10
  6. package/dist/atlas.d.ts.map +1 -1
  7. package/dist/atlas.js +79 -48
  8. package/dist/atlas.js.map +1 -1
  9. package/dist/bin/cli-utils.d.ts +37 -0
  10. package/dist/bin/cli-utils.d.ts.map +1 -0
  11. package/dist/bin/cli-utils.js +176 -0
  12. package/dist/bin/cli-utils.js.map +1 -0
  13. package/dist/bin/cognitive-core.d.ts +2 -12
  14. package/dist/bin/cognitive-core.d.ts.map +1 -1
  15. package/dist/bin/cognitive-core.js +76 -351
  16. package/dist/bin/cognitive-core.js.map +1 -1
  17. package/dist/bin/commands/kb.d.ts +6 -0
  18. package/dist/bin/commands/kb.d.ts.map +1 -0
  19. package/dist/bin/commands/kb.js +240 -0
  20. package/dist/bin/commands/kb.js.map +1 -0
  21. package/dist/bin/commands/learn.d.ts +6 -0
  22. package/dist/bin/commands/learn.d.ts.map +1 -0
  23. package/dist/bin/commands/learn.js +91 -0
  24. package/dist/bin/commands/learn.js.map +1 -0
  25. package/dist/bin/commands/legacy.d.ts +12 -0
  26. package/dist/bin/commands/legacy.d.ts.map +1 -0
  27. package/dist/bin/commands/legacy.js +142 -0
  28. package/dist/bin/commands/legacy.js.map +1 -0
  29. package/dist/bin/commands/run.d.ts +3 -0
  30. package/dist/bin/commands/run.d.ts.map +1 -0
  31. package/dist/bin/commands/run.js +99 -0
  32. package/dist/bin/commands/run.js.map +1 -0
  33. package/dist/bin/commands/sessions.d.ts +9 -0
  34. package/dist/bin/commands/sessions.d.ts.map +1 -0
  35. package/dist/bin/commands/sessions.js +183 -0
  36. package/dist/bin/commands/sessions.js.map +1 -0
  37. package/dist/bin/commands/skills.d.ts +6 -0
  38. package/dist/bin/commands/skills.d.ts.map +1 -0
  39. package/dist/bin/commands/skills.js +135 -0
  40. package/dist/bin/commands/skills.js.map +1 -0
  41. package/dist/embeddings/index.d.ts +1 -0
  42. package/dist/embeddings/index.d.ts.map +1 -1
  43. package/dist/embeddings/index.js +2 -0
  44. package/dist/embeddings/index.js.map +1 -1
  45. package/dist/embeddings/inverted-index.d.ts +47 -0
  46. package/dist/embeddings/inverted-index.d.ts.map +1 -0
  47. package/dist/embeddings/inverted-index.js +122 -0
  48. package/dist/embeddings/inverted-index.js.map +1 -0
  49. package/dist/embeddings/manager.d.ts +3 -1
  50. package/dist/embeddings/manager.d.ts.map +1 -1
  51. package/dist/embeddings/manager.js +12 -7
  52. package/dist/embeddings/manager.js.map +1 -1
  53. package/dist/embeddings/vector-store.d.ts +7 -3
  54. package/dist/embeddings/vector-store.d.ts.map +1 -1
  55. package/dist/embeddings/vector-store.js +22 -6
  56. package/dist/embeddings/vector-store.js.map +1 -1
  57. package/dist/factory.d.ts +11 -12
  58. package/dist/factory.d.ts.map +1 -1
  59. package/dist/factory.js +20 -7
  60. package/dist/factory.js.map +1 -1
  61. package/dist/index.d.ts +8 -7
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +42 -6
  64. package/dist/index.js.map +1 -1
  65. package/dist/learning/analyzer.d.ts.map +1 -1
  66. package/dist/learning/analyzer.js +17 -35
  67. package/dist/learning/analyzer.js.map +1 -1
  68. package/dist/learning/energy-evaluator.d.ts +128 -0
  69. package/dist/learning/energy-evaluator.d.ts.map +1 -0
  70. package/dist/learning/energy-evaluator.js +175 -0
  71. package/dist/learning/energy-evaluator.js.map +1 -0
  72. package/dist/learning/healing-orchestrator.d.ts +182 -0
  73. package/dist/learning/healing-orchestrator.d.ts.map +1 -0
  74. package/dist/learning/healing-orchestrator.js +250 -0
  75. package/dist/learning/healing-orchestrator.js.map +1 -0
  76. package/dist/learning/index.d.ts +7 -2
  77. package/dist/learning/index.d.ts.map +1 -1
  78. package/dist/learning/index.js +13 -2
  79. package/dist/learning/index.js.map +1 -1
  80. package/dist/learning/instant-loop.d.ts +87 -0
  81. package/dist/learning/instant-loop.d.ts.map +1 -0
  82. package/dist/learning/instant-loop.js +264 -0
  83. package/dist/learning/instant-loop.js.map +1 -0
  84. package/dist/learning/loop-coordinator.d.ts +61 -0
  85. package/dist/learning/loop-coordinator.d.ts.map +1 -0
  86. package/dist/learning/loop-coordinator.js +96 -0
  87. package/dist/learning/loop-coordinator.js.map +1 -0
  88. package/dist/learning/maintenance-scheduler.d.ts +141 -0
  89. package/dist/learning/maintenance-scheduler.d.ts.map +1 -0
  90. package/dist/learning/maintenance-scheduler.js +186 -0
  91. package/dist/learning/maintenance-scheduler.js.map +1 -0
  92. package/dist/learning/meta-learner.d.ts.map +1 -1
  93. package/dist/learning/meta-learner.js +4 -21
  94. package/dist/learning/meta-learner.js.map +1 -1
  95. package/dist/learning/pipeline.d.ts +31 -4
  96. package/dist/learning/pipeline.d.ts.map +1 -1
  97. package/dist/learning/pipeline.js +64 -12
  98. package/dist/learning/pipeline.js.map +1 -1
  99. package/dist/learning/reflexion-generator.d.ts +64 -0
  100. package/dist/learning/reflexion-generator.d.ts.map +1 -0
  101. package/dist/learning/reflexion-generator.js +194 -0
  102. package/dist/learning/reflexion-generator.js.map +1 -0
  103. package/dist/learning/trajectory-sources/entire.d.ts +8 -5
  104. package/dist/learning/trajectory-sources/entire.d.ts.map +1 -1
  105. package/dist/learning/trajectory-sources/entire.js +13 -6
  106. package/dist/learning/trajectory-sources/entire.js.map +1 -1
  107. package/dist/learning/trajectory-sources/index.d.ts +1 -1
  108. package/dist/learning/trajectory-sources/index.d.ts.map +1 -1
  109. package/dist/learning/trajectory-sources/index.js +1 -1
  110. package/dist/learning/trajectory-sources/index.js.map +1 -1
  111. package/dist/learning/trajectory-sources/pipeline.d.ts +4 -4
  112. package/dist/learning/trajectory-sources/pipeline.d.ts.map +1 -1
  113. package/dist/learning/trajectory-sources/pipeline.js +2 -2
  114. package/dist/learning/trajectory-sources/pipeline.js.map +1 -1
  115. package/dist/learning/unified-pipeline.d.ts +311 -0
  116. package/dist/learning/unified-pipeline.d.ts.map +1 -0
  117. package/dist/learning/unified-pipeline.js +844 -0
  118. package/dist/learning/unified-pipeline.js.map +1 -0
  119. package/dist/memory/candidate-retrieval.d.ts +43 -0
  120. package/dist/memory/candidate-retrieval.d.ts.map +1 -0
  121. package/dist/memory/candidate-retrieval.js +43 -0
  122. package/dist/memory/candidate-retrieval.js.map +1 -0
  123. package/dist/memory/causal-store.d.ts +97 -0
  124. package/dist/memory/causal-store.d.ts.map +1 -0
  125. package/dist/memory/causal-store.js +209 -0
  126. package/dist/memory/causal-store.js.map +1 -0
  127. package/dist/memory/coherence.d.ts +71 -0
  128. package/dist/memory/coherence.d.ts.map +1 -0
  129. package/dist/memory/coherence.js +176 -0
  130. package/dist/memory/coherence.js.map +1 -0
  131. package/dist/memory/experience.d.ts +39 -6
  132. package/dist/memory/experience.d.ts.map +1 -1
  133. package/dist/memory/experience.js +193 -49
  134. package/dist/memory/experience.js.map +1 -1
  135. package/dist/memory/index.d.ts +7 -0
  136. package/dist/memory/index.d.ts.map +1 -1
  137. package/dist/memory/index.js +12 -0
  138. package/dist/memory/index.js.map +1 -1
  139. package/dist/memory/knowledge-bank.d.ts +14 -0
  140. package/dist/memory/knowledge-bank.d.ts.map +1 -1
  141. package/dist/memory/knowledge-bank.js +45 -0
  142. package/dist/memory/knowledge-bank.js.map +1 -1
  143. package/dist/memory/meta.d.ts +7 -8
  144. package/dist/memory/meta.d.ts.map +1 -1
  145. package/dist/memory/meta.js +73 -79
  146. package/dist/memory/meta.js.map +1 -1
  147. package/dist/memory/playbook.d.ts +26 -9
  148. package/dist/memory/playbook.d.ts.map +1 -1
  149. package/dist/memory/playbook.js +198 -74
  150. package/dist/memory/playbook.js.map +1 -1
  151. package/dist/memory/reasoning-bank.d.ts +130 -0
  152. package/dist/memory/reasoning-bank.d.ts.map +1 -0
  153. package/dist/memory/reasoning-bank.js +342 -0
  154. package/dist/memory/reasoning-bank.js.map +1 -0
  155. package/dist/memory/reflexion.d.ts +59 -0
  156. package/dist/memory/reflexion.d.ts.map +1 -0
  157. package/dist/memory/reflexion.js +96 -0
  158. package/dist/memory/reflexion.js.map +1 -0
  159. package/dist/memory/system.d.ts +7 -2
  160. package/dist/memory/system.d.ts.map +1 -1
  161. package/dist/memory/system.js +19 -7
  162. package/dist/memory/system.js.map +1 -1
  163. package/dist/memory/temporal-compressor.d.ts +126 -0
  164. package/dist/memory/temporal-compressor.d.ts.map +1 -0
  165. package/dist/memory/temporal-compressor.js +335 -0
  166. package/dist/memory/temporal-compressor.js.map +1 -0
  167. package/dist/persistence/index.d.ts +11 -0
  168. package/dist/persistence/index.d.ts.map +1 -0
  169. package/dist/persistence/index.js +11 -0
  170. package/dist/persistence/index.js.map +1 -0
  171. package/dist/persistence/migrator.d.ts +40 -0
  172. package/dist/persistence/migrator.d.ts.map +1 -0
  173. package/dist/persistence/migrator.js +238 -0
  174. package/dist/persistence/migrator.js.map +1 -0
  175. package/dist/persistence/serializers.d.ts +45 -0
  176. package/dist/persistence/serializers.d.ts.map +1 -0
  177. package/dist/persistence/serializers.js +80 -0
  178. package/dist/persistence/serializers.js.map +1 -0
  179. package/dist/persistence/sqlite-persistence.d.ts +228 -0
  180. package/dist/persistence/sqlite-persistence.d.ts.map +1 -0
  181. package/dist/persistence/sqlite-persistence.js +588 -0
  182. package/dist/persistence/sqlite-persistence.js.map +1 -0
  183. package/dist/runtime/flows/learning.d.ts +10 -12
  184. package/dist/runtime/flows/learning.d.ts.map +1 -1
  185. package/dist/runtime/flows/learning.js +10 -23
  186. package/dist/runtime/flows/learning.js.map +1 -1
  187. package/dist/search/index.d.ts +1 -0
  188. package/dist/search/index.d.ts.map +1 -1
  189. package/dist/search/index.js +2 -0
  190. package/dist/search/index.js.map +1 -1
  191. package/dist/search/moe-gate.d.ts +124 -0
  192. package/dist/search/moe-gate.d.ts.map +1 -0
  193. package/dist/search/moe-gate.js +234 -0
  194. package/dist/search/moe-gate.js.map +1 -0
  195. package/dist/search/router.d.ts +32 -2
  196. package/dist/search/router.d.ts.map +1 -1
  197. package/dist/search/router.js +87 -4
  198. package/dist/search/router.js.map +1 -1
  199. package/dist/session-bank/git-reader.d.ts +9 -4
  200. package/dist/session-bank/git-reader.d.ts.map +1 -1
  201. package/dist/session-bank/git-reader.js +22 -15
  202. package/dist/session-bank/git-reader.js.map +1 -1
  203. package/dist/session-bank/index.d.ts +2 -2
  204. package/dist/session-bank/index.d.ts.map +1 -1
  205. package/dist/session-bank/index.js +2 -2
  206. package/dist/session-bank/index.js.map +1 -1
  207. package/dist/session-bank/parser.d.ts +16 -5
  208. package/dist/session-bank/parser.d.ts.map +1 -1
  209. package/dist/session-bank/parser.js +187 -80
  210. package/dist/session-bank/parser.js.map +1 -1
  211. package/dist/session-bank/session-bank.d.ts +5 -0
  212. package/dist/session-bank/session-bank.d.ts.map +1 -1
  213. package/dist/session-bank/session-bank.js +30 -9
  214. package/dist/session-bank/session-bank.js.map +1 -1
  215. package/dist/session-bank/types.d.ts +4 -1
  216. package/dist/session-bank/types.d.ts.map +1 -1
  217. package/dist/session-bank/types.js +3 -3
  218. package/dist/session-bank/types.js.map +1 -1
  219. package/dist/surfacing/skill-publisher.d.ts.map +1 -1
  220. package/dist/surfacing/skill-publisher.js +15 -43
  221. package/dist/surfacing/skill-publisher.js.map +1 -1
  222. package/dist/surfacing/sqlite-storage-adapter.d.ts.map +1 -1
  223. package/dist/surfacing/sqlite-storage-adapter.js +13 -21
  224. package/dist/surfacing/sqlite-storage-adapter.js.map +1 -1
  225. package/dist/types/config.d.ts +100 -0
  226. package/dist/types/config.d.ts.map +1 -1
  227. package/dist/types/config.js +27 -0
  228. package/dist/types/config.js.map +1 -1
  229. package/dist/types/index.d.ts +2 -2
  230. package/dist/types/index.d.ts.map +1 -1
  231. package/dist/types/index.js +1 -1
  232. package/dist/types/index.js.map +1 -1
  233. package/dist/types/memory.d.ts +52 -0
  234. package/dist/types/memory.d.ts.map +1 -1
  235. package/dist/types/memory.js +13 -0
  236. package/dist/types/memory.js.map +1 -1
  237. package/dist/types/playbook.d.ts +4 -0
  238. package/dist/types/playbook.d.ts.map +1 -1
  239. package/dist/types/playbook.js.map +1 -1
  240. package/dist/utils/error-classifier.d.ts +30 -0
  241. package/dist/utils/error-classifier.d.ts.map +1 -0
  242. package/dist/utils/error-classifier.js +85 -0
  243. package/dist/utils/error-classifier.js.map +1 -0
  244. package/dist/utils/index.d.ts +3 -0
  245. package/dist/utils/index.d.ts.map +1 -1
  246. package/dist/utils/index.js +3 -0
  247. package/dist/utils/index.js.map +1 -1
  248. package/dist/utils/partitioned-store.d.ts +93 -0
  249. package/dist/utils/partitioned-store.d.ts.map +1 -0
  250. package/dist/utils/partitioned-store.js +251 -0
  251. package/dist/utils/partitioned-store.js.map +1 -0
  252. package/dist/utils/trajectory-helpers.d.ts +39 -0
  253. package/dist/utils/trajectory-helpers.d.ts.map +1 -0
  254. package/dist/utils/trajectory-helpers.js +57 -0
  255. package/dist/utils/trajectory-helpers.js.map +1 -0
  256. package/dist/workspace/efficacy-toolkit.d.ts +164 -0
  257. package/dist/workspace/efficacy-toolkit.d.ts.map +1 -0
  258. package/dist/workspace/efficacy-toolkit.js +281 -0
  259. package/dist/workspace/efficacy-toolkit.js.map +1 -0
  260. package/dist/workspace/index.d.ts +2 -1
  261. package/dist/workspace/index.d.ts.map +1 -1
  262. package/dist/workspace/index.js +3 -1
  263. package/dist/workspace/index.js.map +1 -1
  264. package/dist/workspace/runner.d.ts +3 -4
  265. package/dist/workspace/runner.d.ts.map +1 -1
  266. package/dist/workspace/runner.js.map +1 -1
  267. package/dist/workspace/templates/index.d.ts +3 -0
  268. package/dist/workspace/templates/index.d.ts.map +1 -1
  269. package/dist/workspace/templates/index.js +6 -0
  270. package/dist/workspace/templates/index.js.map +1 -1
  271. package/dist/workspace/templates/playbook-decay-detection.d.ts +46 -0
  272. package/dist/workspace/templates/playbook-decay-detection.d.ts.map +1 -0
  273. package/dist/workspace/templates/playbook-decay-detection.js +197 -0
  274. package/dist/workspace/templates/playbook-decay-detection.js.map +1 -0
  275. package/dist/workspace/templates/playbook-efficacy-audit.d.ts +46 -0
  276. package/dist/workspace/templates/playbook-efficacy-audit.d.ts.map +1 -0
  277. package/dist/workspace/templates/playbook-efficacy-audit.js +160 -0
  278. package/dist/workspace/templates/playbook-efficacy-audit.js.map +1 -0
  279. package/dist/workspace/templates/playbook-lifecycle-review.d.ts +51 -0
  280. package/dist/workspace/templates/playbook-lifecycle-review.d.ts.map +1 -0
  281. package/dist/workspace/templates/playbook-lifecycle-review.js +187 -0
  282. package/dist/workspace/templates/playbook-lifecycle-review.js.map +1 -0
  283. package/dist/workspace/types.d.ts +9 -2
  284. package/dist/workspace/types.d.ts.map +1 -1
  285. package/dist/workspace/types.js.map +1 -1
  286. package/package.json +12 -4
  287. package/references/sessionlog/.husky/pre-commit +1 -0
  288. package/references/sessionlog/.lintstagedrc.json +4 -0
  289. package/references/sessionlog/.prettierignore +4 -0
  290. package/references/sessionlog/.prettierrc.json +11 -0
  291. package/references/sessionlog/LICENSE +21 -0
  292. package/references/sessionlog/README.md +453 -0
  293. package/references/sessionlog/eslint.config.js +58 -0
  294. package/references/sessionlog/package-lock.json +3672 -0
  295. package/references/sessionlog/package.json +65 -0
  296. package/references/sessionlog/src/__tests__/agent-hooks.test.ts +570 -0
  297. package/references/sessionlog/src/__tests__/agent-registry.test.ts +127 -0
  298. package/references/sessionlog/src/__tests__/claude-code-hooks.test.ts +225 -0
  299. package/references/sessionlog/src/__tests__/claude-generator.test.ts +46 -0
  300. package/references/sessionlog/src/__tests__/commit-msg.test.ts +86 -0
  301. package/references/sessionlog/src/__tests__/cursor-agent.test.ts +224 -0
  302. package/references/sessionlog/src/__tests__/e2e-live.test.ts +890 -0
  303. package/references/sessionlog/src/__tests__/event-log.test.ts +183 -0
  304. package/references/sessionlog/src/__tests__/flush-sentinel.test.ts +105 -0
  305. package/references/sessionlog/src/__tests__/gemini-agent.test.ts +375 -0
  306. package/references/sessionlog/src/__tests__/git-hooks.test.ts +78 -0
  307. package/references/sessionlog/src/__tests__/hook-managers.test.ts +121 -0
  308. package/references/sessionlog/src/__tests__/lifecycle-tasks.test.ts +759 -0
  309. package/references/sessionlog/src/__tests__/opencode-agent.test.ts +338 -0
  310. package/references/sessionlog/src/__tests__/redaction.test.ts +136 -0
  311. package/references/sessionlog/src/__tests__/session-repo.test.ts +353 -0
  312. package/references/sessionlog/src/__tests__/session-store.test.ts +166 -0
  313. package/references/sessionlog/src/__tests__/setup-ccweb.test.ts +466 -0
  314. package/references/sessionlog/src/__tests__/skill-live.test.ts +461 -0
  315. package/references/sessionlog/src/__tests__/summarize.test.ts +348 -0
  316. package/references/sessionlog/src/__tests__/task-plan-e2e.test.ts +610 -0
  317. package/references/sessionlog/src/__tests__/task-plan-live.test.ts +632 -0
  318. package/references/sessionlog/src/__tests__/transcript-timestamp.test.ts +121 -0
  319. package/references/sessionlog/src/__tests__/types.test.ts +166 -0
  320. package/references/sessionlog/src/__tests__/utils.test.ts +333 -0
  321. package/references/sessionlog/src/__tests__/validation.test.ts +103 -0
  322. package/references/sessionlog/src/__tests__/worktree.test.ts +57 -0
  323. package/references/sessionlog/src/agent/agents/claude-code.ts +1089 -0
  324. package/references/sessionlog/src/agent/agents/cursor.ts +361 -0
  325. package/references/sessionlog/src/agent/agents/gemini-cli.ts +632 -0
  326. package/references/sessionlog/src/agent/agents/opencode.ts +540 -0
  327. package/references/sessionlog/src/agent/registry.ts +143 -0
  328. package/references/sessionlog/src/agent/session-types.ts +113 -0
  329. package/references/sessionlog/src/agent/types.ts +220 -0
  330. package/references/sessionlog/src/cli.ts +597 -0
  331. package/references/sessionlog/src/commands/clean.ts +133 -0
  332. package/references/sessionlog/src/commands/disable.ts +84 -0
  333. package/references/sessionlog/src/commands/doctor.ts +145 -0
  334. package/references/sessionlog/src/commands/enable.ts +202 -0
  335. package/references/sessionlog/src/commands/explain.ts +261 -0
  336. package/references/sessionlog/src/commands/reset.ts +105 -0
  337. package/references/sessionlog/src/commands/resume.ts +180 -0
  338. package/references/sessionlog/src/commands/rewind.ts +195 -0
  339. package/references/sessionlog/src/commands/setup-ccweb.ts +275 -0
  340. package/references/sessionlog/src/commands/status.ts +172 -0
  341. package/references/sessionlog/src/config.ts +165 -0
  342. package/references/sessionlog/src/events/event-log.ts +126 -0
  343. package/references/sessionlog/src/git-operations.ts +558 -0
  344. package/references/sessionlog/src/hooks/git-hooks.ts +165 -0
  345. package/references/sessionlog/src/hooks/lifecycle.ts +391 -0
  346. package/references/sessionlog/src/index.ts +650 -0
  347. package/references/sessionlog/src/security/redaction.ts +283 -0
  348. package/references/sessionlog/src/session/state-machine.ts +452 -0
  349. package/references/sessionlog/src/store/checkpoint-store.ts +509 -0
  350. package/references/sessionlog/src/store/native-store.ts +173 -0
  351. package/references/sessionlog/src/store/provider-types.ts +99 -0
  352. package/references/sessionlog/src/store/session-store.ts +266 -0
  353. package/references/sessionlog/src/strategy/attribution.ts +296 -0
  354. package/references/sessionlog/src/strategy/common.ts +207 -0
  355. package/references/sessionlog/src/strategy/content-overlap.ts +228 -0
  356. package/references/sessionlog/src/strategy/manual-commit.ts +988 -0
  357. package/references/sessionlog/src/strategy/types.ts +279 -0
  358. package/references/sessionlog/src/summarize/claude-generator.ts +115 -0
  359. package/references/sessionlog/src/summarize/summarize.ts +432 -0
  360. package/references/sessionlog/src/types.ts +508 -0
  361. package/references/sessionlog/src/utils/chunk-files.ts +49 -0
  362. package/references/sessionlog/src/utils/commit-message.ts +65 -0
  363. package/references/sessionlog/src/utils/detect-agent.ts +36 -0
  364. package/references/sessionlog/src/utils/hook-managers.ts +125 -0
  365. package/references/sessionlog/src/utils/ide-tags.ts +32 -0
  366. package/references/sessionlog/src/utils/paths.ts +79 -0
  367. package/references/sessionlog/src/utils/preview-rewind.ts +80 -0
  368. package/references/sessionlog/src/utils/rewind-conflict.ts +121 -0
  369. package/references/sessionlog/src/utils/shadow-branch.ts +109 -0
  370. package/references/sessionlog/src/utils/string-utils.ts +46 -0
  371. package/references/sessionlog/src/utils/todo-extract.ts +188 -0
  372. package/references/sessionlog/src/utils/trailers.ts +187 -0
  373. package/references/sessionlog/src/utils/transcript-parse.ts +177 -0
  374. package/references/sessionlog/src/utils/transcript-timestamp.ts +59 -0
  375. package/references/sessionlog/src/utils/tree-ops.ts +219 -0
  376. package/references/sessionlog/src/utils/tty.ts +72 -0
  377. package/references/sessionlog/src/utils/validation.ts +65 -0
  378. package/references/sessionlog/src/utils/worktree.ts +58 -0
  379. package/references/sessionlog/src/wire-types.ts +59 -0
  380. package/references/sessionlog/templates/setup-env.sh +153 -0
  381. package/references/sessionlog/tsconfig.json +18 -0
  382. package/references/sessionlog/vitest.config.ts +12 -0
  383. package/references/skill-tree/.sudocode/issues.jsonl +8 -0
  384. package/references/skill-tree/.sudocode/specs.jsonl +2 -0
  385. package/references/skill-tree/CLAUDE.md +56 -80
  386. package/references/skill-tree/README.md +188 -140
  387. package/references/skill-tree/examples/basic-usage.ts +95 -121
  388. package/references/skill-tree/package-lock.json +369 -26
  389. package/references/skill-tree/package.json +1 -1
  390. package/src/atlas.ts +97 -67
  391. package/src/bin/cli-utils.ts +220 -0
  392. package/src/bin/cognitive-core.ts +84 -392
  393. package/src/bin/commands/kb.ts +266 -0
  394. package/src/bin/commands/learn.ts +100 -0
  395. package/src/bin/commands/legacy.ts +182 -0
  396. package/src/bin/commands/run.ts +113 -0
  397. package/src/bin/commands/sessions.ts +221 -0
  398. package/src/bin/commands/skills.ts +146 -0
  399. package/src/embeddings/index.ts +3 -0
  400. package/src/embeddings/inverted-index.ts +134 -0
  401. package/src/embeddings/manager.ts +13 -8
  402. package/src/embeddings/vector-store.ts +21 -9
  403. package/src/factory.ts +33 -16
  404. package/src/index.ts +136 -9
  405. package/src/learning/analyzer.ts +21 -37
  406. package/src/learning/energy-evaluator.ts +282 -0
  407. package/src/learning/healing-orchestrator.ts +383 -0
  408. package/src/learning/index.ts +66 -9
  409. package/src/learning/instant-loop.ts +357 -0
  410. package/src/learning/maintenance-scheduler.ts +271 -0
  411. package/src/learning/meta-learner.ts +5 -23
  412. package/src/learning/reflexion-generator.ts +273 -0
  413. package/src/learning/trajectory-sources/entire.ts +24 -13
  414. package/src/learning/trajectory-sources/index.ts +2 -2
  415. package/src/learning/trajectory-sources/pipeline.ts +5 -5
  416. package/src/learning/unified-pipeline.ts +1191 -0
  417. package/src/memory/candidate-retrieval.ts +72 -0
  418. package/src/memory/causal-store.ts +273 -0
  419. package/src/memory/coherence.ts +252 -0
  420. package/src/memory/experience.ts +217 -50
  421. package/src/memory/index.ts +43 -0
  422. package/src/memory/knowledge-bank.ts +57 -0
  423. package/src/memory/meta.ts +78 -96
  424. package/src/memory/playbook.ts +239 -75
  425. package/src/memory/reasoning-bank.ts +458 -0
  426. package/src/memory/reflexion.ts +122 -0
  427. package/src/memory/system.ts +21 -5
  428. package/src/memory/temporal-compressor.ts +409 -0
  429. package/src/persistence/index.ts +37 -0
  430. package/src/persistence/migrator.ts +298 -0
  431. package/src/persistence/serializers.ts +79 -0
  432. package/src/persistence/sqlite-persistence.ts +925 -0
  433. package/src/runtime/flows/learning.ts +25 -42
  434. package/src/search/index.ts +10 -0
  435. package/src/search/moe-gate.ts +304 -0
  436. package/src/search/router.ts +111 -4
  437. package/src/session-bank/git-reader.ts +29 -19
  438. package/src/session-bank/index.ts +4 -2
  439. package/src/session-bank/parser.ts +280 -98
  440. package/src/session-bank/session-bank.ts +33 -12
  441. package/src/session-bank/types.ts +8 -5
  442. package/src/surfacing/skill-publisher.ts +17 -49
  443. package/src/surfacing/sqlite-storage-adapter.ts +16 -32
  444. package/src/types/config.ts +30 -0
  445. package/src/types/index.ts +3 -0
  446. package/src/types/memory.ts +30 -0
  447. package/src/types/playbook.ts +4 -0
  448. package/src/utils/error-classifier.ts +113 -0
  449. package/src/utils/index.ts +18 -0
  450. package/src/utils/partitioned-store.ts +299 -0
  451. package/src/utils/trajectory-helpers.ts +79 -0
  452. package/src/workspace/efficacy-toolkit.ts +496 -0
  453. package/src/workspace/index.ts +29 -0
  454. package/src/workspace/runner.ts +3 -3
  455. package/src/workspace/templates/index.ts +24 -0
  456. package/src/workspace/templates/playbook-decay-detection.ts +272 -0
  457. package/src/workspace/templates/playbook-efficacy-audit.ts +246 -0
  458. package/src/workspace/templates/playbook-lifecycle-review.ts +274 -0
  459. package/src/workspace/types.ts +10 -2
  460. package/tests/embeddings/inverted-index.test.ts +138 -0
  461. package/tests/feature-toggles.test.ts +275 -0
  462. package/tests/fixtures/behavioral-trajectories.ts +210 -0
  463. package/tests/gap-fixes.test.ts +17 -4
  464. package/tests/integration/cli-e2e.test.ts +621 -0
  465. package/tests/integration/e2e.test.ts +6 -5
  466. package/tests/integration/entire-e2e.test.ts +314 -125
  467. package/tests/integration/persistence-e2e.test.ts +741 -0
  468. package/tests/integration/phase-e2e.test.ts +1143 -0
  469. package/tests/integration/pipeline-data-correctness.test.ts +794 -0
  470. package/tests/integration/session-bank.test.ts +20 -14
  471. package/tests/integration/sessionlog-e2e.test.ts +329 -0
  472. package/tests/integration/unified-pipeline-e2e.test.ts +634 -0
  473. package/tests/learning/analyzer.test.ts +1 -1
  474. package/tests/learning/energy-evaluator.test.ts +180 -0
  475. package/tests/learning/entire-trajectory-source.test.ts +25 -25
  476. package/tests/learning/healing-orchestrator.test.ts +269 -0
  477. package/tests/learning/instant-loop.test.ts +243 -0
  478. package/tests/learning/maintenance-scheduler.test.ts +191 -0
  479. package/tests/learning/meta-learner.test.ts +418 -0
  480. package/tests/learning/pipeline-memory-updates.test.ts +721 -0
  481. package/tests/learning/reflexion-generator.test.ts +411 -0
  482. package/tests/learning/trajectory-sources.test.ts +12 -4
  483. package/tests/learning/unified-pipeline-efficacy.test.ts +232 -0
  484. package/tests/learning/unified-pipeline.test.ts +322 -0
  485. package/tests/mcp/playbook-server.test.ts +6 -1
  486. package/tests/memory/candidate-retrieval.test.ts +167 -0
  487. package/tests/memory/causal-store.test.ts +276 -0
  488. package/tests/memory/coherence.test.ts +232 -0
  489. package/tests/memory/experience.test.ts +8 -3
  490. package/tests/memory/meta.test.ts +399 -0
  491. package/tests/memory/playbook.test.ts +307 -1
  492. package/tests/memory/provenance.test.ts +11 -2
  493. package/tests/memory/reasoning-bank.test.ts +239 -0
  494. package/tests/memory/reflexion.test.ts +166 -0
  495. package/tests/memory/skill-exporter.test.ts +6 -1
  496. package/tests/memory/system.test.ts +6 -1
  497. package/tests/memory/temporal-compressor.test.ts +318 -0
  498. package/tests/persistence/migrator.test.ts +1009 -0
  499. package/tests/persistence/sqlite-persistence.test.ts +635 -0
  500. package/tests/runtime/agent-manager.test.ts +6 -1
  501. package/tests/runtime/delegate.test.ts +6 -1
  502. package/tests/search/evaluator.test.ts +257 -0
  503. package/tests/search/moe-gate.test.ts +250 -0
  504. package/tests/search/refinement-loop.test.ts +11 -2
  505. package/tests/search/router.test.ts +81 -2
  506. package/tests/search/verification-runner.test.ts +357 -0
  507. package/tests/session-bank/fixtures/sessionlog-root-metadata.json +16 -0
  508. package/tests/session-bank/fixtures/sessionlog-session/full.jsonl +6 -0
  509. package/tests/session-bank/fixtures/sessionlog-session/metadata.json +55 -0
  510. package/tests/session-bank/git-reader.test.ts +13 -13
  511. package/tests/session-bank/parser.test.ts +135 -3
  512. package/tests/session-bank/session-bank.test.ts +1 -1
  513. package/tests/surfacing/skill-library.test.ts +6 -1
  514. package/tests/surfacing/skill-publisher.test.ts +24 -58
  515. package/tests/surfacing/sqlite-storage-adapter.test.ts +11 -23
  516. package/tests/utils/error-classifier.test.ts +149 -0
  517. package/tests/utils/partitioned-store.test.ts +230 -0
  518. package/tests/utils/trajectory-helpers.test.ts +163 -0
  519. package/tests/workspace/efficacy-toolkit.test.ts +404 -0
  520. package/tests/workspace/full-flow.test.ts +10 -4
  521. package/tests/workspace/runner.test.ts +10 -4
  522. package/tests/workspace/templates/playbook-efficacy.test.ts +377 -0
  523. package/docs/DESIGN-workspace-migration.md +0 -1079
  524. package/docs/PLAN-agentic-workspace-implementation.md +0 -717
  525. package/docs/PLAN-graph-migration.md +0 -299
  526. package/docs/PLAN-session-bank-implementation.md +0 -474
  527. package/src/learning/pipeline.ts +0 -323
  528. package/tests/learning/pipeline.test.ts +0 -176
@@ -22,6 +22,69 @@
22
22
  "command": "entire hooks claude-code post-todo"
23
23
  }
24
24
  ]
25
+ },
26
+ {
27
+ "matcher": "Task",
28
+ "hooks": [
29
+ {
30
+ "type": "command",
31
+ "command": "sessionlog hooks claude-code post-task"
32
+ }
33
+ ]
34
+ },
35
+ {
36
+ "matcher": "TodoWrite",
37
+ "hooks": [
38
+ {
39
+ "type": "command",
40
+ "command": "sessionlog hooks claude-code post-todo"
41
+ }
42
+ ]
43
+ },
44
+ {
45
+ "matcher": "TaskCreate",
46
+ "hooks": [
47
+ {
48
+ "type": "command",
49
+ "command": "sessionlog hooks claude-code post-task-create"
50
+ }
51
+ ]
52
+ },
53
+ {
54
+ "matcher": "TaskUpdate",
55
+ "hooks": [
56
+ {
57
+ "type": "command",
58
+ "command": "sessionlog hooks claude-code post-task-update"
59
+ }
60
+ ]
61
+ },
62
+ {
63
+ "matcher": "EnterPlanMode",
64
+ "hooks": [
65
+ {
66
+ "type": "command",
67
+ "command": "sessionlog hooks claude-code post-plan-enter"
68
+ }
69
+ ]
70
+ },
71
+ {
72
+ "matcher": "ExitPlanMode",
73
+ "hooks": [
74
+ {
75
+ "type": "command",
76
+ "command": "sessionlog hooks claude-code post-plan-exit"
77
+ }
78
+ ]
79
+ },
80
+ {
81
+ "matcher": "Skill",
82
+ "hooks": [
83
+ {
84
+ "type": "command",
85
+ "command": "sessionlog hooks claude-code post-skill"
86
+ }
87
+ ]
25
88
  }
26
89
  ],
27
90
  "PreToolUse": [
@@ -33,6 +96,15 @@
33
96
  "command": "entire hooks claude-code pre-task"
34
97
  }
35
98
  ]
99
+ },
100
+ {
101
+ "matcher": "Task",
102
+ "hooks": [
103
+ {
104
+ "type": "command",
105
+ "command": "sessionlog hooks claude-code pre-task"
106
+ }
107
+ ]
36
108
  }
37
109
  ],
38
110
  "SessionEnd": [
@@ -44,6 +116,15 @@
44
116
  "command": "entire hooks claude-code session-end"
45
117
  }
46
118
  ]
119
+ },
120
+ {
121
+ "matcher": "",
122
+ "hooks": [
123
+ {
124
+ "type": "command",
125
+ "command": "sessionlog hooks claude-code session-end"
126
+ }
127
+ ]
47
128
  }
48
129
  ],
49
130
  "SessionStart": [
@@ -55,6 +136,15 @@
55
136
  "command": "entire hooks claude-code session-start"
56
137
  }
57
138
  ]
139
+ },
140
+ {
141
+ "matcher": "",
142
+ "hooks": [
143
+ {
144
+ "type": "command",
145
+ "command": "sessionlog hooks claude-code session-start"
146
+ }
147
+ ]
58
148
  }
59
149
  ],
60
150
  "Stop": [
@@ -66,6 +156,15 @@
66
156
  "command": "entire hooks claude-code stop"
67
157
  }
68
158
  ]
159
+ },
160
+ {
161
+ "matcher": "",
162
+ "hooks": [
163
+ {
164
+ "type": "command",
165
+ "command": "sessionlog hooks claude-code stop"
166
+ }
167
+ ]
69
168
  }
70
169
  ],
71
170
  "UserPromptSubmit": [
@@ -77,12 +176,22 @@
77
176
  "command": "entire hooks claude-code user-prompt-submit"
78
177
  }
79
178
  ]
179
+ },
180
+ {
181
+ "matcher": "",
182
+ "hooks": [
183
+ {
184
+ "type": "command",
185
+ "command": "sessionlog hooks claude-code user-prompt-submit"
186
+ }
187
+ ]
80
188
  }
81
189
  ]
82
190
  },
83
191
  "permissions": {
84
192
  "deny": [
85
- "Read(./.entire/metadata/**)"
193
+ "Read(./.entire/metadata/**)",
194
+ "Read(./.sessionlog/metadata/**)"
86
195
  ]
87
196
  }
88
- }
197
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "enabled": true,
3
+ "strategy": "manual-commit"
4
+ }
package/CLAUDE.md ADDED
@@ -0,0 +1,233 @@
1
+ # CLAUDE.md
2
+
3
+ Project conventions and architecture for Claude Code working on cognitive-core.
4
+
5
+ ## Build & Test
6
+
7
+ ```bash
8
+ npm run build # tsc — compile TypeScript
9
+ npm run test:run # vitest run — run tests once
10
+ npm test # vitest — watch mode
11
+ npm run typecheck # tsc --noEmit — type checking without emit
12
+ npm run lint # eslint src --ext .ts
13
+ ```
14
+
15
+ Tests use Vitest. All test files are in `tests/` mirroring the `src/` structure.
16
+
17
+ Pre-existing build warnings exist for `skill-tree` module resolution (3 files in `src/surfacing/`) and some unused variables — these are known issues.
18
+
19
+ ## Project Structure
20
+
21
+ ```
22
+ src/
23
+ ├── index.ts # Root exports (17 subsystems)
24
+ ├── atlas.ts # Main orchestrator (Atlas class)
25
+ ├── factory.ts # Factory interface for external integration
26
+
27
+ ├── types/ # Shared type definitions + Zod schemas
28
+ │ ├── task.ts, step.ts, outcome.ts, trajectory.ts, playbook.ts
29
+ │ ├── knowledge.ts, knowledge-graph.ts, memory.ts, meta.ts, config.ts
30
+ │ └── team-trajectory.ts, team-playbook.ts, team-meta.ts
31
+
32
+ ├── memory/ # Memory stores
33
+ │ ├── system.ts # MemorySystem aggregator
34
+ │ ├── experience.ts # ExperienceMemory (domain-partitioned, InvertedIndex)
35
+ │ ├── playbook.ts # PlaybookLibrary (domain-partitioned, InvertedIndex)
36
+ │ ├── knowledge-bank.ts # KnowledgeBank (Markdown + YAML frontmatter)
37
+ │ ├── knowledge-graph.ts # Multi-layer graph overlay
38
+ │ ├── knowledge-defrag.ts # Knowledge note deduplication
39
+ │ ├── meta.ts # MetaMemory (routing/retrieval observations)
40
+ │ ├── reflexion.ts # ReflexionMemory (self-reflection episodes)
41
+ │ ├── reasoning-bank.ts # ReasoningBank (K-means++ clustering)
42
+ │ ├── causal-store.ts # CausalStore (cause→effect edges)
43
+ │ ├── coherence.ts # CoherenceChecker (contradiction detection)
44
+ │ ├── temporal-compressor.ts # TemporalCompressor (Hot/Warm/Cold/Evicted tiers)
45
+ │ ├── candidate-retrieval.ts # Shared InvertedIndex → fallback retrieval
46
+ │ ├── team-experience.ts # TeamExperienceMemory
47
+ │ ├── graph-layers/ # Knowledge graph layers (semantic, temporal, causal, entity)
48
+ │ └── search-provider.ts # SearchProvider strategy (TextSimilarity, Minimem)
49
+
50
+ ├── learning/ # Learning pipeline
51
+ │ ├── unified-pipeline.ts # UnifiedLearningPipeline (three-speed: immediate + batch + maintenance)
52
+ │ ├── analyzer.ts # TrajectoryAnalyzer (credit assignment + error patterns)
53
+ │ ├── playbook-extractor.ts # PlaybookExtractor (heuristic generation)
54
+ │ ├── knowledge-extractor.ts # KnowledgeExtractor (4 heuristic strategies)
55
+ │ ├── reflexion-generator.ts # ReflexionGenerator (structured self-critique)
56
+ │ ├── meta-learner.ts # MetaLearner (routing/retrieval effectiveness)
57
+ │ ├── usage-inference.ts # PlaybookUsageInference
58
+ │ ├── effectiveness.ts # LearningEffectivenessTracker
59
+ │ ├── instant-loop.ts # InstantLoop (hot-path, <200ms, no LLM)
60
+ │ ├── energy-evaluator.ts # EnergyEvaluator (batch trigger logic)
61
+ │ ├── maintenance-scheduler.ts # MaintenanceScheduler (circadian-gated)
62
+ │ ├── healing-orchestrator.ts # HealingOrchestrator (anomaly detection + repair)
63
+ │ ├── team-pipeline.ts # TeamLearningPipeline
64
+ │ ├── team-ingester.ts # TeamTrajectoryIngester
65
+ │ ├── team-meta-learner.ts # TeamMetaLearner
66
+ │ └── trajectory-sources/ # InMemory, File, Pipeline, Entire, Dataclaw, HuggingFace
67
+
68
+ ├── search/ # Routing and solving
69
+ │ ├── router.ts # TaskRouter (strategy selection)
70
+ │ ├── moe-gate.ts # MoEGate (learned routing via softmax gate)
71
+ │ ├── solver.ts # DirectSolver
72
+ │ ├── refinement-loop.ts # RefinementLoop (up to 3 retries)
73
+ │ ├── evaluator.ts # SolutionEvaluator
74
+ │ ├── verification-runner.ts # VerificationRunner (command execution)
75
+ │ └── team-router.ts # TeamRouter (composition recommender)
76
+
77
+ ├── runtime/ # Agent execution
78
+ │ ├── manager.ts # AgentManager (spawning + knowledge injection)
79
+ │ ├── compute-provider.ts # ComputeProvider (cost tiers)
80
+ │ ├── subprocess.ts # SubprocessBackend
81
+ │ ├── acp.ts # ACPBackend
82
+ │ ├── mock.ts # MockBackend
83
+ │ ├── macro-agent.ts # MacroAgentBackendAdapter
84
+ │ └── learning.ts, validation.ts # LearningFlow, ValidationFlow
85
+
86
+ ├── surfacing/ # Skill library + publishing
87
+ │ ├── skill-library.ts # SkillLibrary (Core/Domain/Contextual/OnDemand tiers)
88
+ │ ├── skill-publisher.ts # SkillPublisher (playbook → skill-tree format)
89
+ │ ├── sqlite-storage-adapter.ts # SQLite persistence for skill-tree
90
+ │ └── team-skill-library.ts # TeamSkillLibrary
91
+
92
+ ├── embeddings/ # Vector search
93
+ │ ├── manager.ts # EmbeddingManager (multi-provider)
94
+ │ ├── inverted-index.ts # InvertedIndex (candidate narrowing)
95
+ │ ├── bm25.ts # BM25Index (text search fallback)
96
+ │ ├── vector-store.ts # SqliteVectorStore (sqlite-vec)
97
+ │ └── provider.ts # OpenAI, Voyage, Local embedding providers
98
+
99
+ ├── workspace/ # Agentic analysis
100
+ │ ├── runner.ts # AgenticTaskRunner
101
+ │ ├── skill-converter.ts # Playbook ↔ Skill markdown conversion
102
+ │ └── templates/ # 10 workspace templates
103
+
104
+ ├── session-bank/ # Claude Code CLI integration
105
+ │ ├── session-bank.ts # SessionBank
106
+ │ ├── git-reader.ts # EntireGitReader
107
+ │ └── parser.ts # EntireTranscriptParser
108
+
109
+ ├── mcp/ # MCP server (deprecated)
110
+ │ └── playbook-server.ts
111
+
112
+ ├── persistence/ # Unified SQLite persistence
113
+ │ ├── sqlite-persistence.ts # SqlitePersistence (WAL mode, prepared statements, CRUD)
114
+ │ ├── serializers.ts # Date/embedding/JSON serialization helpers
115
+ │ ├── migrator.ts # One-time JSON→SQLite migration
116
+ │ └── index.ts # Barrel exports
117
+
118
+ ├── utils/ # Shared utilities
119
+ │ ├── similarity.ts # cosine, jaccard, text, ngram similarity + tokenize
120
+ │ ├── storage.ts # JsonStore, saveJson, loadJson, ensureDir (legacy)
121
+ │ ├── partitioned-store.ts # PartitionedStore (legacy, replaced by SqlitePersistence)
122
+ │ ├── validation.ts # Zod schemas + validators
123
+ │ ├── frontmatter.ts # YAML frontmatter parsing for knowledge notes
124
+ │ ├── error-classifier.ts # Unified error classification (shared by analyzer, reflexion, etc.)
125
+ │ └── trajectory-helpers.ts # Shared action repetition + tool name extraction
126
+
127
+ └── bin/
128
+ └── cognitive-core.ts # CLI entry point
129
+ ```
130
+
131
+ ## Key Architectural Patterns
132
+
133
+ ### Solve pipeline
134
+ `atlas.solve(task)` is the main entry point. After the agent produces a trajectory, processing runs in this order:
135
+ 1. **Post-execution subsystems** (per-solve, synchronous) — PlaybookUsageInference, MetaLearner reflection, EffectivenessTracker annotation. These require `RoutingDecision` + injected playbook context, so they only run via `solve()`, NOT via `processTrajectory()`.
136
+ 2. **Unified pipeline** — delegates to `UnifiedLearningPipeline` which manages three speeds:
137
+ - **Immediate** (InstantLoop, <200ms): store experience, bump playbook confidence, extract lightweight knowledge, causal edges, reflexion episodes
138
+ - **Batch**: triggered by energy evaluation (not just count). Runs full analysis, playbook extraction, temporal compression, re-clustering, pruning
139
+ - **Maintenance** (circadian-gated): knowledge defrag, healing orchestrator, meta-strategy generation
140
+
141
+ Atlas delegates all learning to `UnifiedLearningPipeline`. The pipeline owns InstantLoop, EnergyEvaluator, MaintenanceScheduler, and HealingOrchestrator internally.
142
+
143
+ ### processTrajectory() vs solve()
144
+ `atlas.processTrajectory(trajectory)` runs only the unified learning pipeline (immediate + batch + maintenance). The post-execution subsystems (UsageInference, MetaLearner, EffectivenessTracker) do NOT run — they need routing context from `solve()`. Use `processTrajectory()` for feeding external trajectories.
145
+
146
+ ### Shared candidate retrieval
147
+ `memory/candidate-retrieval.ts` implements the "InvertedIndex narrow → fallback to full scan" pattern used by ExperienceMemory, PlaybookLibrary, and CausalStore. Don't duplicate this pattern.
148
+
149
+ ### Shared error classification
150
+ `utils/error-classifier.ts` provides canonical error types used by TrajectoryAnalyzer and ReflexionGenerator. Don't create local error classification — use `classifyError()` or `classifyErrorType()`.
151
+
152
+ ### Shared trajectory helpers
153
+ `utils/trajectory-helpers.ts` provides `detectRepeatedActions()` and `extractToolNames()` used by analyzer, reflexion-generator, and meta-learner. Don't duplicate action counting or tool name regex.
154
+
155
+ ### Unified SQLite persistence
156
+ All system-internal data lives in a single SQLite database (`.atlas/cognitive-core.db`) managed by `SqlitePersistence`. This includes experiences, playbooks, reflexion episodes, causal edges, meta observations/strategies, playbook version history, and system state (MoEGate weights, ReasoningBank clusters, TemporalCompressor pending demotions).
157
+
158
+ Two persistence layers, separated by audience:
159
+
160
+ | Layer | What | Format | Managed by |
161
+ |-------|------|--------|------------|
162
+ | **SQLite DB** (system-internal) | Experiences, playbooks, causal edges, meta state, routing weights, version history | `.atlas/cognitive-core.db` | SqlitePersistence |
163
+ | **Files** (agent-accessible) | Knowledge notes | Markdown + YAML frontmatter | KnowledgeBank |
164
+ | | Published skills | skill-tree format | SkillPublisher / SqliteStorageAdapter (own `skills.db`) |
165
+ | | Session transcripts | git orphan branch | SessionBank |
166
+
167
+ Memory stores (ExperienceMemory, PlaybookLibrary, ReflexionMemory, CausalStore, MetaMemory) use write-through to SQLite — no dirty tracking, immediate INSERT/UPDATE. InvertedIndex is an in-memory cache rebuilt from SQLite on `init()`.
168
+
169
+ System state for stateful subsystems (MoEGate, ReasoningBank, TemporalCompressor) is persisted via the `system_state` key-value table and restored on startup via `loadPersistedState()`.
170
+
171
+ Playbook versioning: `snapshotPlaybookVersion()` captures pre-mutation snapshots to `playbook_versions` table on `recordSuccess`, `recordFailure`, and `evolve` calls.
172
+
173
+ ### JSON→SQLite migration
174
+ `persistence/migrator.ts` auto-detects old JSON files on first startup and migrates them to SQLite. Old directories are renamed to `{collection}.migrated/` as backup.
175
+
176
+ ### Knowledge storage
177
+ Knowledge notes are Markdown files with YAML frontmatter. Types: observation, entity, domain-summary. Stored in `knowledge/{observations,entities,domains}/`. Any filesystem-aware agent can read them directly.
178
+
179
+ ### Factory pattern for external consumers
180
+ `factory.ts` provides `CognitiveCoreFactory` for skill-tree and other external integrations. Prefer using factory for external consumers rather than direct imports.
181
+
182
+ ## Coding Conventions
183
+
184
+ - **TypeScript strict mode** — `noUnusedLocals`, `noUnusedParameters`, `noImplicitReturns`, `noFallthroughCasesInSwitch` all enabled
185
+ - **ES modules** — all imports use `.js` extensions (TypeScript ESM convention)
186
+ - **Target**: ES2022, module: ESNext, moduleResolution: bundler
187
+ - **Creator functions** — every class has a `createX()` factory function exported alongside it (e.g., `createAnalyzer()`, `createMetaLearner()`)
188
+ - **Config pattern** — classes take `Partial<Config>` and merge with `DEFAULT_CONFIG` using spread
189
+ - **Type-only imports** — use `import type { ... }` for types that aren't used at runtime
190
+ - **Re-exports** — each directory has an `index.ts` barrel file; root `index.ts` re-exports everything
191
+ - **No default exports** — all exports are named
192
+
193
+ ## Testing
194
+
195
+ - Framework: Vitest with `globals: true`
196
+ - Test files mirror source structure: `tests/learning/analyzer.test.ts` tests `src/learning/analyzer.ts`
197
+ - Helper factories for test data: `createTrajectory()`, `createTask()`, `createStep()`, `successOutcome()`, `failureOutcome()`
198
+ - Tests are unit-level; `tests/integration/` has e2e tests
199
+ - Test timeout: 10s default
200
+
201
+ ## Dependencies
202
+
203
+ Key runtime dependencies:
204
+ - `agent-workspace` — workspace management (WorkspaceManager, WorkspaceHandle)
205
+ - `better-sqlite3` + `sqlite-vec` — unified SQLite persistence + vector store
206
+ - `yaml` — YAML frontmatter parsing
207
+ - `zod` — schema validation
208
+ - `acp-factory` — Agent Communication Protocol
209
+ - `minimem` — optional hybrid search
210
+ - `skill-tree` — skill publishing (has unresolved import issues in surfacing/)
211
+
212
+ ## Common Tasks
213
+
214
+ ### Adding a new memory store
215
+ 1. Create `src/memory/my-store.ts` with the store class
216
+ 2. Constructor takes `SqlitePersistence` — add table DDL in `sqlite-persistence.ts` `createTables()`
217
+ 3. Add to `src/memory/index.ts` barrel exports
218
+ 4. Wire into `MemorySystem` in `src/memory/system.ts`
219
+ 5. Use `getCandidates()` from `candidate-retrieval.ts` for retrieval if using InvertedIndex
220
+ 6. Add to root `src/index.ts` exports
221
+
222
+ ### Adding a new workspace template
223
+ 1. Create `src/workspace/templates/my-template.ts`
224
+ 2. Export the template constant
225
+ 3. Wire into `src/workspace/index.ts`
226
+
227
+ ### Adding a new learning component
228
+ 1. Create in `src/learning/`
229
+ 2. Wire into `LearningPipeline.batch()` or `InstantLoop.process()` as appropriate
230
+ 3. If shared logic exists, add to `utils/error-classifier.ts` or `utils/trajectory-helpers.ts`
231
+
232
+ ### Modifying error classification
233
+ Update `src/utils/error-classifier.ts` — this is the single source of truth. Don't add local error classification logic in consumers.