cognitive-core 0.2.5 → 0.3.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 (1279) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +88 -143
  3. package/dist/agents/mock-provider.d.ts.map +1 -1
  4. package/dist/agents/mock-provider.js.map +1 -1
  5. package/dist/agents/types.d.ts.map +1 -1
  6. package/dist/agents/types.js +5 -4
  7. package/dist/agents/types.js.map +1 -1
  8. package/dist/atlas.d.ts +309 -97
  9. package/dist/atlas.d.ts.map +1 -1
  10. package/dist/atlas.js +743 -277
  11. package/dist/atlas.js.map +1 -1
  12. package/dist/bin/cli-utils.d.ts +25 -2
  13. package/dist/bin/cli-utils.d.ts.map +1 -1
  14. package/dist/bin/cli-utils.js +79 -9
  15. package/dist/bin/cli-utils.js.map +1 -1
  16. package/dist/bin/cognitive-core.js +32 -0
  17. package/dist/bin/cognitive-core.js.map +1 -1
  18. package/dist/bin/commands/dream.d.ts +17 -0
  19. package/dist/bin/commands/dream.d.ts.map +1 -0
  20. package/dist/bin/commands/dream.js +168 -0
  21. package/dist/bin/commands/dream.js.map +1 -0
  22. package/dist/bin/commands/eval.d.ts +181 -0
  23. package/dist/bin/commands/eval.d.ts.map +1 -0
  24. package/dist/bin/commands/eval.js +1582 -0
  25. package/dist/bin/commands/eval.js.map +1 -0
  26. package/dist/bin/commands/kb.js +0 -8
  27. package/dist/bin/commands/kb.js.map +1 -1
  28. package/dist/bin/commands/learn.js +12 -4
  29. package/dist/bin/commands/learn.js.map +1 -1
  30. package/dist/bin/commands/legacy.d.ts.map +1 -1
  31. package/dist/bin/commands/legacy.js +1 -1
  32. package/dist/bin/commands/legacy.js.map +1 -1
  33. package/dist/bin/commands/run.d.ts.map +1 -1
  34. package/dist/bin/commands/run.js +10 -9
  35. package/dist/bin/commands/run.js.map +1 -1
  36. package/dist/bin/commands/sessions.d.ts.map +1 -1
  37. package/dist/bin/commands/sessions.js.map +1 -1
  38. package/dist/bin/commands/skills.d.ts.map +1 -1
  39. package/dist/bin/commands/skills.js +283 -1
  40. package/dist/bin/commands/skills.js.map +1 -1
  41. package/dist/embeddings/bm25.d.ts.map +1 -1
  42. package/dist/embeddings/bm25.js +1 -2
  43. package/dist/embeddings/bm25.js.map +1 -1
  44. package/dist/embeddings/index.d.ts +3 -3
  45. package/dist/embeddings/index.d.ts.map +1 -1
  46. package/dist/embeddings/index.js +3 -3
  47. package/dist/embeddings/index.js.map +1 -1
  48. package/dist/embeddings/inverted-index.js +62 -7
  49. package/dist/embeddings/inverted-index.js.map +1 -1
  50. package/dist/embeddings/manager.d.ts.map +1 -1
  51. package/dist/embeddings/manager.js +6 -5
  52. package/dist/embeddings/manager.js.map +1 -1
  53. package/dist/embeddings/provider.d.ts +96 -5
  54. package/dist/embeddings/provider.d.ts.map +1 -1
  55. package/dist/embeddings/provider.js +171 -48
  56. package/dist/embeddings/provider.js.map +1 -1
  57. package/dist/embeddings/vector-store.d.ts.map +1 -1
  58. package/dist/embeddings/vector-store.js +3 -1
  59. package/dist/embeddings/vector-store.js.map +1 -1
  60. package/dist/eval/ablation-validate.d.ts +12 -0
  61. package/dist/eval/ablation-validate.d.ts.map +1 -0
  62. package/dist/eval/ablation-validate.js +78 -0
  63. package/dist/eval/ablation-validate.js.map +1 -0
  64. package/dist/eval/ablation.d.ts +94 -0
  65. package/dist/eval/ablation.d.ts.map +1 -0
  66. package/dist/eval/ablation.js +161 -0
  67. package/dist/eval/ablation.js.map +1 -0
  68. package/dist/eval/ci-smoke.d.ts +11 -0
  69. package/dist/eval/ci-smoke.d.ts.map +1 -0
  70. package/dist/eval/ci-smoke.js +49 -0
  71. package/dist/eval/ci-smoke.js.map +1 -0
  72. package/dist/eval/diagnostics.d.ts +214 -0
  73. package/dist/eval/diagnostics.d.ts.map +1 -0
  74. package/dist/eval/diagnostics.js +107 -0
  75. package/dist/eval/diagnostics.js.map +1 -0
  76. package/dist/eval/index.d.ts +27 -0
  77. package/dist/eval/index.d.ts.map +1 -0
  78. package/dist/eval/index.js +27 -0
  79. package/dist/eval/index.js.map +1 -0
  80. package/dist/eval/live/alfworld.d.ts +248 -0
  81. package/dist/eval/live/alfworld.d.ts.map +1 -0
  82. package/dist/eval/live/alfworld.js +637 -0
  83. package/dist/eval/live/alfworld.js.map +1 -0
  84. package/dist/eval/live/alfworld_h1.d.ts +16 -0
  85. package/dist/eval/live/alfworld_h1.d.ts.map +1 -0
  86. package/dist/eval/live/alfworld_h1.js +75 -0
  87. package/dist/eval/live/alfworld_h1.js.map +1 -0
  88. package/dist/eval/live/alfworld_memory.d.ts +38 -0
  89. package/dist/eval/live/alfworld_memory.d.ts.map +1 -0
  90. package/dist/eval/live/alfworld_memory.js +184 -0
  91. package/dist/eval/live/alfworld_memory.js.map +1 -0
  92. package/dist/eval/live/alfworld_strategy.d.ts +65 -0
  93. package/dist/eval/live/alfworld_strategy.d.ts.map +1 -0
  94. package/dist/eval/live/alfworld_strategy.js +89 -0
  95. package/dist/eval/live/alfworld_strategy.js.map +1 -0
  96. package/dist/eval/live/azure-openai-llm-provider.d.ts +41 -0
  97. package/dist/eval/live/azure-openai-llm-provider.d.ts.map +1 -0
  98. package/dist/eval/live/azure-openai-llm-provider.js +92 -0
  99. package/dist/eval/live/azure-openai-llm-provider.js.map +1 -0
  100. package/dist/eval/live/bridges/skillflow_e2b_bridge.d.ts +3 -0
  101. package/dist/eval/live/bridges/skillflow_e2b_bridge.d.ts.map +1 -0
  102. package/dist/eval/live/bridges/skillflow_e2b_bridge.js +12 -0
  103. package/dist/eval/live/bridges/skillflow_e2b_bridge.js.map +1 -0
  104. package/dist/eval/live/claude-cli-llm-provider.d.ts +53 -0
  105. package/dist/eval/live/claude-cli-llm-provider.d.ts.map +1 -0
  106. package/dist/eval/live/claude-cli-llm-provider.js +71 -0
  107. package/dist/eval/live/claude-cli-llm-provider.js.map +1 -0
  108. package/dist/eval/live/claude-cli.d.ts +96 -0
  109. package/dist/eval/live/claude-cli.d.ts.map +1 -0
  110. package/dist/eval/live/claude-cli.js +314 -0
  111. package/dist/eval/live/claude-cli.js.map +1 -0
  112. package/dist/eval/live/claude-delegate.d.ts +41 -0
  113. package/dist/eval/live/claude-delegate.d.ts.map +1 -0
  114. package/dist/eval/live/claude-delegate.js +59 -0
  115. package/dist/eval/live/claude-delegate.js.map +1 -0
  116. package/dist/eval/live/claude-workspace-backend.d.ts +24 -0
  117. package/dist/eval/live/claude-workspace-backend.d.ts.map +1 -0
  118. package/dist/eval/live/claude-workspace-backend.js +76 -0
  119. package/dist/eval/live/claude-workspace-backend.js.map +1 -0
  120. package/dist/eval/live/clbench.d.ts +64 -0
  121. package/dist/eval/live/clbench.d.ts.map +1 -0
  122. package/dist/eval/live/clbench.js +291 -0
  123. package/dist/eval/live/clbench.js.map +1 -0
  124. package/dist/eval/live/cold-reuse.d.ts +21 -0
  125. package/dist/eval/live/cold-reuse.d.ts.map +1 -0
  126. package/dist/eval/live/cold-reuse.js +102 -0
  127. package/dist/eval/live/cold-reuse.js.map +1 -0
  128. package/dist/eval/live/difficulty-registry.d.ts +68 -0
  129. package/dist/eval/live/difficulty-registry.d.ts.map +1 -0
  130. package/dist/eval/live/difficulty-registry.js +169 -0
  131. package/dist/eval/live/difficulty-registry.js.map +1 -0
  132. package/dist/eval/live/docker.d.ts +52 -0
  133. package/dist/eval/live/docker.d.ts.map +1 -0
  134. package/dist/eval/live/docker.js +164 -0
  135. package/dist/eval/live/docker.js.map +1 -0
  136. package/dist/eval/live/env-bridge.d.ts +68 -0
  137. package/dist/eval/live/env-bridge.d.ts.map +1 -0
  138. package/dist/eval/live/env-bridge.js +188 -0
  139. package/dist/eval/live/env-bridge.js.map +1 -0
  140. package/dist/eval/live/gsm8k.d.ts +44 -0
  141. package/dist/eval/live/gsm8k.d.ts.map +1 -0
  142. package/dist/eval/live/gsm8k.js +142 -0
  143. package/dist/eval/live/gsm8k.js.map +1 -0
  144. package/dist/eval/live/index.d.ts +38 -0
  145. package/dist/eval/live/index.d.ts.map +1 -0
  146. package/dist/eval/live/index.js +38 -0
  147. package/dist/eval/live/index.js.map +1 -0
  148. package/dist/eval/live/lifelongagent.d.ts +64 -0
  149. package/dist/eval/live/lifelongagent.d.ts.map +1 -0
  150. package/dist/eval/live/lifelongagent.js +216 -0
  151. package/dist/eval/live/lifelongagent.js.map +1 -0
  152. package/dist/eval/live/lift-registry.d.ts +128 -0
  153. package/dist/eval/live/lift-registry.d.ts.map +1 -0
  154. package/dist/eval/live/lift-registry.js +147 -0
  155. package/dist/eval/live/lift-registry.js.map +1 -0
  156. package/dist/eval/live/live-benchmark.d.ts +84 -0
  157. package/dist/eval/live/live-benchmark.d.ts.map +1 -0
  158. package/dist/eval/live/live-benchmark.js +2 -0
  159. package/dist/eval/live/live-benchmark.js.map +1 -0
  160. package/dist/eval/live/live-runner.d.ts +609 -0
  161. package/dist/eval/live/live-runner.d.ts.map +1 -0
  162. package/dist/eval/live/live-runner.js +1409 -0
  163. package/dist/eval/live/live-runner.js.map +1 -0
  164. package/dist/eval/live/refine.d.ts +88 -0
  165. package/dist/eval/live/refine.d.ts.map +1 -0
  166. package/dist/eval/live/refine.js +135 -0
  167. package/dist/eval/live/refine.js.map +1 -0
  168. package/dist/eval/live/registry-store.d.ts +109 -0
  169. package/dist/eval/live/registry-store.d.ts.map +1 -0
  170. package/dist/eval/live/registry-store.js +272 -0
  171. package/dist/eval/live/registry-store.js.map +1 -0
  172. package/dist/eval/live/run-checkpoint.d.ts +55 -0
  173. package/dist/eval/live/run-checkpoint.d.ts.map +1 -0
  174. package/dist/eval/live/run-checkpoint.js +86 -0
  175. package/dist/eval/live/run-checkpoint.js.map +1 -0
  176. package/dist/eval/live/run-resume.d.ts +22 -0
  177. package/dist/eval/live/run-resume.d.ts.map +1 -0
  178. package/dist/eval/live/run-resume.js +70 -0
  179. package/dist/eval/live/run-resume.js.map +1 -0
  180. package/dist/eval/live/skill-injector.d.ts +36 -0
  181. package/dist/eval/live/skill-injector.d.ts.map +1 -0
  182. package/dist/eval/live/skill-injector.js +81 -0
  183. package/dist/eval/live/skill-injector.js.map +1 -0
  184. package/dist/eval/live/skillflow-embedded-workbook-bundle.d.ts +3 -0
  185. package/dist/eval/live/skillflow-embedded-workbook-bundle.d.ts.map +1 -0
  186. package/dist/eval/live/skillflow-embedded-workbook-bundle.js +391 -0
  187. package/dist/eval/live/skillflow-embedded-workbook-bundle.js.map +1 -0
  188. package/dist/eval/live/skillflow.d.ts +154 -0
  189. package/dist/eval/live/skillflow.d.ts.map +1 -0
  190. package/dist/eval/live/skillflow.js +612 -0
  191. package/dist/eval/live/skillflow.js.map +1 -0
  192. package/dist/eval/live/skilllearnbench.d.ts +43 -0
  193. package/dist/eval/live/skilllearnbench.d.ts.map +1 -0
  194. package/dist/eval/live/skilllearnbench.js +154 -0
  195. package/dist/eval/live/skilllearnbench.js.map +1 -0
  196. package/dist/eval/live/skillopt_v1.d.ts +96 -0
  197. package/dist/eval/live/skillopt_v1.d.ts.map +1 -0
  198. package/dist/eval/live/skillopt_v1.js +0 -0
  199. package/dist/eval/live/skillopt_v1.js.map +1 -0
  200. package/dist/eval/live/skillopt_v1_causal.d.ts +26 -0
  201. package/dist/eval/live/skillopt_v1_causal.d.ts.map +1 -0
  202. package/dist/eval/live/skillopt_v1_causal.js +106 -0
  203. package/dist/eval/live/skillopt_v1_causal.js.map +1 -0
  204. package/dist/eval/live/skillopt_v1_memory.d.ts +53 -0
  205. package/dist/eval/live/skillopt_v1_memory.d.ts.map +1 -0
  206. package/dist/eval/live/skillopt_v1_memory.js +147 -0
  207. package/dist/eval/live/skillopt_v1_memory.js.map +1 -0
  208. package/dist/eval/live/skillopt_v1_rules.d.ts +39 -0
  209. package/dist/eval/live/skillopt_v1_rules.d.ts.map +1 -0
  210. package/dist/eval/live/skillopt_v1_rules.js +91 -0
  211. package/dist/eval/live/skillopt_v1_rules.js.map +1 -0
  212. package/dist/eval/live/skillsbench.d.ts +138 -0
  213. package/dist/eval/live/skillsbench.d.ts.map +1 -0
  214. package/dist/eval/live/skillsbench.js +626 -0
  215. package/dist/eval/live/skillsbench.js.map +1 -0
  216. package/dist/eval/live/stopping.d.ts +69 -0
  217. package/dist/eval/live/stopping.d.ts.map +1 -0
  218. package/dist/eval/live/stopping.js +213 -0
  219. package/dist/eval/live/stopping.js.map +1 -0
  220. package/dist/eval/live/trace.d.ts +20 -0
  221. package/dist/eval/live/trace.d.ts.map +1 -0
  222. package/dist/eval/live/trace.js +41 -0
  223. package/dist/eval/live/trace.js.map +1 -0
  224. package/dist/eval/mechanism-trace-adapter.d.ts +8 -0
  225. package/dist/eval/mechanism-trace-adapter.d.ts.map +1 -0
  226. package/dist/eval/mechanism-trace-adapter.js +118 -0
  227. package/dist/eval/mechanism-trace-adapter.js.map +1 -0
  228. package/dist/eval/memory-ab.d.ts +61 -0
  229. package/dist/eval/memory-ab.d.ts.map +1 -0
  230. package/dist/eval/memory-ab.js +161 -0
  231. package/dist/eval/memory-ab.js.map +1 -0
  232. package/dist/eval/memory-mock.d.ts +54 -0
  233. package/dist/eval/memory-mock.d.ts.map +1 -0
  234. package/dist/eval/memory-mock.js +129 -0
  235. package/dist/eval/memory-mock.js.map +1 -0
  236. package/dist/eval/memory-qa/index.d.ts +13 -0
  237. package/dist/eval/memory-qa/index.d.ts.map +1 -0
  238. package/dist/eval/memory-qa/index.js +13 -0
  239. package/dist/eval/memory-qa/index.js.map +1 -0
  240. package/dist/eval/memory-qa/iterative.d.ts +80 -0
  241. package/dist/eval/memory-qa/iterative.d.ts.map +1 -0
  242. package/dist/eval/memory-qa/iterative.js +107 -0
  243. package/dist/eval/memory-qa/iterative.js.map +1 -0
  244. package/dist/eval/memory-qa/loaders.d.ts +11 -0
  245. package/dist/eval/memory-qa/loaders.d.ts.map +1 -0
  246. package/dist/eval/memory-qa/loaders.js +21 -0
  247. package/dist/eval/memory-qa/loaders.js.map +1 -0
  248. package/dist/eval/memory-qa/metrics.d.ts +3 -0
  249. package/dist/eval/memory-qa/metrics.d.ts.map +1 -0
  250. package/dist/eval/memory-qa/metrics.js +2 -0
  251. package/dist/eval/memory-qa/metrics.js.map +1 -0
  252. package/dist/eval/memory-qa/qa.d.ts +186 -0
  253. package/dist/eval/memory-qa/qa.d.ts.map +1 -0
  254. package/dist/eval/memory-qa/qa.js +424 -0
  255. package/dist/eval/memory-qa/qa.js.map +1 -0
  256. package/dist/eval/memory-qa/retrieval.d.ts +33 -0
  257. package/dist/eval/memory-qa/retrieval.d.ts.map +1 -0
  258. package/dist/eval/memory-qa/retrieval.js +44 -0
  259. package/dist/eval/memory-qa/retrieval.js.map +1 -0
  260. package/dist/eval/memory-qa/serving.d.ts +60 -0
  261. package/dist/eval/memory-qa/serving.d.ts.map +1 -0
  262. package/dist/eval/memory-qa/serving.js +267 -0
  263. package/dist/eval/memory-qa/serving.js.map +1 -0
  264. package/dist/eval/memory-qa/types.d.ts +2 -0
  265. package/dist/eval/memory-qa/types.d.ts.map +1 -0
  266. package/dist/eval/memory-qa/types.js +2 -0
  267. package/dist/eval/memory-qa/types.js.map +1 -0
  268. package/dist/eval/metrics.d.ts +120 -0
  269. package/dist/eval/metrics.d.ts.map +1 -0
  270. package/dist/eval/metrics.js +361 -0
  271. package/dist/eval/metrics.js.map +1 -0
  272. package/dist/eval/oracle-smoke.d.ts +75 -0
  273. package/dist/eval/oracle-smoke.d.ts.map +1 -0
  274. package/dist/eval/oracle-smoke.js +143 -0
  275. package/dist/eval/oracle-smoke.js.map +1 -0
  276. package/dist/eval/playbook-calibration-report.d.ts +40 -0
  277. package/dist/eval/playbook-calibration-report.d.ts.map +1 -0
  278. package/dist/eval/playbook-calibration-report.js +246 -0
  279. package/dist/eval/playbook-calibration-report.js.map +1 -0
  280. package/dist/eval/playbook-candidate-decisions-report.d.ts +36 -0
  281. package/dist/eval/playbook-candidate-decisions-report.d.ts.map +1 -0
  282. package/dist/eval/playbook-candidate-decisions-report.js +201 -0
  283. package/dist/eval/playbook-candidate-decisions-report.js.map +1 -0
  284. package/dist/eval/playbook-usage-report.d.ts +7 -0
  285. package/dist/eval/playbook-usage-report.d.ts.map +1 -0
  286. package/dist/eval/playbook-usage-report.js +222 -0
  287. package/dist/eval/playbook-usage-report.js.map +1 -0
  288. package/dist/eval/report.d.ts +28 -0
  289. package/dist/eval/report.d.ts.map +1 -0
  290. package/dist/eval/report.js +567 -0
  291. package/dist/eval/report.js.map +1 -0
  292. package/dist/eval/retrieval/corpus.d.ts +41 -0
  293. package/dist/eval/retrieval/corpus.d.ts.map +1 -0
  294. package/dist/eval/retrieval/corpus.js +158 -0
  295. package/dist/eval/retrieval/corpus.js.map +1 -0
  296. package/dist/eval/retrieval/index.d.ts +12 -0
  297. package/dist/eval/retrieval/index.d.ts.map +1 -0
  298. package/dist/eval/retrieval/index.js +14 -0
  299. package/dist/eval/retrieval/index.js.map +1 -0
  300. package/dist/eval/retrieval/knowledge-corpus.d.ts +91 -0
  301. package/dist/eval/retrieval/knowledge-corpus.d.ts.map +1 -0
  302. package/dist/eval/retrieval/knowledge-corpus.js +268 -0
  303. package/dist/eval/retrieval/knowledge-corpus.js.map +1 -0
  304. package/dist/eval/retrieval/knowledge-quality.d.ts +91 -0
  305. package/dist/eval/retrieval/knowledge-quality.d.ts.map +1 -0
  306. package/dist/eval/retrieval/knowledge-quality.js +247 -0
  307. package/dist/eval/retrieval/knowledge-quality.js.map +1 -0
  308. package/dist/eval/retrieval/ladder.d.ts +69 -0
  309. package/dist/eval/retrieval/ladder.d.ts.map +1 -0
  310. package/dist/eval/retrieval/ladder.js +80 -0
  311. package/dist/eval/retrieval/ladder.js.map +1 -0
  312. package/dist/eval/retrieval/quality.d.ts +39 -0
  313. package/dist/eval/retrieval/quality.d.ts.map +1 -0
  314. package/dist/eval/retrieval/quality.js +75 -0
  315. package/dist/eval/retrieval/quality.js.map +1 -0
  316. package/dist/eval/rng.d.ts +25 -0
  317. package/dist/eval/rng.d.ts.map +1 -0
  318. package/dist/eval/rng.js +43 -0
  319. package/dist/eval/rng.js.map +1 -0
  320. package/dist/eval/runner.d.ts +65 -0
  321. package/dist/eval/runner.d.ts.map +1 -0
  322. package/dist/eval/runner.js +216 -0
  323. package/dist/eval/runner.js.map +1 -0
  324. package/dist/eval/skill-bundle.d.ts +18 -0
  325. package/dist/eval/skill-bundle.d.ts.map +1 -0
  326. package/dist/eval/skill-bundle.js +38 -0
  327. package/dist/eval/skill-bundle.js.map +1 -0
  328. package/dist/eval/swarmkit-report.d.ts +21 -0
  329. package/dist/eval/swarmkit-report.d.ts.map +1 -0
  330. package/dist/eval/swarmkit-report.js +93 -0
  331. package/dist/eval/swarmkit-report.js.map +1 -0
  332. package/dist/eval/task-stream.d.ts +22 -0
  333. package/dist/eval/task-stream.d.ts.map +1 -0
  334. package/dist/eval/task-stream.js +99 -0
  335. package/dist/eval/task-stream.js.map +1 -0
  336. package/dist/eval/types.d.ts +173 -0
  337. package/dist/eval/types.d.ts.map +1 -0
  338. package/dist/eval/types.js +11 -0
  339. package/dist/eval/types.js.map +1 -0
  340. package/dist/experimental/causal-store.d.ts +97 -0
  341. package/dist/experimental/causal-store.d.ts.map +1 -0
  342. package/dist/experimental/causal-store.js +213 -0
  343. package/dist/experimental/causal-store.js.map +1 -0
  344. package/dist/experimental/graph-layers/base.d.ts +29 -0
  345. package/dist/experimental/graph-layers/base.d.ts.map +1 -0
  346. package/dist/experimental/graph-layers/base.js +143 -0
  347. package/dist/experimental/graph-layers/base.js.map +1 -0
  348. package/dist/experimental/graph-layers/causal.d.ts +14 -0
  349. package/dist/experimental/graph-layers/causal.d.ts.map +1 -0
  350. package/dist/experimental/graph-layers/causal.js +14 -0
  351. package/dist/experimental/graph-layers/causal.js.map +1 -0
  352. package/dist/experimental/graph-layers/entity.d.ts +14 -0
  353. package/dist/experimental/graph-layers/entity.d.ts.map +1 -0
  354. package/dist/experimental/graph-layers/entity.js +14 -0
  355. package/dist/experimental/graph-layers/entity.js.map +1 -0
  356. package/dist/experimental/graph-layers/index.d.ts +6 -0
  357. package/dist/experimental/graph-layers/index.d.ts.map +1 -0
  358. package/dist/experimental/graph-layers/index.js +6 -0
  359. package/dist/experimental/graph-layers/index.js.map +1 -0
  360. package/dist/experimental/graph-layers/semantic.d.ts +14 -0
  361. package/dist/experimental/graph-layers/semantic.d.ts.map +1 -0
  362. package/dist/experimental/graph-layers/semantic.js +14 -0
  363. package/dist/experimental/graph-layers/semantic.js.map +1 -0
  364. package/dist/experimental/graph-layers/temporal.d.ts +14 -0
  365. package/dist/experimental/graph-layers/temporal.d.ts.map +1 -0
  366. package/dist/experimental/graph-layers/temporal.js +14 -0
  367. package/dist/experimental/graph-layers/temporal.js.map +1 -0
  368. package/dist/experimental/healing-orchestrator.d.ts +182 -0
  369. package/dist/experimental/healing-orchestrator.d.ts.map +1 -0
  370. package/dist/experimental/healing-orchestrator.js +250 -0
  371. package/dist/experimental/healing-orchestrator.js.map +1 -0
  372. package/dist/experimental/knowledge-graph-types.d.ts +148 -0
  373. package/dist/experimental/knowledge-graph-types.d.ts.map +1 -0
  374. package/dist/experimental/knowledge-graph-types.js +40 -0
  375. package/dist/experimental/knowledge-graph-types.js.map +1 -0
  376. package/dist/experimental/knowledge-graph.d.ts +41 -0
  377. package/dist/experimental/knowledge-graph.d.ts.map +1 -0
  378. package/dist/experimental/knowledge-graph.js +270 -0
  379. package/dist/experimental/knowledge-graph.js.map +1 -0
  380. package/dist/experimental/meta-reflection.d.ts +47 -0
  381. package/dist/experimental/meta-reflection.d.ts.map +1 -0
  382. package/dist/experimental/meta-reflection.js +143 -0
  383. package/dist/experimental/meta-reflection.js.map +1 -0
  384. package/dist/experimental/moe-gate.d.ts +134 -0
  385. package/dist/experimental/moe-gate.d.ts.map +1 -0
  386. package/dist/experimental/moe-gate.js +240 -0
  387. package/dist/experimental/moe-gate.js.map +1 -0
  388. package/dist/experimental/reasoning-bank.d.ts +130 -0
  389. package/dist/experimental/reasoning-bank.d.ts.map +1 -0
  390. package/dist/experimental/reasoning-bank.js +427 -0
  391. package/dist/experimental/reasoning-bank.js.map +1 -0
  392. package/dist/experimental/team/team-config.d.ts +127 -0
  393. package/dist/experimental/team/team-config.d.ts.map +1 -0
  394. package/dist/experimental/team/team-config.js +48 -0
  395. package/dist/experimental/team/team-config.js.map +1 -0
  396. package/dist/experimental/team/team-experience.d.ts +300 -0
  397. package/dist/experimental/team/team-experience.d.ts.map +1 -0
  398. package/dist/experimental/team/team-experience.js +355 -0
  399. package/dist/experimental/team/team-experience.js.map +1 -0
  400. package/dist/experimental/team/team-ingester.d.ts +152 -0
  401. package/dist/experimental/team/team-ingester.d.ts.map +1 -0
  402. package/dist/experimental/team/team-ingester.js +330 -0
  403. package/dist/experimental/team/team-ingester.js.map +1 -0
  404. package/dist/experimental/team/team-meta-learner.d.ts +51 -0
  405. package/dist/experimental/team/team-meta-learner.d.ts.map +1 -0
  406. package/dist/experimental/team/team-meta-learner.js +404 -0
  407. package/dist/experimental/team/team-meta-learner.js.map +1 -0
  408. package/dist/experimental/team/team-meta.d.ts +160 -0
  409. package/dist/experimental/team/team-meta.d.ts.map +1 -0
  410. package/dist/experimental/team/team-meta.js +42 -0
  411. package/dist/experimental/team/team-meta.js.map +1 -0
  412. package/dist/experimental/team/team-pipeline.d.ts +77 -0
  413. package/dist/experimental/team/team-pipeline.d.ts.map +1 -0
  414. package/dist/experimental/team/team-pipeline.js +262 -0
  415. package/dist/experimental/team/team-pipeline.js.map +1 -0
  416. package/dist/experimental/team/team-playbook-extraction.d.ts +45 -0
  417. package/dist/experimental/team/team-playbook-extraction.d.ts.map +1 -0
  418. package/dist/experimental/team/team-playbook-extraction.js +526 -0
  419. package/dist/experimental/team/team-playbook-extraction.js.map +1 -0
  420. package/dist/experimental/team/team-playbook.d.ts +276 -0
  421. package/dist/experimental/team/team-playbook.d.ts.map +1 -0
  422. package/dist/experimental/team/team-playbook.js +85 -0
  423. package/dist/experimental/team/team-playbook.js.map +1 -0
  424. package/dist/experimental/team/team-router.d.ts +98 -0
  425. package/dist/experimental/team/team-router.d.ts.map +1 -0
  426. package/dist/experimental/team/team-router.js +312 -0
  427. package/dist/experimental/team/team-router.js.map +1 -0
  428. package/dist/experimental/team/team-skill-library.d.ts +180 -0
  429. package/dist/experimental/team/team-skill-library.d.ts.map +1 -0
  430. package/dist/experimental/team/team-skill-library.js +385 -0
  431. package/dist/experimental/team/team-skill-library.js.map +1 -0
  432. package/dist/experimental/team/team-trajectory-analysis.d.ts +19 -0
  433. package/dist/experimental/team/team-trajectory-analysis.d.ts.map +1 -0
  434. package/dist/experimental/team/team-trajectory-analysis.js +442 -0
  435. package/dist/experimental/team/team-trajectory-analysis.js.map +1 -0
  436. package/dist/experimental/team/team-trajectory.d.ts +305 -0
  437. package/dist/experimental/team/team-trajectory.d.ts.map +1 -0
  438. package/dist/experimental/team/team-trajectory.js +315 -0
  439. package/dist/experimental/team/team-trajectory.js.map +1 -0
  440. package/dist/factory.d.ts +2 -3
  441. package/dist/factory.d.ts.map +1 -1
  442. package/dist/factory.js +12 -11
  443. package/dist/factory.js.map +1 -1
  444. package/dist/index.d.ts +9 -11
  445. package/dist/index.d.ts.map +1 -1
  446. package/dist/index.js +26 -32
  447. package/dist/index.js.map +1 -1
  448. package/dist/learning/analyzer.d.ts +26 -36
  449. package/dist/learning/analyzer.d.ts.map +1 -1
  450. package/dist/learning/analyzer.js +50 -11
  451. package/dist/learning/analyzer.js.map +1 -1
  452. package/dist/learning/compound-bootstrap/external-acquisition.d.ts +63 -0
  453. package/dist/learning/compound-bootstrap/external-acquisition.d.ts.map +1 -0
  454. package/dist/learning/compound-bootstrap/external-acquisition.js +255 -0
  455. package/dist/learning/compound-bootstrap/external-acquisition.js.map +1 -0
  456. package/dist/learning/compound-bootstrap/index.d.ts +3 -0
  457. package/dist/learning/compound-bootstrap/index.d.ts.map +1 -0
  458. package/dist/learning/compound-bootstrap/index.js +3 -0
  459. package/dist/learning/compound-bootstrap/index.js.map +1 -0
  460. package/dist/learning/compound-bootstrap/workspace-analyzer.d.ts +33 -0
  461. package/dist/learning/compound-bootstrap/workspace-analyzer.d.ts.map +1 -0
  462. package/dist/learning/compound-bootstrap/workspace-analyzer.js +379 -0
  463. package/dist/learning/compound-bootstrap/workspace-analyzer.js.map +1 -0
  464. package/dist/learning/consolidation-coordinator.d.ts +49 -0
  465. package/dist/learning/consolidation-coordinator.d.ts.map +1 -0
  466. package/dist/learning/consolidation-coordinator.js +75 -0
  467. package/dist/learning/consolidation-coordinator.js.map +1 -0
  468. package/dist/learning/convention-distiller.d.ts +84 -0
  469. package/dist/learning/convention-distiller.d.ts.map +1 -0
  470. package/dist/learning/convention-distiller.js +268 -0
  471. package/dist/learning/convention-distiller.js.map +1 -0
  472. package/dist/learning/distiller.d.ts +82 -0
  473. package/dist/learning/distiller.d.ts.map +1 -0
  474. package/dist/learning/distiller.js +353 -0
  475. package/dist/learning/distiller.js.map +1 -0
  476. package/dist/learning/effectiveness.d.ts +12 -2
  477. package/dist/learning/effectiveness.d.ts.map +1 -1
  478. package/dist/learning/effectiveness.js +18 -14
  479. package/dist/learning/effectiveness.js.map +1 -1
  480. package/dist/learning/escalation.d.ts +89 -0
  481. package/dist/learning/escalation.d.ts.map +1 -0
  482. package/dist/learning/escalation.js +168 -0
  483. package/dist/learning/escalation.js.map +1 -0
  484. package/dist/learning/external-exposure.d.ts +57 -0
  485. package/dist/learning/external-exposure.d.ts.map +1 -0
  486. package/dist/learning/external-exposure.js +95 -0
  487. package/dist/learning/external-exposure.js.map +1 -0
  488. package/dist/learning/gepa-proposer.d.ts +116 -0
  489. package/dist/learning/gepa-proposer.d.ts.map +1 -0
  490. package/dist/learning/gepa-proposer.js +258 -0
  491. package/dist/learning/gepa-proposer.js.map +1 -0
  492. package/dist/learning/index.d.ts +21 -8
  493. package/dist/learning/index.d.ts.map +1 -1
  494. package/dist/learning/index.js +28 -10
  495. package/dist/learning/index.js.map +1 -1
  496. package/dist/learning/instant-loop.d.ts +46 -16
  497. package/dist/learning/instant-loop.d.ts.map +1 -1
  498. package/dist/learning/instant-loop.js +114 -111
  499. package/dist/learning/instant-loop.js.map +1 -1
  500. package/dist/learning/knowledge-extractor.d.ts.map +1 -1
  501. package/dist/learning/knowledge-extractor.js +1 -2
  502. package/dist/learning/knowledge-extractor.js.map +1 -1
  503. package/dist/learning/llm-extractor.d.ts +88 -0
  504. package/dist/learning/llm-extractor.d.ts.map +1 -0
  505. package/dist/learning/llm-extractor.js +372 -0
  506. package/dist/learning/llm-extractor.js.map +1 -0
  507. package/dist/learning/loop-coordinator.d.ts +61 -0
  508. package/dist/learning/loop-coordinator.d.ts.map +1 -0
  509. package/dist/learning/loop-coordinator.js +96 -0
  510. package/dist/learning/loop-coordinator.js.map +1 -0
  511. package/dist/learning/maintenance-scheduler.d.ts +15 -4
  512. package/dist/learning/maintenance-scheduler.d.ts.map +1 -1
  513. package/dist/learning/maintenance-scheduler.js +19 -16
  514. package/dist/learning/maintenance-scheduler.js.map +1 -1
  515. package/dist/learning/mechanism-trace.d.ts +196 -0
  516. package/dist/learning/mechanism-trace.d.ts.map +1 -0
  517. package/dist/learning/mechanism-trace.js +81 -0
  518. package/dist/learning/mechanism-trace.js.map +1 -0
  519. package/dist/learning/merge-proposer.d.ts +102 -0
  520. package/dist/learning/merge-proposer.d.ts.map +1 -0
  521. package/dist/learning/merge-proposer.js +253 -0
  522. package/dist/learning/merge-proposer.js.map +1 -0
  523. package/dist/learning/meta-learner.d.ts +9 -7
  524. package/dist/learning/meta-learner.d.ts.map +1 -1
  525. package/dist/learning/meta-learner.js +16 -45
  526. package/dist/learning/meta-learner.js.map +1 -1
  527. package/dist/learning/mutation-gate.d.ts +218 -0
  528. package/dist/learning/mutation-gate.d.ts.map +1 -0
  529. package/dist/learning/mutation-gate.js +390 -0
  530. package/dist/learning/mutation-gate.js.map +1 -0
  531. package/dist/learning/oracle-signal.d.ts +67 -0
  532. package/dist/learning/oracle-signal.d.ts.map +1 -0
  533. package/dist/learning/oracle-signal.js +94 -0
  534. package/dist/learning/oracle-signal.js.map +1 -0
  535. package/dist/learning/pipeline.d.ts +116 -0
  536. package/dist/learning/pipeline.d.ts.map +1 -0
  537. package/dist/learning/pipeline.js +288 -0
  538. package/dist/learning/pipeline.js.map +1 -0
  539. package/dist/learning/playbook-extractor.d.ts +8 -0
  540. package/dist/learning/playbook-extractor.d.ts.map +1 -1
  541. package/dist/learning/playbook-extractor.js +119 -34
  542. package/dist/learning/playbook-extractor.js.map +1 -1
  543. package/dist/learning/playbook-optimizer.d.ts +37 -0
  544. package/dist/learning/playbook-optimizer.d.ts.map +1 -0
  545. package/dist/learning/playbook-optimizer.js +125 -0
  546. package/dist/learning/playbook-optimizer.js.map +1 -0
  547. package/dist/learning/reflective-proposer.d.ts +173 -0
  548. package/dist/learning/reflective-proposer.d.ts.map +1 -0
  549. package/dist/learning/reflective-proposer.js +354 -0
  550. package/dist/learning/reflective-proposer.js.map +1 -0
  551. package/dist/learning/reflexion-generator.d.ts.map +1 -1
  552. package/dist/learning/reflexion-generator.js +4 -3
  553. package/dist/learning/reflexion-generator.js.map +1 -1
  554. package/dist/learning/replay-executor.d.ts +64 -0
  555. package/dist/learning/replay-executor.d.ts.map +1 -0
  556. package/dist/learning/replay-executor.js +92 -0
  557. package/dist/learning/replay-executor.js.map +1 -0
  558. package/dist/learning/replay-types.d.ts +150 -0
  559. package/dist/learning/replay-types.d.ts.map +1 -0
  560. package/dist/learning/replay-types.js +207 -0
  561. package/dist/learning/replay-types.js.map +1 -0
  562. package/dist/learning/replay.d.ts +166 -0
  563. package/dist/learning/replay.d.ts.map +1 -0
  564. package/dist/learning/replay.js +228 -0
  565. package/dist/learning/replay.js.map +1 -0
  566. package/dist/learning/seed-report.d.ts +88 -0
  567. package/dist/learning/seed-report.d.ts.map +1 -0
  568. package/dist/learning/seed-report.js +120 -0
  569. package/dist/learning/seed-report.js.map +1 -0
  570. package/dist/learning/trajectory-sources/dataclaw.d.ts.map +1 -1
  571. package/dist/learning/trajectory-sources/dataclaw.js +6 -18
  572. package/dist/learning/trajectory-sources/dataclaw.js.map +1 -1
  573. package/dist/learning/trajectory-sources/entire.d.ts.map +1 -1
  574. package/dist/learning/trajectory-sources/entire.js +30 -9
  575. package/dist/learning/trajectory-sources/entire.js.map +1 -1
  576. package/dist/learning/trajectory-sources/file.d.ts.map +1 -1
  577. package/dist/learning/trajectory-sources/file.js.map +1 -1
  578. package/dist/learning/trajectory-sources/huggingface.d.ts.map +1 -1
  579. package/dist/learning/trajectory-sources/huggingface.js +7 -7
  580. package/dist/learning/trajectory-sources/huggingface.js.map +1 -1
  581. package/dist/learning/trajectory-sources/in-memory.d.ts.map +1 -1
  582. package/dist/learning/trajectory-sources/in-memory.js.map +1 -1
  583. package/dist/learning/trajectory-sources/index.d.ts +3 -4
  584. package/dist/learning/trajectory-sources/index.d.ts.map +1 -1
  585. package/dist/learning/trajectory-sources/index.js +3 -4
  586. package/dist/learning/trajectory-sources/index.js.map +1 -1
  587. package/dist/learning/trajectory-sources/pipeline.d.ts +4 -3
  588. package/dist/learning/trajectory-sources/pipeline.d.ts.map +1 -1
  589. package/dist/learning/trajectory-sources/pipeline.js +4 -3
  590. package/dist/learning/trajectory-sources/pipeline.js.map +1 -1
  591. package/dist/learning/unified-pipeline.d.ts +486 -61
  592. package/dist/learning/unified-pipeline.d.ts.map +1 -1
  593. package/dist/learning/unified-pipeline.js +1501 -232
  594. package/dist/learning/unified-pipeline.js.map +1 -1
  595. package/dist/learning/usage-inference.d.ts.map +1 -1
  596. package/dist/learning/usage-inference.js +4 -9
  597. package/dist/learning/usage-inference.js.map +1 -1
  598. package/dist/learning/workspace-snapshot.d.ts +146 -0
  599. package/dist/learning/workspace-snapshot.d.ts.map +1 -0
  600. package/dist/learning/workspace-snapshot.js +269 -0
  601. package/dist/learning/workspace-snapshot.js.map +1 -0
  602. package/dist/mcp/playbook-server.d.ts +61 -2
  603. package/dist/mcp/playbook-server.d.ts.map +1 -1
  604. package/dist/mcp/playbook-server.js +179 -9
  605. package/dist/mcp/playbook-server.js.map +1 -1
  606. package/dist/memory/coherence.d.ts.map +1 -1
  607. package/dist/memory/coherence.js +5 -7
  608. package/dist/memory/coherence.js.map +1 -1
  609. package/dist/memory/curated-loader.d.ts +24 -0
  610. package/dist/memory/curated-loader.d.ts.map +1 -1
  611. package/dist/memory/curated-loader.js +22 -5
  612. package/dist/memory/curated-loader.js.map +1 -1
  613. package/dist/memory/evolution/llm-evolver.d.ts +36 -0
  614. package/dist/memory/evolution/llm-evolver.d.ts.map +1 -0
  615. package/dist/memory/evolution/llm-evolver.js +106 -0
  616. package/dist/memory/evolution/llm-evolver.js.map +1 -0
  617. package/dist/memory/experience.d.ts +34 -13
  618. package/dist/memory/experience.d.ts.map +1 -1
  619. package/dist/memory/experience.js +59 -48
  620. package/dist/memory/experience.js.map +1 -1
  621. package/dist/memory/extraction/conversation-extractor.d.ts +62 -0
  622. package/dist/memory/extraction/conversation-extractor.d.ts.map +1 -0
  623. package/dist/memory/extraction/conversation-extractor.js +169 -0
  624. package/dist/memory/extraction/conversation-extractor.js.map +1 -0
  625. package/dist/memory/filesystem-cascade.d.ts +116 -0
  626. package/dist/memory/filesystem-cascade.d.ts.map +1 -0
  627. package/dist/memory/filesystem-cascade.js +221 -0
  628. package/dist/memory/filesystem-cascade.js.map +1 -0
  629. package/dist/memory/index.d.ts +14 -10
  630. package/dist/memory/index.d.ts.map +1 -1
  631. package/dist/memory/index.js +15 -12
  632. package/dist/memory/index.js.map +1 -1
  633. package/dist/memory/knowledge-bank.d.ts +145 -29
  634. package/dist/memory/knowledge-bank.d.ts.map +1 -1
  635. package/dist/memory/knowledge-bank.js +511 -200
  636. package/dist/memory/knowledge-bank.js.map +1 -1
  637. package/dist/memory/knowledge-defrag.d.ts +32 -9
  638. package/dist/memory/knowledge-defrag.d.ts.map +1 -1
  639. package/dist/memory/knowledge-defrag.js +57 -49
  640. package/dist/memory/knowledge-defrag.js.map +1 -1
  641. package/dist/memory/meta-playbook-bank.d.ts +24 -0
  642. package/dist/memory/meta-playbook-bank.d.ts.map +1 -0
  643. package/dist/memory/meta-playbook-bank.js +135 -0
  644. package/dist/memory/meta-playbook-bank.js.map +1 -0
  645. package/dist/memory/meta.d.ts.map +1 -1
  646. package/dist/memory/meta.js +33 -14
  647. package/dist/memory/meta.js.map +1 -1
  648. package/dist/memory/playbook-applicability.d.ts +43 -0
  649. package/dist/memory/playbook-applicability.d.ts.map +1 -0
  650. package/dist/memory/playbook-applicability.js +155 -0
  651. package/dist/memory/playbook-applicability.js.map +1 -0
  652. package/dist/memory/playbook-incorporation.d.ts +24 -0
  653. package/dist/memory/playbook-incorporation.d.ts.map +1 -0
  654. package/dist/memory/playbook-incorporation.js +41 -0
  655. package/dist/memory/playbook-incorporation.js.map +1 -0
  656. package/dist/memory/playbook.d.ts +444 -7
  657. package/dist/memory/playbook.d.ts.map +1 -1
  658. package/dist/memory/playbook.js +1231 -50
  659. package/dist/memory/playbook.js.map +1 -1
  660. package/dist/memory/procedural-skill.d.ts +142 -0
  661. package/dist/memory/procedural-skill.d.ts.map +1 -0
  662. package/dist/memory/procedural-skill.js +846 -0
  663. package/dist/memory/procedural-skill.js.map +1 -0
  664. package/dist/memory/search-provider.d.ts +8 -3
  665. package/dist/memory/search-provider.d.ts.map +1 -1
  666. package/dist/memory/search-providers/embedding.d.ts +64 -0
  667. package/dist/memory/search-providers/embedding.d.ts.map +1 -0
  668. package/dist/memory/search-providers/embedding.js +96 -0
  669. package/dist/memory/search-providers/embedding.js.map +1 -0
  670. package/dist/memory/search-providers/hybrid.d.ts +74 -0
  671. package/dist/memory/search-providers/hybrid.d.ts.map +1 -0
  672. package/dist/memory/search-providers/hybrid.js +94 -0
  673. package/dist/memory/search-providers/hybrid.js.map +1 -0
  674. package/dist/memory/search-providers/index.d.ts +3 -0
  675. package/dist/memory/search-providers/index.d.ts.map +1 -1
  676. package/dist/memory/search-providers/index.js +3 -0
  677. package/dist/memory/search-providers/index.js.map +1 -1
  678. package/dist/memory/search-providers/keyword-expanding.d.ts +22 -0
  679. package/dist/memory/search-providers/keyword-expanding.d.ts.map +1 -0
  680. package/dist/memory/search-providers/keyword-expanding.js +35 -0
  681. package/dist/memory/search-providers/keyword-expanding.js.map +1 -0
  682. package/dist/memory/search-providers/minimem.d.ts +16 -4
  683. package/dist/memory/search-providers/minimem.d.ts.map +1 -1
  684. package/dist/memory/search-providers/minimem.js +14 -3
  685. package/dist/memory/search-providers/minimem.js.map +1 -1
  686. package/dist/memory/search-providers/text-similarity.d.ts +2 -4
  687. package/dist/memory/search-providers/text-similarity.d.ts.map +1 -1
  688. package/dist/memory/search-providers/text-similarity.js.map +1 -1
  689. package/dist/memory/seeds/meta-playbook-seeds.d.ts +27 -0
  690. package/dist/memory/seeds/meta-playbook-seeds.d.ts.map +1 -0
  691. package/dist/memory/seeds/meta-playbook-seeds.js +560 -0
  692. package/dist/memory/seeds/meta-playbook-seeds.js.map +1 -0
  693. package/dist/memory/seeds/meta-strategy-seeds.d.ts +23 -0
  694. package/dist/memory/seeds/meta-strategy-seeds.d.ts.map +1 -0
  695. package/dist/memory/seeds/meta-strategy-seeds.js +82 -0
  696. package/dist/memory/seeds/meta-strategy-seeds.js.map +1 -0
  697. package/dist/memory/seeds/seed-loader.d.ts +34 -0
  698. package/dist/memory/seeds/seed-loader.d.ts.map +1 -0
  699. package/dist/memory/seeds/seed-loader.js +60 -0
  700. package/dist/memory/seeds/seed-loader.js.map +1 -0
  701. package/dist/memory/skill-exporter.d.ts.map +1 -1
  702. package/dist/memory/skill-exporter.js +1 -2
  703. package/dist/memory/skill-exporter.js.map +1 -1
  704. package/dist/memory/source-resolver.d.ts.map +1 -1
  705. package/dist/memory/source-resolver.js +7 -8
  706. package/dist/memory/source-resolver.js.map +1 -1
  707. package/dist/memory/system.d.ts +119 -14
  708. package/dist/memory/system.d.ts.map +1 -1
  709. package/dist/memory/system.js +416 -60
  710. package/dist/memory/system.js.map +1 -1
  711. package/dist/memory/temporal-compressor.d.ts +1 -1
  712. package/dist/memory/temporal-compressor.d.ts.map +1 -1
  713. package/dist/memory/temporal-compressor.js +26 -16
  714. package/dist/memory/temporal-compressor.js.map +1 -1
  715. package/dist/persistence/index.d.ts +2 -2
  716. package/dist/persistence/index.d.ts.map +1 -1
  717. package/dist/persistence/index.js +1 -1
  718. package/dist/persistence/index.js.map +1 -1
  719. package/dist/persistence/migrator.d.ts +34 -1
  720. package/dist/persistence/migrator.d.ts.map +1 -1
  721. package/dist/persistence/migrator.js +163 -33
  722. package/dist/persistence/migrator.js.map +1 -1
  723. package/dist/persistence/sqlite-persistence.d.ts +412 -1
  724. package/dist/persistence/sqlite-persistence.d.ts.map +1 -1
  725. package/dist/persistence/sqlite-persistence.js +1038 -47
  726. package/dist/persistence/sqlite-persistence.js.map +1 -1
  727. package/dist/runtime/backends/acp-protocol.d.ts.map +1 -1
  728. package/dist/runtime/backends/acp-protocol.js +2 -1
  729. package/dist/runtime/backends/acp-protocol.js.map +1 -1
  730. package/dist/runtime/backends/acp.d.ts.map +1 -1
  731. package/dist/runtime/backends/acp.js +5 -4
  732. package/dist/runtime/backends/acp.js.map +1 -1
  733. package/dist/runtime/backends/index.d.ts +2 -2
  734. package/dist/runtime/backends/index.d.ts.map +1 -1
  735. package/dist/runtime/backends/index.js +2 -2
  736. package/dist/runtime/backends/index.js.map +1 -1
  737. package/dist/runtime/backends/macro-agent.d.ts +17 -1
  738. package/dist/runtime/backends/macro-agent.d.ts.map +1 -1
  739. package/dist/runtime/backends/macro-agent.js +1 -1
  740. package/dist/runtime/backends/macro-agent.js.map +1 -1
  741. package/dist/runtime/backends/mock.d.ts.map +1 -1
  742. package/dist/runtime/backends/mock.js.map +1 -1
  743. package/dist/runtime/backends/subprocess.d.ts.map +1 -1
  744. package/dist/runtime/backends/subprocess.js +5 -4
  745. package/dist/runtime/backends/subprocess.js.map +1 -1
  746. package/dist/runtime/compute-provider.d.ts +2 -18
  747. package/dist/runtime/compute-provider.d.ts.map +1 -1
  748. package/dist/runtime/compute-provider.js +8 -8
  749. package/dist/runtime/compute-provider.js.map +1 -1
  750. package/dist/runtime/flows/learning.d.ts +2 -1
  751. package/dist/runtime/flows/learning.d.ts.map +1 -1
  752. package/dist/runtime/flows/learning.js +4 -5
  753. package/dist/runtime/flows/learning.js.map +1 -1
  754. package/dist/runtime/flows/validation.d.ts.map +1 -1
  755. package/dist/runtime/flows/validation.js +2 -5
  756. package/dist/runtime/flows/validation.js.map +1 -1
  757. package/dist/runtime/index.d.ts +1 -1
  758. package/dist/runtime/index.d.ts.map +1 -1
  759. package/dist/runtime/index.js.map +1 -1
  760. package/dist/runtime/manager.d.ts +128 -0
  761. package/dist/runtime/manager.d.ts.map +1 -1
  762. package/dist/runtime/manager.js +375 -64
  763. package/dist/runtime/manager.js.map +1 -1
  764. package/dist/runtime/types.d.ts +92 -1
  765. package/dist/runtime/types.d.ts.map +1 -1
  766. package/dist/search/evaluator.d.ts +71 -0
  767. package/dist/search/evaluator.d.ts.map +1 -1
  768. package/dist/search/evaluator.js +40 -5
  769. package/dist/search/evaluator.js.map +1 -1
  770. package/dist/search/index.d.ts +3 -5
  771. package/dist/search/index.d.ts.map +1 -1
  772. package/dist/search/index.js +4 -7
  773. package/dist/search/index.js.map +1 -1
  774. package/dist/search/moe-gate.d.ts +48 -2
  775. package/dist/search/moe-gate.d.ts.map +1 -1
  776. package/dist/search/moe-gate.js +117 -4
  777. package/dist/search/moe-gate.js.map +1 -1
  778. package/dist/search/refinement-loop.d.ts +63 -3
  779. package/dist/search/refinement-loop.d.ts.map +1 -1
  780. package/dist/search/refinement-loop.js +278 -23
  781. package/dist/search/refinement-loop.js.map +1 -1
  782. package/dist/search/refinement-types.d.ts +4 -2
  783. package/dist/search/refinement-types.d.ts.map +1 -1
  784. package/dist/search/refinement-types.js +2 -11
  785. package/dist/search/refinement-types.js.map +1 -1
  786. package/dist/search/router.d.ts +41 -34
  787. package/dist/search/router.d.ts.map +1 -1
  788. package/dist/search/router.js +156 -90
  789. package/dist/search/router.js.map +1 -1
  790. package/dist/search/solver.js +1 -1
  791. package/dist/search/solver.js.map +1 -1
  792. package/dist/search/task-difficulty.d.ts +54 -0
  793. package/dist/search/task-difficulty.d.ts.map +1 -0
  794. package/dist/search/task-difficulty.js +116 -0
  795. package/dist/search/task-difficulty.js.map +1 -0
  796. package/dist/search/tau-bench-verifier.d.ts +74 -0
  797. package/dist/search/tau-bench-verifier.d.ts.map +1 -0
  798. package/dist/search/tau-bench-verifier.js +96 -0
  799. package/dist/search/tau-bench-verifier.js.map +1 -0
  800. package/dist/search/verification-runner.d.ts.map +1 -1
  801. package/dist/search/verification-runner.js +6 -5
  802. package/dist/search/verification-runner.js.map +1 -1
  803. package/dist/session-bank/git-reader.d.ts.map +1 -1
  804. package/dist/session-bank/git-reader.js +5 -19
  805. package/dist/session-bank/git-reader.js.map +1 -1
  806. package/dist/session-bank/parser.d.ts.map +1 -1
  807. package/dist/session-bank/parser.js +26 -0
  808. package/dist/session-bank/parser.js.map +1 -1
  809. package/dist/session-bank/session-bank.d.ts.map +1 -1
  810. package/dist/session-bank/session-bank.js +2 -5
  811. package/dist/session-bank/session-bank.js.map +1 -1
  812. package/dist/session-bank/types.d.ts +24 -0
  813. package/dist/session-bank/types.d.ts.map +1 -1
  814. package/dist/surfacing/index.d.ts +3 -3
  815. package/dist/surfacing/index.d.ts.map +1 -1
  816. package/dist/surfacing/index.js +2 -2
  817. package/dist/surfacing/index.js.map +1 -1
  818. package/dist/surfacing/shared-bank.d.ts +43 -0
  819. package/dist/surfacing/shared-bank.d.ts.map +1 -0
  820. package/dist/surfacing/shared-bank.js +104 -0
  821. package/dist/surfacing/shared-bank.js.map +1 -0
  822. package/dist/surfacing/skill-library.d.ts +98 -2
  823. package/dist/surfacing/skill-library.d.ts.map +1 -1
  824. package/dist/surfacing/skill-library.js +192 -17
  825. package/dist/surfacing/skill-library.js.map +1 -1
  826. package/dist/surfacing/skill-publisher.d.ts +6 -4
  827. package/dist/surfacing/skill-publisher.d.ts.map +1 -1
  828. package/dist/surfacing/skill-publisher.js +32 -30
  829. package/dist/surfacing/skill-publisher.js.map +1 -1
  830. package/dist/surfacing/sqlite-storage-adapter.d.ts.map +1 -1
  831. package/dist/surfacing/sqlite-storage-adapter.js +12 -8
  832. package/dist/surfacing/sqlite-storage-adapter.js.map +1 -1
  833. package/dist/types/analysis.d.ts +43 -0
  834. package/dist/types/analysis.d.ts.map +1 -0
  835. package/dist/types/analysis.js +10 -0
  836. package/dist/types/analysis.js.map +1 -0
  837. package/dist/types/config.d.ts +2178 -425
  838. package/dist/types/config.d.ts.map +1 -1
  839. package/dist/types/config.js +600 -88
  840. package/dist/types/config.js.map +1 -1
  841. package/dist/types/dataclaw.d.ts +3 -3
  842. package/dist/types/index.d.ts +4 -7
  843. package/dist/types/index.d.ts.map +1 -1
  844. package/dist/types/index.js +2 -10
  845. package/dist/types/index.js.map +1 -1
  846. package/dist/types/knowledge-graph.d.ts +1 -1
  847. package/dist/types/knowledge-graph.d.ts.map +1 -1
  848. package/dist/types/knowledge.d.ts +219 -11
  849. package/dist/types/knowledge.d.ts.map +1 -1
  850. package/dist/types/knowledge.js +90 -30
  851. package/dist/types/knowledge.js.map +1 -1
  852. package/dist/types/memory.d.ts +8 -0
  853. package/dist/types/memory.d.ts.map +1 -1
  854. package/dist/types/memory.js +12 -4
  855. package/dist/types/memory.js.map +1 -1
  856. package/dist/types/outcome.d.ts +11 -0
  857. package/dist/types/outcome.d.ts.map +1 -1
  858. package/dist/types/outcome.js +9 -0
  859. package/dist/types/outcome.js.map +1 -1
  860. package/dist/types/playbook.d.ts +63 -0
  861. package/dist/types/playbook.d.ts.map +1 -1
  862. package/dist/types/playbook.js +51 -0
  863. package/dist/types/playbook.js.map +1 -1
  864. package/dist/types/trajectory-source.d.ts +1 -1
  865. package/dist/types/trajectory-source.d.ts.map +1 -1
  866. package/dist/types/trajectory.d.ts +61 -0
  867. package/dist/types/trajectory.d.ts.map +1 -1
  868. package/dist/types/trajectory.js +25 -0
  869. package/dist/types/trajectory.js.map +1 -1
  870. package/dist/utils/clock.d.ts +36 -0
  871. package/dist/utils/clock.d.ts.map +1 -0
  872. package/dist/utils/clock.js +48 -0
  873. package/dist/utils/clock.js.map +1 -0
  874. package/dist/utils/frontmatter.d.ts.map +1 -1
  875. package/dist/utils/frontmatter.js +10 -2
  876. package/dist/utils/frontmatter.js.map +1 -1
  877. package/dist/utils/index.d.ts +4 -1
  878. package/dist/utils/index.d.ts.map +1 -1
  879. package/dist/utils/index.js +4 -1
  880. package/dist/utils/index.js.map +1 -1
  881. package/dist/utils/logger.d.ts +31 -0
  882. package/dist/utils/logger.d.ts.map +1 -0
  883. package/dist/utils/logger.js +50 -0
  884. package/dist/utils/logger.js.map +1 -0
  885. package/dist/utils/objectives.d.ts +45 -0
  886. package/dist/utils/objectives.d.ts.map +1 -0
  887. package/dist/utils/objectives.js +74 -0
  888. package/dist/utils/objectives.js.map +1 -0
  889. package/dist/utils/partitioned-store.d.ts.map +1 -1
  890. package/dist/utils/partitioned-store.js.map +1 -1
  891. package/dist/utils/playbook-hash.d.ts +19 -0
  892. package/dist/utils/playbook-hash.d.ts.map +1 -0
  893. package/dist/utils/playbook-hash.js +51 -0
  894. package/dist/utils/playbook-hash.js.map +1 -0
  895. package/dist/utils/similarity.d.ts.map +1 -1
  896. package/dist/utils/similarity.js.map +1 -1
  897. package/dist/utils/solver-canonicalizer.d.ts +22 -0
  898. package/dist/utils/solver-canonicalizer.d.ts.map +1 -0
  899. package/dist/utils/solver-canonicalizer.js +41 -0
  900. package/dist/utils/solver-canonicalizer.js.map +1 -0
  901. package/dist/utils/storage.d.ts.map +1 -1
  902. package/dist/utils/storage.js +1 -3
  903. package/dist/utils/storage.js.map +1 -1
  904. package/dist/utils/task-signature.d.ts +34 -0
  905. package/dist/utils/task-signature.d.ts.map +1 -0
  906. package/dist/utils/task-signature.js +112 -0
  907. package/dist/utils/task-signature.js.map +1 -0
  908. package/dist/utils/trajectory-helpers.d.ts.map +1 -1
  909. package/dist/utils/trajectory-helpers.js.map +1 -1
  910. package/dist/utils/validation.d.ts.map +1 -1
  911. package/dist/utils/validation.js.map +1 -1
  912. package/dist/workspace/efficacy-toolkit.d.ts.map +1 -1
  913. package/dist/workspace/efficacy-toolkit.js +18 -26
  914. package/dist/workspace/efficacy-toolkit.js.map +1 -1
  915. package/dist/workspace/index.d.ts +4 -3
  916. package/dist/workspace/index.d.ts.map +1 -1
  917. package/dist/workspace/index.js +5 -3
  918. package/dist/workspace/index.js.map +1 -1
  919. package/dist/workspace/runner.d.ts.map +1 -1
  920. package/dist/workspace/runner.js +95 -21
  921. package/dist/workspace/runner.js.map +1 -1
  922. package/dist/workspace/skill-converter.d.ts +66 -1
  923. package/dist/workspace/skill-converter.d.ts.map +1 -1
  924. package/dist/workspace/skill-converter.js +238 -19
  925. package/dist/workspace/skill-converter.js.map +1 -1
  926. package/dist/workspace/skill-import.d.ts +43 -0
  927. package/dist/workspace/skill-import.d.ts.map +1 -0
  928. package/dist/workspace/skill-import.js +40 -0
  929. package/dist/workspace/skill-import.js.map +1 -0
  930. package/dist/workspace/templates/index.d.ts +6 -8
  931. package/dist/workspace/templates/index.d.ts.map +1 -1
  932. package/dist/workspace/templates/index.js +7 -11
  933. package/dist/workspace/templates/index.js.map +1 -1
  934. package/dist/workspace/templates/knowledge-defrag.d.ts.map +1 -1
  935. package/dist/workspace/templates/knowledge-defrag.js +0 -2
  936. package/dist/workspace/templates/knowledge-defrag.js.map +1 -1
  937. package/dist/workspace/templates/knowledge-extraction.d.ts +11 -0
  938. package/dist/workspace/templates/knowledge-extraction.d.ts.map +1 -1
  939. package/dist/workspace/templates/knowledge-extraction.js +11 -6
  940. package/dist/workspace/templates/knowledge-extraction.js.map +1 -1
  941. package/dist/workspace/templates/playbook-conditioning.d.ts +38 -0
  942. package/dist/workspace/templates/playbook-conditioning.d.ts.map +1 -0
  943. package/dist/workspace/templates/playbook-conditioning.js +147 -0
  944. package/dist/workspace/templates/playbook-conditioning.js.map +1 -0
  945. package/dist/workspace/templates/playbook-decay-detection.d.ts.map +1 -1
  946. package/dist/workspace/templates/playbook-decay-detection.js +24 -18
  947. package/dist/workspace/templates/playbook-decay-detection.js.map +1 -1
  948. package/dist/workspace/templates/playbook-efficacy-audit.d.ts.map +1 -1
  949. package/dist/workspace/templates/playbook-efficacy-audit.js +26 -11
  950. package/dist/workspace/templates/playbook-efficacy-audit.js.map +1 -1
  951. package/dist/workspace/templates/playbook-extraction.d.ts.map +1 -1
  952. package/dist/workspace/templates/playbook-extraction.js +75 -15
  953. package/dist/workspace/templates/playbook-extraction.js.map +1 -1
  954. package/dist/workspace/templates/playbook-lifecycle-review.d.ts.map +1 -1
  955. package/dist/workspace/templates/playbook-lifecycle-review.js +12 -8
  956. package/dist/workspace/templates/playbook-lifecycle-review.js.map +1 -1
  957. package/dist/workspace/templates/refinement-analysis.d.ts.map +1 -1
  958. package/dist/workspace/templates/refinement-analysis.js +11 -5
  959. package/dist/workspace/templates/refinement-analysis.js.map +1 -1
  960. package/dist/workspace/templates/skill-enrichment.d.ts.map +1 -1
  961. package/dist/workspace/templates/skill-enrichment.js +7 -11
  962. package/dist/workspace/templates/skill-enrichment.js.map +1 -1
  963. package/dist/workspace/templates/solution-evaluation.d.ts.map +1 -1
  964. package/dist/workspace/templates/solution-evaluation.js +15 -8
  965. package/dist/workspace/templates/solution-evaluation.js.map +1 -1
  966. package/dist/workspace/templates/trajectory-analysis.d.ts.map +1 -1
  967. package/dist/workspace/templates/trajectory-analysis.js +1 -3
  968. package/dist/workspace/templates/trajectory-analysis.js.map +1 -1
  969. package/dist/workspace/templates/usage-inference.d.ts.map +1 -1
  970. package/dist/workspace/templates/usage-inference.js +9 -7
  971. package/dist/workspace/templates/usage-inference.js.map +1 -1
  972. package/dist/workspace/types.d.ts +32 -2
  973. package/dist/workspace/types.d.ts.map +1 -1
  974. package/dist/workspace/types.js +29 -0
  975. package/dist/workspace/types.js.map +1 -1
  976. package/package.json +43 -19
  977. package/playbooks/agent-ops/long-task-checkpointing.json +54 -0
  978. package/playbooks/agent-ops/progressive-context-gathering.json +56 -0
  979. package/playbooks/agent-ops/safe-destructive-operations.json +59 -0
  980. package/playbooks/agent-ops/scope-discipline.json +56 -0
  981. package/playbooks/agent-ops/stall-detection-strategy-switch.json +55 -0
  982. package/playbooks/agent-ops/verification-before-completion.json +54 -0
  983. package/playbooks/alfworld/clean-and-place.json +35 -0
  984. package/playbooks/alfworld/cool-and-place.json +35 -0
  985. package/playbooks/alfworld/examine-in-light.json +32 -0
  986. package/playbooks/alfworld/heat-and-place.json +35 -0
  987. package/playbooks/alfworld/pick-and-place.json +37 -0
  988. package/playbooks/alfworld/pick-two-and-place.json +35 -0
  989. package/.claude/settings.json +0 -197
  990. package/.entire/settings.json +0 -4
  991. package/.sessionlog/settings.json +0 -4
  992. package/CLAUDE.md +0 -233
  993. package/SKILL.md +0 -193
  994. package/docs/DESIGN-agentic-workspace.md +0 -2057
  995. package/docs/DESIGN-semantic-memory-knowledge-bank.md +0 -1789
  996. package/docs/DESIGN-session-bank.md +0 -1134
  997. package/docs/DESIGN-team-extraction-pipeline.md +0 -1369
  998. package/docs/PROPOSAL-team-aware-learning.md +0 -1080
  999. package/docs/RESEARCH-semantic-memory-knowledge-structures.md +0 -517
  1000. package/docs/RESEARCH-team-trajectory-learning.md +0 -553
  1001. package/gaps.md +0 -204
  1002. package/scripts/migrate-to-playbooks.ts +0 -307
  1003. package/src/agents/index.ts +0 -14
  1004. package/src/agents/mock-provider.ts +0 -93
  1005. package/src/agents/types.ts +0 -137
  1006. package/src/atlas.ts +0 -1198
  1007. package/src/bin/cli-utils.ts +0 -220
  1008. package/src/bin/cognitive-core.ts +0 -162
  1009. package/src/bin/commands/kb.ts +0 -266
  1010. package/src/bin/commands/learn.ts +0 -100
  1011. package/src/bin/commands/legacy.ts +0 -182
  1012. package/src/bin/commands/run.ts +0 -113
  1013. package/src/bin/commands/sessions.ts +0 -221
  1014. package/src/bin/commands/skills.ts +0 -146
  1015. package/src/embeddings/bm25.ts +0 -337
  1016. package/src/embeddings/index.ts +0 -42
  1017. package/src/embeddings/inverted-index.ts +0 -134
  1018. package/src/embeddings/manager.ts +0 -293
  1019. package/src/embeddings/provider.ts +0 -318
  1020. package/src/embeddings/vector-store.ts +0 -365
  1021. package/src/factory.ts +0 -280
  1022. package/src/index.ts +0 -495
  1023. package/src/learning/analyzer.ts +0 -319
  1024. package/src/learning/effectiveness.ts +0 -428
  1025. package/src/learning/energy-evaluator.ts +0 -282
  1026. package/src/learning/healing-orchestrator.ts +0 -383
  1027. package/src/learning/index.ts +0 -150
  1028. package/src/learning/instant-loop.ts +0 -357
  1029. package/src/learning/knowledge-extractor.ts +0 -470
  1030. package/src/learning/maintenance-scheduler.ts +0 -271
  1031. package/src/learning/meta-learner.ts +0 -552
  1032. package/src/learning/playbook-extractor.ts +0 -702
  1033. package/src/learning/reflexion-generator.ts +0 -273
  1034. package/src/learning/team-ingester.ts +0 -499
  1035. package/src/learning/team-meta-learner.ts +0 -558
  1036. package/src/learning/team-pipeline.ts +0 -364
  1037. package/src/learning/trajectory-sources/dataclaw.ts +0 -403
  1038. package/src/learning/trajectory-sources/entire.ts +0 -251
  1039. package/src/learning/trajectory-sources/file.ts +0 -136
  1040. package/src/learning/trajectory-sources/huggingface.ts +0 -248
  1041. package/src/learning/trajectory-sources/in-memory.ts +0 -61
  1042. package/src/learning/trajectory-sources/index.ts +0 -15
  1043. package/src/learning/trajectory-sources/pipeline.ts +0 -69
  1044. package/src/learning/unified-pipeline.ts +0 -1191
  1045. package/src/learning/usage-inference.ts +0 -372
  1046. package/src/mcp/index.ts +0 -12
  1047. package/src/mcp/playbook-server.ts +0 -565
  1048. package/src/memory/candidate-retrieval.ts +0 -72
  1049. package/src/memory/causal-store.ts +0 -273
  1050. package/src/memory/coherence.ts +0 -252
  1051. package/src/memory/curated-loader.ts +0 -213
  1052. package/src/memory/experience.ts +0 -682
  1053. package/src/memory/graph-layers/base.ts +0 -184
  1054. package/src/memory/graph-layers/causal.ts +0 -16
  1055. package/src/memory/graph-layers/entity.ts +0 -16
  1056. package/src/memory/graph-layers/index.ts +0 -5
  1057. package/src/memory/graph-layers/semantic.ts +0 -16
  1058. package/src/memory/graph-layers/temporal.ts +0 -16
  1059. package/src/memory/index.ts +0 -131
  1060. package/src/memory/knowledge-bank.ts +0 -1317
  1061. package/src/memory/knowledge-defrag.ts +0 -329
  1062. package/src/memory/knowledge-graph.ts +0 -361
  1063. package/src/memory/meta.ts +0 -488
  1064. package/src/memory/playbook.ts +0 -676
  1065. package/src/memory/reasoning-bank.ts +0 -458
  1066. package/src/memory/reflexion.ts +0 -122
  1067. package/src/memory/search-provider.ts +0 -35
  1068. package/src/memory/search-providers/index.ts +0 -3
  1069. package/src/memory/search-providers/minimem.ts +0 -84
  1070. package/src/memory/search-providers/text-similarity.ts +0 -35
  1071. package/src/memory/skill-exporter.ts +0 -357
  1072. package/src/memory/source-resolver.ts +0 -422
  1073. package/src/memory/system.ts +0 -620
  1074. package/src/memory/team-experience.ts +0 -604
  1075. package/src/memory/temporal-compressor.ts +0 -409
  1076. package/src/persistence/index.ts +0 -37
  1077. package/src/persistence/migrator.ts +0 -298
  1078. package/src/persistence/serializers.ts +0 -79
  1079. package/src/persistence/sqlite-persistence.ts +0 -925
  1080. package/src/runtime/backends/acp-protocol.ts +0 -231
  1081. package/src/runtime/backends/acp.ts +0 -239
  1082. package/src/runtime/backends/index.ts +0 -38
  1083. package/src/runtime/backends/macro-agent.ts +0 -177
  1084. package/src/runtime/backends/mock.ts +0 -218
  1085. package/src/runtime/backends/subprocess.ts +0 -356
  1086. package/src/runtime/compute-provider.ts +0 -206
  1087. package/src/runtime/flows/learning.ts +0 -166
  1088. package/src/runtime/flows/validation.ts +0 -381
  1089. package/src/runtime/index.ts +0 -75
  1090. package/src/runtime/manager.ts +0 -685
  1091. package/src/runtime/types.ts +0 -198
  1092. package/src/search/evaluator.ts +0 -499
  1093. package/src/search/index.ts +0 -78
  1094. package/src/search/moe-gate.ts +0 -304
  1095. package/src/search/refinement-loop.ts +0 -457
  1096. package/src/search/refinement-types.ts +0 -159
  1097. package/src/search/router.ts +0 -368
  1098. package/src/search/solver.ts +0 -303
  1099. package/src/search/team-router.ts +0 -459
  1100. package/src/search/verification-runner.ts +0 -570
  1101. package/src/session-bank/git-reader.ts +0 -200
  1102. package/src/session-bank/index.ts +0 -26
  1103. package/src/session-bank/parser.ts +0 -548
  1104. package/src/session-bank/session-bank.ts +0 -485
  1105. package/src/session-bank/types.ts +0 -176
  1106. package/src/surfacing/index.ts +0 -29
  1107. package/src/surfacing/publisher.ts +0 -23
  1108. package/src/surfacing/skill-library.ts +0 -625
  1109. package/src/surfacing/skill-publisher.ts +0 -258
  1110. package/src/surfacing/sqlite-storage-adapter.ts +0 -287
  1111. package/src/surfacing/team-skill-library.ts +0 -610
  1112. package/src/types/config.ts +0 -661
  1113. package/src/types/dataclaw.ts +0 -99
  1114. package/src/types/huggingface-transformers.d.ts +0 -12
  1115. package/src/types/index.ts +0 -293
  1116. package/src/types/knowledge-graph.ts +0 -246
  1117. package/src/types/knowledge.ts +0 -388
  1118. package/src/types/memory.ts +0 -300
  1119. package/src/types/meta.ts +0 -218
  1120. package/src/types/outcome.ts +0 -66
  1121. package/src/types/playbook.ts +0 -215
  1122. package/src/types/step.ts +0 -40
  1123. package/src/types/task.ts +0 -52
  1124. package/src/types/team-meta.ts +0 -212
  1125. package/src/types/team-playbook.ts +0 -384
  1126. package/src/types/team-trajectory.ts +0 -673
  1127. package/src/types/trajectory-source.ts +0 -47
  1128. package/src/types/trajectory.ts +0 -80
  1129. package/src/utils/error-classifier.ts +0 -113
  1130. package/src/utils/frontmatter.ts +0 -118
  1131. package/src/utils/index.ts +0 -63
  1132. package/src/utils/partitioned-store.ts +0 -299
  1133. package/src/utils/similarity.ts +0 -139
  1134. package/src/utils/storage.ts +0 -249
  1135. package/src/utils/trajectory-helpers.ts +0 -79
  1136. package/src/utils/validation.ts +0 -286
  1137. package/src/workspace/efficacy-toolkit.ts +0 -496
  1138. package/src/workspace/index.ts +0 -77
  1139. package/src/workspace/runner.ts +0 -281
  1140. package/src/workspace/skill-converter.ts +0 -288
  1141. package/src/workspace/templates/index.ts +0 -95
  1142. package/src/workspace/templates/knowledge-defrag.ts +0 -223
  1143. package/src/workspace/templates/knowledge-extraction.ts +0 -337
  1144. package/src/workspace/templates/meta-reflection.ts +0 -208
  1145. package/src/workspace/templates/playbook-decay-detection.ts +0 -272
  1146. package/src/workspace/templates/playbook-efficacy-audit.ts +0 -246
  1147. package/src/workspace/templates/playbook-extraction.ts +0 -240
  1148. package/src/workspace/templates/playbook-lifecycle-review.ts +0 -274
  1149. package/src/workspace/templates/refinement-analysis.ts +0 -162
  1150. package/src/workspace/templates/skill-enrichment.ts +0 -275
  1151. package/src/workspace/templates/solution-evaluation.ts +0 -199
  1152. package/src/workspace/templates/team-playbook-extraction.ts +0 -631
  1153. package/src/workspace/templates/team-trajectory-analysis.ts +0 -564
  1154. package/src/workspace/templates/trajectory-analysis.ts +0 -234
  1155. package/src/workspace/templates/usage-inference.ts +0 -163
  1156. package/src/workspace/types.ts +0 -185
  1157. package/tests/atlas-knowledge.test.ts +0 -165
  1158. package/tests/embeddings/bm25.test.ts +0 -130
  1159. package/tests/embeddings/inverted-index.test.ts +0 -138
  1160. package/tests/embeddings/manager.test.ts +0 -205
  1161. package/tests/feature-toggles.test.ts +0 -275
  1162. package/tests/fixtures/behavioral-trajectories.ts +0 -210
  1163. package/tests/gap-fixes.test.ts +0 -1116
  1164. package/tests/integration/atlas.test.ts +0 -266
  1165. package/tests/integration/cli-e2e.test.ts +0 -621
  1166. package/tests/integration/curated-sources-e2e.test.ts +0 -502
  1167. package/tests/integration/dataclaw-e2e.test.ts +0 -559
  1168. package/tests/integration/e2e.test.ts +0 -1337
  1169. package/tests/integration/entire-e2e.test.ts +0 -376
  1170. package/tests/integration/huggingface-e2e.test.ts +0 -627
  1171. package/tests/integration/persistence-e2e.test.ts +0 -741
  1172. package/tests/integration/phase-e2e.test.ts +0 -1143
  1173. package/tests/integration/pipeline-data-correctness.test.ts +0 -794
  1174. package/tests/integration/ranking-driven-loadout-e2e.test.ts +0 -185
  1175. package/tests/integration/session-bank.test.ts +0 -231
  1176. package/tests/integration/sessionlog-e2e.test.ts +0 -329
  1177. package/tests/integration/skill-publishing-filesystem-e2e.test.ts +0 -216
  1178. package/tests/integration/skill-tree-wiring.test.ts +0 -152
  1179. package/tests/integration/unified-pipeline-e2e.test.ts +0 -634
  1180. package/tests/learning/analyzer.test.ts +0 -426
  1181. package/tests/learning/dataclaw-trajectory-source.test.ts +0 -642
  1182. package/tests/learning/effectiveness.test.ts +0 -542
  1183. package/tests/learning/energy-evaluator.test.ts +0 -180
  1184. package/tests/learning/entire-trajectory-source.test.ts +0 -380
  1185. package/tests/learning/healing-orchestrator.test.ts +0 -269
  1186. package/tests/learning/huggingface-trajectory-source.test.ts +0 -817
  1187. package/tests/learning/instant-loop.test.ts +0 -243
  1188. package/tests/learning/knowledge-extractor.test.ts +0 -491
  1189. package/tests/learning/maintenance-scheduler.test.ts +0 -191
  1190. package/tests/learning/meta-learner.test.ts +0 -418
  1191. package/tests/learning/pipeline-memory-updates.test.ts +0 -721
  1192. package/tests/learning/playbook-extractor-provenance.test.ts +0 -114
  1193. package/tests/learning/reflexion-generator.test.ts +0 -411
  1194. package/tests/learning/team-ingester.test.ts +0 -349
  1195. package/tests/learning/team-meta-learner.test.ts +0 -618
  1196. package/tests/learning/team-pipeline.test.ts +0 -334
  1197. package/tests/learning/trajectory-sources.test.ts +0 -320
  1198. package/tests/learning/unified-pipeline-efficacy.test.ts +0 -232
  1199. package/tests/learning/unified-pipeline.test.ts +0 -322
  1200. package/tests/learning/usage-inference.test.ts +0 -254
  1201. package/tests/mcp/playbook-server.test.ts +0 -257
  1202. package/tests/memory/candidate-retrieval.test.ts +0 -167
  1203. package/tests/memory/causal-store.test.ts +0 -276
  1204. package/tests/memory/coherence.test.ts +0 -232
  1205. package/tests/memory/compound-engineering-seed.test.ts +0 -338
  1206. package/tests/memory/curated-loader-extended.test.ts +0 -225
  1207. package/tests/memory/experience.test.ts +0 -203
  1208. package/tests/memory/graph-layers/semantic.test.ts +0 -219
  1209. package/tests/memory/knowledge-bank-extraction.test.ts +0 -558
  1210. package/tests/memory/knowledge-bank.test.ts +0 -705
  1211. package/tests/memory/knowledge-defrag.test.ts +0 -366
  1212. package/tests/memory/knowledge-evolution.test.ts +0 -563
  1213. package/tests/memory/knowledge-graph.test.ts +0 -492
  1214. package/tests/memory/knowledge-inbox.test.ts +0 -258
  1215. package/tests/memory/knowledge-minimem.test.ts +0 -251
  1216. package/tests/memory/meta.test.ts +0 -399
  1217. package/tests/memory/playbook-quality-validation.test.ts +0 -430
  1218. package/tests/memory/playbook.test.ts +0 -644
  1219. package/tests/memory/provenance.test.ts +0 -648
  1220. package/tests/memory/reasoning-bank.test.ts +0 -239
  1221. package/tests/memory/reflexion.test.ts +0 -166
  1222. package/tests/memory/skill-exporter.test.ts +0 -475
  1223. package/tests/memory/source-resolver.test.ts +0 -700
  1224. package/tests/memory/system.test.ts +0 -330
  1225. package/tests/memory/team-experience.test.ts +0 -411
  1226. package/tests/memory/temporal-compressor.test.ts +0 -318
  1227. package/tests/persistence/migrator.test.ts +0 -1009
  1228. package/tests/persistence/sqlite-persistence.test.ts +0 -635
  1229. package/tests/runtime/agent-manager.test.ts +0 -517
  1230. package/tests/runtime/compute-provider.test.ts +0 -288
  1231. package/tests/runtime/delegate.test.ts +0 -354
  1232. package/tests/runtime/macro-agent-backend.test.ts +0 -266
  1233. package/tests/runtime/mock-backend.test.ts +0 -248
  1234. package/tests/search/evaluator.test.ts +0 -257
  1235. package/tests/search/moe-gate.test.ts +0 -250
  1236. package/tests/search/refinement-loop.test.ts +0 -477
  1237. package/tests/search/refinement.test.ts +0 -267
  1238. package/tests/search/router.test.ts +0 -506
  1239. package/tests/search/team-router.test.ts +0 -376
  1240. package/tests/search/verification-runner.test.ts +0 -357
  1241. package/tests/session-bank/fixtures/multi-tool-session/full.jsonl +0 -12
  1242. package/tests/session-bank/fixtures/multi-tool-session/metadata.json +0 -28
  1243. package/tests/session-bank/fixtures/root-metadata.json +0 -18
  1244. package/tests/session-bank/fixtures/sessionlog-root-metadata.json +0 -16
  1245. package/tests/session-bank/fixtures/sessionlog-session/full.jsonl +0 -6
  1246. package/tests/session-bank/fixtures/sessionlog-session/metadata.json +0 -55
  1247. package/tests/session-bank/fixtures/simple-session/full.jsonl +0 -6
  1248. package/tests/session-bank/fixtures/simple-session/metadata.json +0 -38
  1249. package/tests/session-bank/git-reader.test.ts +0 -232
  1250. package/tests/session-bank/parser.test.ts +0 -453
  1251. package/tests/session-bank/session-bank.test.ts +0 -546
  1252. package/tests/surfacing/skill-library.test.ts +0 -297
  1253. package/tests/surfacing/skill-publisher.test.ts +0 -432
  1254. package/tests/surfacing/sqlite-storage-adapter.test.ts +0 -197
  1255. package/tests/surfacing/team-skill-library.test.ts +0 -444
  1256. package/tests/types/outcome.test.ts +0 -147
  1257. package/tests/types/step.test.ts +0 -133
  1258. package/tests/types/task.test.ts +0 -158
  1259. package/tests/types/team-meta.test.ts +0 -147
  1260. package/tests/types/team-playbook.test.ts +0 -246
  1261. package/tests/types/team-trajectory.test.ts +0 -557
  1262. package/tests/types/trajectory.test.ts +0 -253
  1263. package/tests/utils/error-classifier.test.ts +0 -149
  1264. package/tests/utils/frontmatter.test.ts +0 -208
  1265. package/tests/utils/partitioned-store.test.ts +0 -230
  1266. package/tests/utils/similarity.test.ts +0 -188
  1267. package/tests/utils/trajectory-helpers.test.ts +0 -163
  1268. package/tests/utils/validation.test.ts +0 -252
  1269. package/tests/workspace/efficacy-toolkit.test.ts +0 -404
  1270. package/tests/workspace/full-flow.test.ts +0 -845
  1271. package/tests/workspace/manager.test.ts +0 -215
  1272. package/tests/workspace/runner.test.ts +0 -336
  1273. package/tests/workspace/skill-converter.test.ts +0 -205
  1274. package/tests/workspace/templates/knowledge-extraction.test.ts +0 -235
  1275. package/tests/workspace/templates/playbook-efficacy.test.ts +0 -377
  1276. package/tests/workspace/templates/team-playbook-extraction.test.ts +0 -341
  1277. package/tests/workspace/templates/team-trajectory-analysis.test.ts +0 -417
  1278. package/tsconfig.json +0 -25
  1279. package/vitest.config.ts +0 -22
@@ -1,1143 +0,0 @@
1
- /**
2
- * End-to-end integration tests for Phase 0-5 modules.
3
- *
4
- * Exercises the full data flow:
5
- * Trajectory → UnifiedLearningPipeline (instant + batch + maintenance)
6
- * → TemporalCompressor → ReasoningBank clustering
7
- * + CausalStore edges, ReflexionMemory episodes, CoherenceChecker,
8
- * MoEGate routing, InvertedIndex narrowing, PartitionedStore
9
- *
10
- * These tests use real (non-mocked) components wired together to catch
11
- * integration bugs that unit tests miss.
12
- */
13
-
14
- import { describe, it, expect, beforeEach, afterEach } from 'vitest';
15
- import * as fs from 'node:fs/promises';
16
- import * as path from 'node:path';
17
-
18
- import {
19
- createTrajectory,
20
- createStep,
21
- createTask,
22
- successOutcome,
23
- failureOutcome,
24
- type Trajectory,
25
- } from '../../src/types/index.js';
26
-
27
- import { MemorySystem } from '../../src/memory/system.js';
28
- import { createSqlitePersistence } from '../../src/persistence/index.js';
29
- import { UnifiedLearningPipeline, createUnifiedPipeline } from '../../src/learning/unified-pipeline.js';
30
- import { InstantLoop, createInstantLoop } from '../../src/learning/instant-loop.js';
31
- import { ReflexionGenerator, createReflexionGenerator } from '../../src/learning/reflexion-generator.js';
32
- import { ReasoningBank, createReasoningBank } from '../../src/memory/reasoning-bank.js';
33
- import { TemporalCompressor, createTemporalCompressor } from '../../src/memory/temporal-compressor.js';
34
- import { CausalStore, createCausalStore } from '../../src/memory/causal-store.js';
35
- import { CoherenceChecker, createCoherenceChecker } from '../../src/memory/coherence.js';
36
- import { InvertedIndex } from '../../src/embeddings/inverted-index.js';
37
- import { PartitionedStore } from '../../src/utils/partitioned-store.js';
38
- import {
39
- MoEGate,
40
- createMoEGate,
41
- extractTaskFeatures,
42
- MOE_FEATURE_SIZE,
43
- MOE_STRATEGIES,
44
- } from '../../src/search/moe-gate.js';
45
- import { createObservation, type KnowledgeNote } from '../../src/types/knowledge.js';
46
-
47
- // ============================================================================
48
- // Helpers
49
- // ============================================================================
50
-
51
- let testDir: string;
52
-
53
- function makeTrajectory(
54
- description: string,
55
- success: boolean,
56
- domain = 'code',
57
- opts?: {
58
- steps?: ReturnType<typeof createStep>[];
59
- errorInfo?: string;
60
- solution?: unknown;
61
- }
62
- ): Trajectory {
63
- const defaultSteps = [
64
- createStep({
65
- thought: 'Analyzing the task requirements',
66
- action: 'Read src/main.ts',
67
- observation: 'file contents: export function main() {}',
68
- attributionScore: 0.6,
69
- }),
70
- createStep({
71
- thought: 'Implementing the solution',
72
- action: 'Edit src/main.ts',
73
- observation: success ? 'file updated successfully' : 'error: syntax error in file',
74
- attributionScore: success ? 0.9 : 0.2,
75
- }),
76
- createStep({
77
- thought: 'Verifying the result',
78
- action: 'Bash npm test',
79
- observation: success
80
- ? 'All tests passed'
81
- : `error: test failed - ${opts?.errorInfo ?? 'assertion error'}`,
82
- attributionScore: success ? 0.8 : 0.1,
83
- }),
84
- ];
85
-
86
- return createTrajectory({
87
- task: createTask({ domain, description }),
88
- steps: opts?.steps ?? defaultSteps,
89
- outcome: success
90
- ? successOutcome({ result: opts?.solution ?? 'completed' })
91
- : failureOutcome(opts?.errorInfo ?? 'Task failed'),
92
- agentId: 'test-agent',
93
- });
94
- }
95
-
96
- function makeVariedTrajectories(count: number, successRate: number, domain = 'code'): Trajectory[] {
97
- const trajectories: Trajectory[] = [];
98
- const successCount = Math.round(count * successRate);
99
- const topics = [
100
- 'Fix authentication bug in login form',
101
- 'Implement user registration endpoint',
102
- 'Add pagination to user list API',
103
- 'Fix database connection timeout error',
104
- 'Implement rate limiting middleware',
105
- 'Add input validation to payment form',
106
- 'Fix memory leak in event handler',
107
- 'Implement caching layer for API responses',
108
- 'Add error handling to file upload',
109
- 'Fix CSS layout issue in dashboard',
110
- 'Implement search functionality with filters',
111
- 'Add unit tests for authentication module',
112
- 'Fix type error in configuration parser',
113
- 'Implement webhook notification system',
114
- 'Add logging middleware for request tracing',
115
- ];
116
-
117
- for (let i = 0; i < count; i++) {
118
- const isSuccess = i < successCount;
119
- const desc = topics[i % topics.length] + ` (variant ${Math.floor(i / topics.length)})`;
120
- trajectories.push(
121
- makeTrajectory(desc, isSuccess, domain, {
122
- errorInfo: isSuccess ? undefined : 'TypeError: Cannot read property of undefined',
123
- })
124
- );
125
- }
126
- return trajectories;
127
- }
128
-
129
- // ============================================================================
130
- // Tests
131
- // ============================================================================
132
-
133
- describe('Phase 0-5 End-to-End Integration', () => {
134
- let memory: MemorySystem;
135
- let persistence: any;
136
-
137
- beforeEach(async () => {
138
- testDir = path.join(process.cwd(), `.test-e2e-phase-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`);
139
- await fs.mkdir(testDir, { recursive: true });
140
- persistence = createSqlitePersistence({ baseDir: testDir });
141
- await persistence.init();
142
- memory = new MemorySystem(persistence, testDir);
143
- await memory.init();
144
- });
145
-
146
- afterEach(async () => {
147
- await memory.close();
148
- persistence.close();
149
- await fs.rm(testDir, { recursive: true, force: true });
150
- });
151
-
152
- // --------------------------------------------------------------------------
153
- // 1. InvertedIndex — standalone candidate narrowing
154
- // --------------------------------------------------------------------------
155
- describe('InvertedIndex', () => {
156
- it('should index documents and return ranked candidates', () => {
157
- const idx = new InvertedIndex();
158
- idx.add('a', 'fix authentication bug in login form');
159
- idx.add('b', 'implement user registration endpoint');
160
- idx.add('c', 'fix database connection timeout bug');
161
- idx.add('d', 'add pagination to user list API');
162
-
163
- const candidates = idx.getCandidates('authentication bug fix');
164
- expect(candidates.length).toBeGreaterThan(0);
165
- // "a" has the most token overlap with the query
166
- expect(candidates[0]).toBe('a');
167
- });
168
-
169
- it('should handle remove and size', () => {
170
- const idx = new InvertedIndex();
171
- idx.add('x', 'hello world');
172
- idx.add('y', 'goodbye world');
173
- expect(idx.size()).toBe(2);
174
-
175
- idx.remove('x');
176
- expect(idx.size()).toBe(1);
177
- expect(idx.has('x')).toBe(false);
178
- expect(idx.has('y')).toBe(true);
179
- });
180
- });
181
-
182
- // --------------------------------------------------------------------------
183
- // 2. PartitionedStore — domain-partitioned persistence
184
- // --------------------------------------------------------------------------
185
- describe('PartitionedStore', () => {
186
- it('should partition data by key and retrieve per-partition', async () => {
187
- const store = new PartitionedStore<{ name: string; domain: string }>(
188
- testDir,
189
- 'items',
190
- (item) => item.domain,
191
- );
192
- await store.init();
193
-
194
- store.set('a', { name: 'alpha', domain: 'code' });
195
- store.set('b', { name: 'beta', domain: 'ops' });
196
- store.set('c', { name: 'gamma', domain: 'code' });
197
-
198
- expect(store.size()).toBe(3);
199
- expect(store.valuesInPartition('code').length).toBe(2);
200
- expect(store.valuesInPartition('ops').length).toBe(1);
201
- expect(store.getPartitionNames()).toContain('code');
202
- expect(store.getPartitionNames()).toContain('ops');
203
-
204
- // Delete and verify
205
- store.delete('a');
206
- expect(store.size()).toBe(2);
207
- expect(store.valuesInPartition('code').length).toBe(1);
208
-
209
- await store.close();
210
- });
211
- });
212
-
213
- // --------------------------------------------------------------------------
214
- // 3. ReflexionGenerator — standalone episode creation
215
- // --------------------------------------------------------------------------
216
- describe('ReflexionGenerator', () => {
217
- it('should generate a reflexion episode from a successful trajectory', async () => {
218
- const gen = createReflexionGenerator({ maxInsights: 3 });
219
- const traj = makeTrajectory('Fix authentication bug in login form', true);
220
- const episode = await gen.generate(traj);
221
-
222
- expect(episode.trajectoryId).toBe(traj.id);
223
- expect(episode.outcome).toBe('success');
224
- expect(episode.taskSummary).toContain('authentication');
225
- expect(episode.selfCritique.length).toBeGreaterThan(0);
226
- expect(episode.keyInsights.length).toBeGreaterThanOrEqual(0);
227
- expect(episode.strategyAssessment).toContain('without playbook guidance');
228
- expect(episode.suggestedPlaybookUpdates.length).toBeGreaterThan(0);
229
- });
230
-
231
- it('should generate a reflexion episode from a failed trajectory', async () => {
232
- const gen = createReflexionGenerator();
233
- const traj = makeTrajectory('Implement search functionality', false, 'code', {
234
- errorInfo: 'TypeError: Cannot read property of undefined',
235
- });
236
- const episode = await gen.generate(traj);
237
-
238
- expect(episode.outcome).toBe('failure');
239
- expect(episode.selfCritique).toContain('TypeError');
240
- expect(episode.keyInsights.some((i) => i.includes('Error pattern'))).toBe(true);
241
- });
242
- });
243
-
244
- // --------------------------------------------------------------------------
245
- // 4. CausalStore — edge storage, merging, and chain traversal
246
- // --------------------------------------------------------------------------
247
- describe('CausalStore', () => {
248
- it('should store edges and retrieve by domain', async () => {
249
- const now = new Date();
250
- await memory.causal.add({
251
- id: 'e1',
252
- cause: 'Missing input validation on payment form',
253
- effect: 'SQL injection vulnerability in production',
254
- confidence: 0.6,
255
- domain: 'security',
256
- sourceTrajectoryIds: ['t1'],
257
- observedCount: 1,
258
- createdAt: now,
259
- updatedAt: now,
260
- });
261
-
262
- await memory.causal.add({
263
- id: 'e2',
264
- cause: 'Uncached database query in hot path',
265
- effect: 'API latency spike under load',
266
- confidence: 0.7,
267
- domain: 'performance',
268
- sourceTrajectoryIds: ['t2'],
269
- observedCount: 1,
270
- createdAt: now,
271
- updatedAt: now,
272
- });
273
-
274
- const securityEdges = await memory.causal.getByDomain('security');
275
- expect(securityEdges.length).toBe(1);
276
- expect(securityEdges[0].cause).toContain('validation');
277
-
278
- const allEdges = await memory.causal.getAll();
279
- expect(allEdges.length).toBe(2);
280
- });
281
-
282
- it('should merge similar edges and boost confidence', async () => {
283
- const now = new Date();
284
- const baseEdge = {
285
- cause: 'Missing null check on user input',
286
- effect: 'Runtime TypeError crash in production',
287
- confidence: 0.4,
288
- domain: 'code',
289
- observedCount: 1,
290
- createdAt: now,
291
- updatedAt: now,
292
- };
293
-
294
- await memory.causal.add({ ...baseEdge, id: 'e1', sourceTrajectoryIds: ['t1'] });
295
- await memory.causal.add({
296
- ...baseEdge,
297
- id: 'e2',
298
- cause: 'Missing null check on user input field',
299
- effect: 'Runtime TypeError crash in production server',
300
- sourceTrajectoryIds: ['t2'],
301
- });
302
-
303
- const edges = await memory.causal.getAll();
304
- // Should have merged into one edge with boosted confidence
305
- expect(edges.length).toBe(1);
306
- expect(edges[0].observedCount).toBe(2);
307
- expect(edges[0].confidence).toBeGreaterThan(0.4);
308
- expect(edges[0].sourceTrajectoryIds).toContain('t1');
309
- expect(edges[0].sourceTrajectoryIds).toContain('t2');
310
- });
311
-
312
- it('should find similar edges by query', async () => {
313
- const now = new Date();
314
- await memory.causal.add({
315
- id: 'e1',
316
- cause: 'Authentication token expired',
317
- effect: 'User session terminated unexpectedly',
318
- confidence: 0.8,
319
- domain: 'auth',
320
- sourceTrajectoryIds: ['t1'],
321
- observedCount: 3,
322
- createdAt: now,
323
- updatedAt: now,
324
- });
325
-
326
- const results = await memory.causal.findSimilar('token expiration problem');
327
- expect(results.length).toBeGreaterThan(0);
328
- expect(results[0].cause).toContain('token');
329
- });
330
- });
331
-
332
- // --------------------------------------------------------------------------
333
- // 5. CoherenceChecker — contradiction detection
334
- // --------------------------------------------------------------------------
335
- describe('CoherenceChecker', () => {
336
- it('should detect contradictions between knowledge notes', async () => {
337
- const checker = createCoherenceChecker({ contradictionThreshold: 0.3 });
338
-
339
- const noteA: KnowledgeNote = {
340
- frontmatter: {
341
- id: 'n1',
342
- type: 'observation',
343
- domain: ['code'],
344
- entities: ['authentication'],
345
- tags: [],
346
- confidence: 0.7,
347
- source: { origin: 'extracted', trajectories: ['t1'] },
348
- links: [],
349
- created: new Date().toISOString(),
350
- updated: new Date().toISOString(),
351
- },
352
- body: 'Always use JWT tokens for authentication in production APIs',
353
- filePath: '/notes/n1.md',
354
- };
355
-
356
- const noteB: KnowledgeNote = {
357
- frontmatter: {
358
- id: 'n2',
359
- type: 'observation',
360
- domain: ['code'],
361
- entities: ['authentication'],
362
- tags: [],
363
- confidence: 0.6,
364
- source: { origin: 'extracted', trajectories: ['t2'] },
365
- links: [],
366
- created: new Date().toISOString(),
367
- updated: new Date().toISOString(),
368
- },
369
- body: 'Never use JWT tokens for authentication in production APIs',
370
- filePath: '/notes/n2.md',
371
- };
372
-
373
- const result = await checker.check(noteB, [noteA]);
374
- expect(result.isCoherent).toBe(false);
375
- expect(result.contradictions.length).toBeGreaterThan(0);
376
- expect(result.contradictions[0].residualEnergy).toBeGreaterThan(0);
377
- });
378
-
379
- it('should return coherent for non-contradictory notes', async () => {
380
- const checker = createCoherenceChecker();
381
-
382
- const noteA: KnowledgeNote = {
383
- frontmatter: {
384
- id: 'n1',
385
- type: 'observation',
386
- domain: ['code'],
387
- entities: ['caching'],
388
- tags: [],
389
- confidence: 0.7,
390
- source: { origin: 'extracted', trajectories: ['t1'] },
391
- links: [],
392
- created: new Date().toISOString(),
393
- updated: new Date().toISOString(),
394
- },
395
- body: 'Use Redis for caching API responses',
396
- filePath: '/notes/n1.md',
397
- };
398
-
399
- const noteB: KnowledgeNote = {
400
- frontmatter: {
401
- id: 'n2',
402
- type: 'observation',
403
- domain: ['code'],
404
- entities: ['caching'],
405
- tags: [],
406
- confidence: 0.6,
407
- source: { origin: 'extracted', trajectories: ['t2'] },
408
- links: [],
409
- created: new Date().toISOString(),
410
- updated: new Date().toISOString(),
411
- },
412
- body: 'Use Redis for caching database query results',
413
- filePath: '/notes/n2.md',
414
- };
415
-
416
- const result = await checker.check(noteB, [noteA]);
417
- expect(result.isCoherent).toBe(true);
418
- expect(result.contradictions.length).toBe(0);
419
- });
420
- });
421
-
422
- // --------------------------------------------------------------------------
423
- // 6. ReasoningBank — K-means++ clustering and retrieval
424
- // --------------------------------------------------------------------------
425
- describe('ReasoningBank', () => {
426
- it('should cluster experiences and enable cluster-based retrieval', () => {
427
- const bank = createReasoningBank({ minClusterSize: 2, maxClusters: 5 });
428
-
429
- // Generate enough experiences to form clusters (need diverse topics)
430
- const experiences = [
431
- // Auth cluster
432
- ...['Fix login authentication', 'Debug login session issue', 'Authentication token refresh', 'Fix OAuth login flow'].map(
433
- (desc, i) => ({
434
- id: `auth-${i}`,
435
- taskInput: desc,
436
- solutionOutput: 'Fixed auth issue',
437
- feedback: 'Success',
438
- success: true,
439
- domain: 'code',
440
- createdAt: new Date(),
441
- metadata: {},
442
- trajectoryId: `t-auth-${i}`,
443
- accessScore: 0.5,
444
- })
445
- ),
446
- // Database cluster
447
- ...['Fix database query timeout', 'Optimize slow database query', 'Database connection pooling fix', 'Repair database index'].map(
448
- (desc, i) => ({
449
- id: `db-${i}`,
450
- taskInput: desc,
451
- solutionOutput: 'Fixed DB issue',
452
- feedback: 'Success',
453
- success: true,
454
- domain: 'code',
455
- createdAt: new Date(),
456
- metadata: {},
457
- trajectoryId: `t-db-${i}`,
458
- accessScore: 0.5,
459
- })
460
- ),
461
- ];
462
-
463
- bank.buildClusters(experiences);
464
-
465
- expect(bank.clusterCount).toBeGreaterThan(0);
466
- const clusters = bank.getClusters();
467
- expect(clusters.length).toBeGreaterThan(0);
468
-
469
- // Cluster stats should reflect cluster sizes
470
- const stats = bank.getClusterStats();
471
- for (const stat of stats) {
472
- expect(stat.size).toBeGreaterThanOrEqual(2);
473
- expect(stat.successRate).toBe(1); // All successful
474
- }
475
-
476
- // Retrieval: query related to auth should find auth experiences
477
- const results = bank.findInCluster('login authentication problem');
478
- expect(results.length).toBeGreaterThan(0);
479
- // At least one auth-related experience in the results
480
- expect(results.some((r) => r.experience.taskInput.includes('login') || r.experience.taskInput.includes('auth'))).toBe(true);
481
- });
482
-
483
- it('should only cluster successful experiences', () => {
484
- const bank = createReasoningBank({ minClusterSize: 2 });
485
-
486
- const experiences = [
487
- { id: 's1', taskInput: 'Fix bug A', solutionOutput: 'done', feedback: 'ok', success: true, domain: 'code', createdAt: new Date(), metadata: {}, trajectoryId: 't1', accessScore: 0.5 },
488
- { id: 's2', taskInput: 'Fix bug B', solutionOutput: 'done', feedback: 'ok', success: true, domain: 'code', createdAt: new Date(), metadata: {}, trajectoryId: 't2', accessScore: 0.5 },
489
- { id: 'f1', taskInput: 'Fix bug C', solutionOutput: 'failed', feedback: 'error', success: false, domain: 'code', createdAt: new Date(), metadata: {}, trajectoryId: 't3', accessScore: 0.5 },
490
- ];
491
-
492
- bank.buildClusters(experiences);
493
-
494
- // Failed experience should not appear in any cluster
495
- const clusters = bank.getClusters();
496
- for (const cluster of clusters) {
497
- expect(cluster.experienceIds).not.toContain('f1');
498
- }
499
- });
500
-
501
- it('should track recluster intervals', () => {
502
- const bank = createReasoningBank({ reclusterInterval: 3 });
503
-
504
- expect(bank.shouldRecluster()).toBe(false);
505
- bank.notifyNewExperience();
506
- bank.notifyNewExperience();
507
- expect(bank.shouldRecluster()).toBe(false);
508
- bank.notifyNewExperience();
509
- expect(bank.shouldRecluster()).toBe(true);
510
- });
511
- });
512
-
513
- // --------------------------------------------------------------------------
514
- // 7. TemporalCompressor — tier transitions with hysteresis
515
- // --------------------------------------------------------------------------
516
- describe('TemporalCompressor', () => {
517
- it('should classify experiences into tiers by accessScore', async () => {
518
- const compressor = createTemporalCompressor({
519
- hotThreshold: 0.5,
520
- warmThreshold: 0.2,
521
- evictionThreshold: 0.05,
522
- });
523
-
524
- const experiences = [
525
- { id: 'hot1', taskInput: 'hot task', solutionOutput: 'result', feedback: 'ok', success: true, domain: 'code', createdAt: new Date(), metadata: {}, trajectoryId: 't1', tier: 'hot' as const, accessScore: 0.8 },
526
- { id: 'warm1', taskInput: 'warm task', solutionOutput: 'result', feedback: 'ok', success: true, domain: 'code', createdAt: new Date(), metadata: {}, trajectoryId: 't2', tier: 'hot' as const, accessScore: 0.3 },
527
- { id: 'cold1', taskInput: 'cold task', solutionOutput: 'result', feedback: 'ok', success: true, domain: 'code', createdAt: new Date(), metadata: {}, trajectoryId: 't3', tier: 'hot' as const, accessScore: 0.1 },
528
- ];
529
-
530
- // First pass — marks pending demotion (hysteresis)
531
- const pass1 = await compressor.compress(experiences);
532
- // warm1 and cold1 should be marked pending, not yet demoted
533
- expect(pass1.demoted.length).toBe(0);
534
- expect(pass1.unchanged).toContain('warm1');
535
- expect(pass1.unchanged).toContain('cold1');
536
-
537
- // Second pass — should actually demote
538
- const pass2 = await compressor.compress(experiences);
539
- expect(pass2.demoted).toContain('warm1');
540
- expect(pass2.demoted).toContain('cold1');
541
- });
542
-
543
- it('should compress data when demoting to warm', () => {
544
- const compressor = createTemporalCompressor();
545
- const exp = {
546
- id: 'e1',
547
- taskInput: 'Fix authentication bug',
548
- solutionOutput: 'Applied fix to auth module\nUpdated token refresh\nAll tests passed',
549
- feedback: 'Success',
550
- success: true,
551
- domain: 'code',
552
- createdAt: new Date(),
553
- metadata: { steps: [{ action: 'Read auth.ts', observation: 'found bug' }] },
554
- trajectoryId: 't1',
555
- tier: 'hot' as const,
556
- accessScore: 0.3,
557
- };
558
-
559
- const warm = compressor.compressToWarm(exp);
560
- expect(warm.tier).toBe('warm');
561
- expect(warm.compressed).toBeDefined();
562
- expect(warm.compressed!.keySteps.length).toBeGreaterThanOrEqual(0);
563
- });
564
-
565
- it('should generate summary when demoting to cold', () => {
566
- const compressor = createTemporalCompressor();
567
- const exp = {
568
- id: 'e1',
569
- taskInput: 'Fix authentication bug in login form',
570
- solutionOutput: 'Applied fix to auth module',
571
- feedback: 'Success',
572
- success: true,
573
- domain: 'code',
574
- createdAt: new Date(),
575
- metadata: {},
576
- trajectoryId: 't1',
577
- tier: 'warm' as const,
578
- accessScore: 0.1,
579
- compressed: { keySteps: ['Read auth module', 'Applied fix'], summary: '', originalStepCount: 3 },
580
- };
581
-
582
- const cold = compressor.compressToCold(exp);
583
- expect(cold.tier).toBe('cold');
584
- expect(cold.compressed!.summary.length).toBeGreaterThan(0);
585
- expect(cold.compressed!.summary).toContain('code');
586
- });
587
-
588
- it('should require hysteresis gap for promotion', async () => {
589
- const compressor = createTemporalCompressor({
590
- hotThreshold: 0.5,
591
- warmThreshold: 0.2,
592
- hysteresis: 0.05,
593
- });
594
-
595
- // Experience at warm tier with score just above warm threshold but below warm+hysteresis
596
- const exp = {
597
- id: 'e1',
598
- taskInput: 'task',
599
- solutionOutput: 'result',
600
- feedback: 'ok',
601
- success: true,
602
- domain: 'code',
603
- createdAt: new Date(),
604
- metadata: {},
605
- trajectoryId: 't1',
606
- tier: 'cold' as const,
607
- accessScore: 0.22, // Above warm threshold (0.2) but below warm+hysteresis (0.25)
608
- };
609
-
610
- const result = await compressor.compress([exp]);
611
- // Should NOT be promoted because accessScore < warmThreshold + hysteresis
612
- expect(result.promoted.length).toBe(0);
613
- expect(result.unchanged).toContain('e1');
614
- });
615
- });
616
-
617
- // --------------------------------------------------------------------------
618
- // 8. MoEGate — learned routing with online gradient
619
- // --------------------------------------------------------------------------
620
- describe('MoEGate', () => {
621
- it('should produce uniform probabilities before training', () => {
622
- const gate = createMoEGate();
623
- expect(gate.isTrained).toBe(false);
624
-
625
- const features = [0.5, 0.3, 0.4, 0.6, 0.5, 0, 1, 0.2];
626
- const probs = gate.gate(features);
627
-
628
- // Should be roughly uniform with small random weights
629
- const values = [...probs.values()];
630
- const maxDiff = Math.max(...values) - Math.min(...values);
631
- // Small random weights = near-uniform, but not exact
632
- expect(maxDiff).toBeLessThan(0.3);
633
- // All 4 strategies present
634
- expect(probs.size).toBe(4);
635
- });
636
-
637
- it('should shift probabilities after training with reward signal', () => {
638
- const gate = new MoEGate([...MOE_STRATEGIES], MOE_FEATURE_SIZE);
639
- const features = [0.5, 0.8, 0.7, 0.9, 0.8, 1, 0, 0.3];
640
-
641
- // Train: reward "adapt" strategy heavily
642
- for (let i = 0; i < 50; i++) {
643
- gate.update(features, 'adapt', 1.0, 0.1);
644
- }
645
-
646
- expect(gate.isTrained).toBe(true);
647
- expect(gate.totalUpdates).toBe(50);
648
-
649
- const strategy = gate.selectStrategy(features);
650
- expect(strategy).toBe('adapt');
651
- });
652
-
653
- it('should learn domain-specific weights', () => {
654
- const gate = new MoEGate([...MOE_STRATEGIES], MOE_FEATURE_SIZE);
655
- const features = [0.5, 0.5, 0.5, 0.5, 0.5, 0, 0, 0.5];
656
-
657
- // Train 'direct' for domain A
658
- for (let i = 0; i < 30; i++) {
659
- gate.update(features, 'direct', 1.0, 0.1, 'domainA');
660
- }
661
-
662
- // Train 'explore' for domain B
663
- for (let i = 0; i < 30; i++) {
664
- gate.update(features, 'explore', 1.0, 0.1, 'domainB');
665
- }
666
-
667
- expect(gate.selectStrategy(features, 'domainA')).toBe('direct');
668
- expect(gate.selectStrategy(features, 'domainB')).toBe('explore');
669
- });
670
-
671
- it('should serialize and restore state', () => {
672
- const gate = new MoEGate([...MOE_STRATEGIES], MOE_FEATURE_SIZE);
673
- const features = [0.5, 0.5, 0.5, 0.5, 0.5, 1, 0, 0.5];
674
-
675
- gate.update(features, 'fallback', 1.0, 0.1, 'test-domain');
676
- gate.update(features, 'fallback', 1.0, 0.1, 'test-domain');
677
-
678
- const state = gate.toJSON();
679
- const restored = MoEGate.fromJSON(state);
680
-
681
- expect(restored.totalUpdates).toBe(2);
682
- expect(restored.isTrained).toBe(true);
683
- expect(restored.selectStrategy(features, 'test-domain')).toBe(
684
- gate.selectStrategy(features, 'test-domain')
685
- );
686
- });
687
-
688
- it('should extract task features correctly', () => {
689
- const features = extractTaskFeatures(
690
- 'Fix the authentication bug in the login form',
691
- {
692
- experiences: [{ score: 0.8 }, { score: 0.5 }],
693
- playbooks: [{ score: 0.7, playbook: { confidence: 0.9 } }],
694
- },
695
- 15
696
- );
697
-
698
- expect(features.length).toBe(MOE_FEATURE_SIZE);
699
- expect(features[2]).toBe(0.8); // best experience match score
700
- expect(features[3]).toBe(0.7); // best playbook match score
701
- expect(features[4]).toBe(0.9); // best playbook confidence
702
- expect(features[5]).toBe(1); // is bug fix ("fix" keyword)
703
- expect(features[6]).toBe(0); // not a new feature
704
- });
705
- });
706
-
707
- // --------------------------------------------------------------------------
708
- // 9. InstantLoop — per-trajectory hot-path learning
709
- // --------------------------------------------------------------------------
710
- describe('InstantLoop', () => {
711
- it('should store experience and generate reflexion on successful trajectory', async () => {
712
- const loop = createInstantLoop(memory, {
713
- enableReflexion: true,
714
- maxPlaybookMatches: 3,
715
- });
716
-
717
- const traj = makeTrajectory(
718
- 'Fix authentication bug in login form',
719
- true,
720
- 'code',
721
- { solution: 'applied fix to auth module' },
722
- );
723
-
724
- const result = await loop.process(traj);
725
-
726
- expect(result.experienceId).toBeDefined();
727
- expect(result.durationMs).toBeGreaterThanOrEqual(0);
728
-
729
- // Should have generated a reflexion episode
730
- expect(result.reflexionEpisodeId).toBeDefined();
731
- const episode = await memory.reflexion.getByTrajectory(traj.id);
732
- expect(episode).toBeDefined();
733
- expect(episode!.outcome).toBe('success');
734
-
735
- // Should have extracted at least one causal edge
736
- expect(result.causalEdgesExtracted).toBeGreaterThan(0);
737
- const edges = await memory.causal.getAll();
738
- expect(edges.length).toBeGreaterThan(0);
739
-
740
- // Experience should be stored
741
- const expCount = await memory.experiences.count();
742
- expect(expCount).toBe(1);
743
- });
744
-
745
- it('should extract error causal edge from failed trajectory', async () => {
746
- const loop = createInstantLoop(memory);
747
-
748
- const traj = makeTrajectory(
749
- 'Implement payment processing',
750
- false,
751
- 'code',
752
- { errorInfo: 'TypeError: Cannot read property amount of undefined' },
753
- );
754
-
755
- const result = await loop.process(traj);
756
-
757
- expect(result.causalEdgesExtracted).toBeGreaterThan(0);
758
- const edges = await memory.causal.getAll();
759
- const errorEdge = edges.find((e) => e.effect.includes('TypeError'));
760
- expect(errorEdge).toBeDefined();
761
- expect(errorEdge!.confidence).toBe(0.4); // Lower confidence for errors
762
- });
763
- });
764
-
765
- // --------------------------------------------------------------------------
766
- // 10. UnifiedLearningPipeline — instant + batch + latency
767
- // --------------------------------------------------------------------------
768
- describe('UnifiedLearningPipeline orchestration', () => {
769
- it('should track accumulated count and process trajectories', async () => {
770
- const pipeline = createUnifiedPipeline(memory, {
771
- batch: { learning: { minTrajectories: 3 }, energy: { countThreshold: 100 } },
772
- }, persistence);
773
- await pipeline.init();
774
-
775
- expect(pipeline.getAccumulatedCount()).toBe(0);
776
-
777
- for (let i = 0; i < 3; i++) {
778
- const traj = makeTrajectory(`Task ${i}`, true);
779
- await pipeline.processTrajectory(traj);
780
- }
781
-
782
- expect(pipeline.getAccumulatedCount()).toBe(3);
783
- });
784
-
785
- it('should invoke latency warning callback when budget exceeded', async () => {
786
- const pipeline = createUnifiedPipeline(memory, {
787
- maxInstantLatencyMs: -1,
788
- batch: { learning: {}, energy: { countThreshold: 100 } },
789
- }, persistence);
790
- await pipeline.init();
791
-
792
- let warningMs = -1;
793
- pipeline.onLatencyWarning((ms) => {
794
- warningMs = ms;
795
- });
796
-
797
- const traj = makeTrajectory('Task', true);
798
- await pipeline.processTrajectory(traj);
799
-
800
- expect(warningMs).toBeGreaterThanOrEqual(0);
801
- });
802
- });
803
-
804
- // --------------------------------------------------------------------------
805
- // 11. Full pipeline: InstantLoop → batch → compression → clustering
806
- // --------------------------------------------------------------------------
807
- describe('Full Learning Pipeline Integration', () => {
808
- it('should process trajectories through unified pipeline (instant + batch)', async () => {
809
- const pipeline = createUnifiedPipeline(memory, {
810
- batch: {
811
- learning: { minTrajectories: 3, minSuccessRate: 0.3, maxExperiences: 100 },
812
- energy: { countThreshold: 100 }, // Don't auto-trigger batch
813
- },
814
- }, persistence);
815
- await pipeline.init();
816
-
817
- const trajectories = makeVariedTrajectories(4, 0.75); // 3 success, 1 failure
818
-
819
- // Process all trajectories through unified pipeline (instant + accumulate)
820
- for (const traj of trajectories) {
821
- await pipeline.processTrajectory(traj);
822
- }
823
-
824
- // Verify instant loop stored experiences
825
- const expCount = await memory.experiences.count();
826
- expect(expCount).toBe(4);
827
-
828
- // Verify reflexion episodes generated
829
- const reflexionCount = await memory.reflexion.count();
830
- expect(reflexionCount).toBe(4);
831
-
832
- // Verify causal edges extracted
833
- const causalCount = await memory.causal.count();
834
- expect(causalCount).toBeGreaterThan(0);
835
-
836
- // Force batch learning
837
- const batchResult = await pipeline.runBatch();
838
-
839
- expect(batchResult.trajectoriesProcessed).toBe(4);
840
- expect(batchResult.successRate).toBeCloseTo(0.75, 1);
841
- expect(batchResult.experiencesClustered).toBeGreaterThanOrEqual(0);
842
- expect(batchResult.experiencesCompressed).toBeDefined();
843
-
844
- expect(pipeline.getAccumulatedCount()).toBe(0);
845
- });
846
-
847
- it('should populate ReasoningBank clusters during batch learning', async () => {
848
- const pipeline = createUnifiedPipeline(memory, {
849
- batch: {
850
- learning: { minTrajectories: 1, maxExperiences: 100 },
851
- energy: { countThreshold: 100 },
852
- },
853
- }, persistence);
854
- await pipeline.init();
855
-
856
- const trajectories = makeVariedTrajectories(8, 1.0);
857
-
858
- for (const traj of trajectories) {
859
- await pipeline.processTrajectory(traj);
860
- }
861
-
862
- const batchResult = await pipeline.runBatch();
863
-
864
- expect(batchResult.experiencesClustered).toBeGreaterThan(0);
865
- expect(batchResult.trajectoriesProcessed).toBe(8);
866
- });
867
-
868
- it('should include compression results in batch output', async () => {
869
- const pipeline = createUnifiedPipeline(memory, {
870
- batch: {
871
- learning: { minTrajectories: 1, maxExperiences: 100 },
872
- energy: { countThreshold: 100 },
873
- },
874
- }, persistence);
875
- await pipeline.init();
876
-
877
- const trajectories = makeVariedTrajectories(5, 0.8);
878
-
879
- for (const traj of trajectories) {
880
- await pipeline.processTrajectory(traj);
881
- }
882
-
883
- const result = await pipeline.runBatch();
884
-
885
- expect(result.experiencesCompressed).toHaveProperty('promoted');
886
- expect(result.experiencesCompressed).toHaveProperty('demoted');
887
- expect(result.experiencesCompressed).toHaveProperty('evicted');
888
- expect(result.experiencesCompressed.demoted).toBe(0);
889
- });
890
- });
891
-
892
- // --------------------------------------------------------------------------
893
- // 12. Cross-module: CausalStore + ReflexionMemory populated by InstantLoop
894
- // --------------------------------------------------------------------------
895
- describe('Cross-module: CausalStore + ReflexionMemory via InstantLoop', () => {
896
- it('should build causal edges from multiple trajectories and query them', async () => {
897
- const loop = createInstantLoop(memory);
898
-
899
- // Process several trajectories with related themes
900
- const authTraj1 = makeTrajectory('Fix OAuth token refresh logic', true, 'auth');
901
- const authTraj2 = makeTrajectory('Fix OAuth token validation bug', false, 'auth', {
902
- errorInfo: 'Token validation failed: expired token not rejected',
903
- });
904
- const dbTraj = makeTrajectory('Optimize database query performance', true, 'database');
905
-
906
- await loop.process(authTraj1);
907
- await loop.process(authTraj2);
908
- await loop.process(dbTraj);
909
-
910
- // Query causal store for auth-related edges
911
- const authEdges = await memory.causal.getByDomain('auth');
912
- expect(authEdges.length).toBeGreaterThan(0);
913
-
914
- // Query by similarity
915
- const tokenEdges = await memory.causal.findSimilar('token authentication issue');
916
- expect(tokenEdges.length).toBeGreaterThan(0);
917
-
918
- // Reflexion episodes should exist for all trajectories
919
- const authEp1 = await memory.reflexion.getByTrajectory(authTraj1.id);
920
- const authEp2 = await memory.reflexion.getByTrajectory(authTraj2.id);
921
- expect(authEp1).toBeDefined();
922
- expect(authEp2).toBeDefined();
923
- expect(authEp1!.outcome).toBe('success');
924
- expect(authEp2!.outcome).toBe('failure');
925
- });
926
-
927
- it('should retrieve recent reflexion episodes by domain and outcome', async () => {
928
- const loop = createInstantLoop(memory);
929
-
930
- // Process mixed trajectories
931
- await loop.process(makeTrajectory('Fix login form', true, 'frontend'));
932
- await loop.process(makeTrajectory('Fix signup page', false, 'frontend', { errorInfo: 'test failure' }));
933
- await loop.process(makeTrajectory('Optimize API query', true, 'backend'));
934
-
935
- // Get recent episodes for frontend domain
936
- const frontendEpisodes = await memory.reflexion.getRecent({
937
- domain: 'frontend',
938
- });
939
- expect(frontendEpisodes.length).toBe(2);
940
-
941
- // Get only failed episodes
942
- const failedEpisodes = await memory.reflexion.getRecent({
943
- outcome: 'failure',
944
- });
945
- expect(failedEpisodes.length).toBe(1);
946
- expect(failedEpisodes[0].outcome).toBe('failure');
947
- });
948
- });
949
-
950
- // --------------------------------------------------------------------------
951
- // 13. MoEGate + extractTaskFeatures + MemorySystem query integration
952
- // --------------------------------------------------------------------------
953
- describe('MoEGate + Memory Query Integration', () => {
954
- it('should extract features from memory context and route tasks', async () => {
955
- const gate = createMoEGate();
956
-
957
- // Store some experiences so memory queries return results
958
- const loop = createInstantLoop(memory);
959
- await loop.process(makeTrajectory('Fix authentication bug', true, 'code'));
960
- await loop.process(makeTrajectory('Implement new API endpoint', true, 'code'));
961
-
962
- // Query memory for a new task
963
- const queryResult = await memory.queryV2('Fix login authentication error');
964
-
965
- // Extract features from the memory context
966
- const features = extractTaskFeatures(
967
- 'Fix login authentication error',
968
- {
969
- experiences: queryResult.experiences.map((e) => ({ score: e.score })),
970
- playbooks: queryResult.playbooks.map((p) => ({
971
- score: p.score,
972
- playbook: { confidence: p.playbook.confidence },
973
- })),
974
- },
975
- queryResult.experiences.length,
976
- );
977
-
978
- expect(features.length).toBe(MOE_FEATURE_SIZE);
979
- expect(features[5]).toBe(1); // "fix" → isBugFix
980
-
981
- // Gate should return a valid strategy
982
- const strategy = gate.selectStrategy(features);
983
- expect(MOE_STRATEGIES).toContain(strategy);
984
-
985
- // After some training, gate should specialize
986
- gate.update(features, 'adapt', 1.0, 0.1, 'code');
987
- gate.update(features, 'adapt', 1.0, 0.1, 'code');
988
- expect(gate.isTrained).toBe(true);
989
- });
990
- });
991
-
992
- // --------------------------------------------------------------------------
993
- // 14. MemorySystem.storeTrajectory + queryV2 round-trip
994
- // --------------------------------------------------------------------------
995
- describe('MemorySystem round-trip', () => {
996
- it('should store and retrieve experiences via queryV2', async () => {
997
- const traj = makeTrajectory('Fix CSS layout bug in dashboard component', true, 'frontend');
998
- const exp = await memory.storeTrajectory(traj);
999
-
1000
- expect(exp.id).toBeDefined();
1001
- expect(exp.domain).toBe('frontend');
1002
- expect(exp.success).toBe(true);
1003
-
1004
- // Query should return the stored experience
1005
- const result = await memory.queryV2('CSS layout dashboard');
1006
- expect(result.experiences.length).toBeGreaterThan(0);
1007
- expect(result.experiences[0].experience.id).toBe(exp.id);
1008
- });
1009
-
1010
- it('should track experience count in stats', async () => {
1011
- await memory.storeTrajectory(makeTrajectory('Task A', true));
1012
- await memory.storeTrajectory(makeTrajectory('Task B', false));
1013
-
1014
- const stats = await memory.getStats();
1015
- expect(stats.experienceCount).toBe(2);
1016
- });
1017
- });
1018
-
1019
- // --------------------------------------------------------------------------
1020
- // 15. ReflexionMemory persistence
1021
- // --------------------------------------------------------------------------
1022
- describe('ReflexionMemory persistence', () => {
1023
- it('should persist episodes and retrieve by ID', async () => {
1024
- const gen = createReflexionGenerator();
1025
- const traj = makeTrajectory('Implement search feature', true, 'code');
1026
- const episode = await gen.generate(traj);
1027
-
1028
- await memory.reflexion.add(episode);
1029
-
1030
- const retrieved = await memory.reflexion.get(episode.id);
1031
- expect(retrieved).toBeDefined();
1032
- expect(retrieved!.trajectoryId).toBe(traj.id);
1033
- expect(retrieved!.outcome).toBe('success');
1034
- });
1035
- });
1036
-
1037
- // --------------------------------------------------------------------------
1038
- // 16. Full data flow: trajectory → all subsystems
1039
- // --------------------------------------------------------------------------
1040
- describe('Full data flow smoke test', () => {
1041
- it('should exercise every Phase 0-5 subsystem in sequence', async () => {
1042
- // Phase 0: PartitionedStore and InvertedIndex (standalone)
1043
- const idx = new InvertedIndex();
1044
- idx.add('doc1', 'authentication token refresh');
1045
- expect(idx.getCandidates('auth token').length).toBeGreaterThan(0);
1046
-
1047
- // Phase 1+2: UnifiedLearningPipeline processes trajectories (instant + accumulate)
1048
- const pipeline = createUnifiedPipeline(memory, {
1049
- features: { reflexion: true },
1050
- batch: {
1051
- learning: { minTrajectories: 2, maxExperiences: 100 },
1052
- energy: { countThreshold: 100 }, // Don't auto-trigger batch
1053
- },
1054
- }, persistence);
1055
- await pipeline.init();
1056
-
1057
- const traj1 = makeTrajectory('Fix authentication token refresh bug', true, 'auth');
1058
- const traj2 = makeTrajectory('Implement user profile endpoint', true, 'api');
1059
- const traj3 = makeTrajectory('Fix database connection pool leak', false, 'database', {
1060
- errorInfo: 'Connection pool exhausted: max connections reached',
1061
- });
1062
-
1063
- const r1 = await pipeline.processTrajectory(traj1);
1064
- const r2 = await pipeline.processTrajectory(traj2);
1065
- const r3 = await pipeline.processTrajectory(traj3);
1066
-
1067
- // Verify InstantLoop results
1068
- expect(r1.instantLoop.experienceId).toBeDefined();
1069
- expect(r1.instantLoop.reflexionEpisodeId).toBeDefined();
1070
- expect(r2.instantLoop.causalEdgesExtracted).toBeGreaterThan(0);
1071
- expect(r3.instantLoop.causalEdgesExtracted).toBeGreaterThan(0);
1072
-
1073
- // Force batch
1074
- const batchResult = await pipeline.runBatch();
1075
-
1076
- expect(batchResult.trajectoriesProcessed).toBe(3);
1077
- expect(batchResult.experiencesClustered).toBeGreaterThanOrEqual(0);
1078
- expect(typeof batchResult.experiencesCompressed.promoted).toBe('number');
1079
- expect(typeof batchResult.experiencesCompressed.demoted).toBe('number');
1080
- expect(typeof batchResult.experiencesCompressed.evicted).toBe('number');
1081
-
1082
- // Phase 3: CoherenceChecker (standalone)
1083
- const checker = createCoherenceChecker();
1084
- const noteA = createObservation({
1085
- title: 'connection-pool',
1086
- body: 'Always use connection pooling for database access',
1087
- domain: ['database'],
1088
- entities: ['connection-pool'],
1089
- confidence: 0.7,
1090
- source: { origin: 'extracted', trajectories: [traj3.id] },
1091
- });
1092
- const noteB = createObservation({
1093
- title: 'connection-pool',
1094
- body: 'Avoid connection pooling for database access',
1095
- domain: ['database'],
1096
- entities: ['connection-pool'],
1097
- confidence: 0.5,
1098
- source: { origin: 'extracted', trajectories: ['other'] },
1099
- });
1100
- const coherenceResult = await checker.check(noteB, [noteA]);
1101
- // "Always" vs "Avoid" should flag contradiction
1102
- expect(coherenceResult.isCoherent).toBe(false);
1103
-
1104
- // Phase 4: MoEGate routing
1105
- const gate = createMoEGate();
1106
- const queryResult = await memory.queryV2('Fix database connection issue');
1107
- const features = extractTaskFeatures(
1108
- 'Fix database connection issue',
1109
- {
1110
- experiences: queryResult.experiences.map((e) => ({ score: e.score })),
1111
- playbooks: queryResult.playbooks.map((p) => ({
1112
- score: p.score,
1113
- playbook: { confidence: p.playbook.confidence },
1114
- })),
1115
- },
1116
- queryResult.experiences.length,
1117
- );
1118
- const strategy = gate.selectStrategy(features);
1119
- expect(MOE_STRATEGIES).toContain(strategy);
1120
-
1121
- // Phase 5: TemporalCompressor (standalone verification)
1122
- const compressor = createTemporalCompressor();
1123
- const allExperiences = await memory.experiences.getAll();
1124
- const compressionResult = await compressor.compress(allExperiences);
1125
- expect(compressionResult).toHaveProperty('promoted');
1126
- expect(compressionResult).toHaveProperty('demoted');
1127
- expect(compressionResult).toHaveProperty('evicted');
1128
- expect(compressionResult).toHaveProperty('unchanged');
1129
-
1130
- // Phase 4 (CausalStore): query causal edges
1131
- const edges = await memory.causal.findSimilar('database connection error');
1132
- expect(edges.length).toBeGreaterThan(0);
1133
-
1134
- // ReflexionMemory: verify all episodes stored
1135
- const totalReflexions = await memory.reflexion.count();
1136
- expect(totalReflexions).toBe(3);
1137
-
1138
- // Final stats
1139
- const stats = await memory.getStats();
1140
- expect(stats.experienceCount).toBeGreaterThanOrEqual(3);
1141
- });
1142
- });
1143
- });