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
@@ -0,0 +1,1582 @@
1
+ /**
2
+ * Evaluation CLI — runs the eval harness and prints a report. Parses its own
3
+ * flags (the shared parser doesn't know eval options).
4
+ *
5
+ * Subcommands / modes:
6
+ * cogcore eval Sequential learning-curve eval (mock)
7
+ * cogcore eval ablation Per-component ablation (mock)
8
+ * cogcore eval --backend live --benchmark <name> Real-agent live arm
9
+ * cogcore eval ablation --backend live --benchmark clbench Live memory ablation
10
+ *
11
+ * Flags:
12
+ * --backend mock|live --benchmark <name> --model haiku
13
+ * --tasks N --skills 6 --seeds 1,2,3 --window 10 --max-steps 30
14
+ * --cold 0.35 --warm 0.9 --batch-every 0 --components a,b,c (ablation)
15
+ * --out report.md --json
16
+ */
17
+ import { existsSync, rmSync, writeFileSync } from 'node:fs';
18
+ import { join, dirname, resolve } from 'node:path';
19
+ import { fileURLToPath } from 'node:url';
20
+ import { createSequentialEvalRunner, createAblationRunner, createLiveEvalRunner, createLiveAblationRunner, createRunCheckpoint, checkpointPathFor, workdirPathFor, loadColdArmResults, loadDifficultyRegistry, saveDifficultyRegistry, ingestRunRows, extractIngestRows, estimateFamilySuccess, ingestLiftRows, extractLiftIngestRows, estimateLift, mergeLiftRegistries, resolveRegistryStore, migrateJsonRegistryToSqlite, SqliteRegistryStore, ClaudeWorkspaceBackend, createGsm8kBenchmark, createAlfworldBenchmark, createSkillsBenchBenchmark, createSkillFlowBenchmark, createClBenchBenchmark, createSkillLearnBenchBenchmark, createLifelongAgentBenchmark, alfworldSeedDir, ABLATION_COMPONENTS, renderJson, renderMarkdown, renderAblationJson, renderAblationMarkdown, renderDiagnosticsReport, DEFAULT_EVAL_CONFIG, getCiSmokeProfile, } from '../../eval/index.js';
21
+ import { renderSwarmkitTraceReport } from '../../eval/swarmkit-report.js';
22
+ import { renderPlaybookUsageReport } from '../../eval/playbook-usage-report.js';
23
+ import { renderPlaybookCalibrationReport } from '../../eval/playbook-calibration-report.js';
24
+ import { renderPlaybookCandidateDecisionsReport } from '../../eval/playbook-candidate-decisions-report.js';
25
+ import { validateAblationPatch } from '../../eval/ablation-validate.js';
26
+ import { loadOracleManifest, findPlaceholderFiles, evaluateOracleCriteria, } from '../../eval/oracle-smoke.js';
27
+ import { canonicalizeSolver } from '../../utils/solver-canonicalizer.js';
28
+ export async function evalCommand(rawArgs) {
29
+ if (rawArgs[0] === 'eval') {
30
+ rawArgs = rawArgs.slice(1);
31
+ }
32
+ if (rawArgs.includes('--help') || rawArgs.includes('-h')) {
33
+ printUsage();
34
+ return;
35
+ }
36
+ // eval report --diagnostics <traceDir> — post-run stage-funnel report
37
+ if (rawArgs[0] === 'report') {
38
+ await runReport(rawArgs.slice(1));
39
+ return;
40
+ }
41
+ // eval ingest-difficulty --registry <file> <artifacts...> — backfill the
42
+ // difficulty registry from existing result JSONs / checkpoint files.
43
+ if (rawArgs[0] === 'ingest-difficulty') {
44
+ await runIngestDifficulty(rawArgs.slice(1));
45
+ return;
46
+ }
47
+ // eval ingest-lift [--registry-db <db> | --registry <file>] <artifacts...>
48
+ // — backfill the lift registry (guided vs unguided per family × solver).
49
+ if (rawArgs[0] === 'ingest-lift') {
50
+ await runIngestLift(rawArgs.slice(1));
51
+ return;
52
+ }
53
+ // eval lift-report — merged eval + production lift scorecard.
54
+ if (rawArgs[0] === 'lift-report') {
55
+ await runLiftReport(rawArgs.slice(1));
56
+ return;
57
+ }
58
+ // eval registry migrate --from <file.json> --to <db> — one-shot JSON → SQLite.
59
+ if (rawArgs[0] === 'registry' && rawArgs[1] === 'migrate') {
60
+ await runRegistryMigrate(rawArgs.slice(2));
61
+ return;
62
+ }
63
+ const flags = parseEvalFlags(rawArgs);
64
+ // Oracle smoke gate: --smoke oracle [--backend mock|live]
65
+ if (flags['smoke'] === 'oracle') {
66
+ await runOracleSmoke(flags);
67
+ return;
68
+ }
69
+ if (flags.backend === 'live') {
70
+ if (rawArgs.includes('ablation')) {
71
+ await runLiveAblation(flags);
72
+ }
73
+ else {
74
+ await runLive(flags);
75
+ }
76
+ return;
77
+ }
78
+ const isAblation = rawArgs.includes('ablation');
79
+ const config = {};
80
+ if (flags.backend)
81
+ config.backend = flags.backend;
82
+ if (flags.tasks !== undefined)
83
+ config.taskCount = flags.tasks;
84
+ if (flags.skills !== undefined)
85
+ config.skillCount = flags.skills;
86
+ if (flags.seeds)
87
+ config.seeds = flags.seeds;
88
+ if (flags.window !== undefined)
89
+ config.rollingWindow = flags.window;
90
+ if (flags.cold !== undefined)
91
+ config.coldProb = flags.cold;
92
+ if (flags.warm !== undefined)
93
+ config.warmProb = flags.warm;
94
+ if (flags['batch-every'] !== undefined)
95
+ config.forceBatchEvery = flags['batch-every'];
96
+ const merged = { ...DEFAULT_EVAL_CONFIG, ...config };
97
+ if (isAblation)
98
+ await runAblation(config, merged, flags);
99
+ else
100
+ await runCurve(config, merged, flags);
101
+ }
102
+ async function runCurve(config, merged, flags) {
103
+ if (!flags.json) {
104
+ console.error(`Running sequential learning-curve eval ` +
105
+ `(backend=${merged.backend}, tasks=${merged.taskCount}, ` +
106
+ `skills=${merged.skillCount}, seeds=${merged.seeds.join(',')})...`);
107
+ }
108
+ const result = await createSequentialEvalRunner(config).run();
109
+ const markdown = renderMarkdown(result);
110
+ if (flags.out) {
111
+ writeFileSync(flags.out, flags.out.endsWith('.json') ? renderJson(result) : markdown);
112
+ console.error(`Wrote report to ${flags.out}`);
113
+ }
114
+ if (flags.json)
115
+ console.log(renderJson(result));
116
+ else
117
+ console.log('\n' + markdown);
118
+ if (result.successRateDelta <= 0)
119
+ process.exitCode = 2;
120
+ }
121
+ async function runAblation(config, merged, flags) {
122
+ if (config.forceBatchEvery === undefined) {
123
+ config.forceBatchEvery = Math.max(5, merged.skillCount);
124
+ }
125
+ const components = flags.components
126
+ ? ABLATION_COMPONENTS.filter((c) => flags.components.includes(c.key))
127
+ : undefined;
128
+ if (!flags.json) {
129
+ console.error(`Running component ablation (tasks=${merged.taskCount}, seeds=${merged.seeds.join(',')}, ` +
130
+ `components=${components ? components.map((c) => c.key).join(',') : 'all'})...`);
131
+ }
132
+ const result = await createAblationRunner(config, components).run();
133
+ const markdown = renderAblationMarkdown(result);
134
+ if (flags.out) {
135
+ writeFileSync(flags.out, flags.out.endsWith('.json') ? renderAblationJson(result) : markdown);
136
+ console.error(`Wrote report to ${flags.out}`);
137
+ }
138
+ if (flags.json)
139
+ console.log(renderAblationJson(result));
140
+ else
141
+ console.log('\n' + markdown);
142
+ }
143
+ async function runLive(flags) {
144
+ const benchmarkName = flags.benchmark ?? 'gsm8k';
145
+ if (flags['ci-smoke']) {
146
+ const profile = getCiSmokeProfile(benchmarkName);
147
+ if (profile) {
148
+ flags.tasks = flags.tasks ?? profile.taskCount;
149
+ flags.seeds = flags.seeds ?? profile.seeds;
150
+ flags['timeout'] = flags['timeout'] ?? profile.timeoutMinutes * 60;
151
+ }
152
+ }
153
+ const taskCount = flags.tasks ?? 12;
154
+ const seeds = flags.seeds ?? [1];
155
+ const model = flags.model ?? 'haiku';
156
+ const rollingWindow = flags.window ?? Math.max(3, Math.ceil(taskCount / 3));
157
+ const seedPlaybookDirs = [];
158
+ const resolved = resolveBenchmark(benchmarkName, flags);
159
+ if (!resolved) {
160
+ process.exitCode = 1;
161
+ return;
162
+ }
163
+ const { benchmark, delegateFactory } = resolved;
164
+ if (benchmarkName === 'alfworld' && flags['seed-playbooks']) {
165
+ seedPlaybookDirs.push(alfworldSeedDir());
166
+ }
167
+ if (!flags.json) {
168
+ console.error(`Running LIVE eval on ${benchmarkName} ` +
169
+ `(model=${model}, tasks=${taskCount}, seeds=${seeds.join(',')}). ` +
170
+ `This makes ~${taskCount * (flags['single-arm'] ? 1 : 2) * seeds.length} real agent calls — be patient.`);
171
+ }
172
+ // Incremental checkpointing: with --out, write a running partial-result file
173
+ // (<out>.checkpoint.json) after every completed task so an aborted run keeps
174
+ // its per-task results instead of losing hours of paid episodes. Removed
175
+ // once the final report is written.
176
+ // Resumability: with --out, the learning-arm Atlas persists to a stable
177
+ // <out>.workdir/ (next to the checkpoint) instead of temp dirs, so a run that
178
+ // dies can be resumed. --resume auto-loads <out>.checkpoint.json (if present)
179
+ // and skips every task already completed there — reopening the persisted
180
+ // learning dirs so accumulated memory carries forward.
181
+ const runWorkDir = flags.out ? workdirPathFor(flags.out) : undefined;
182
+ let resumeFrom;
183
+ if (flags['resume']) {
184
+ if (!flags.out) {
185
+ console.error('--resume requires --out (it reads <out>.checkpoint.json)');
186
+ process.exitCode = 1;
187
+ return;
188
+ }
189
+ const cpPath = checkpointPathFor(flags.out);
190
+ if (existsSync(cpPath)) {
191
+ resumeFrom = cpPath;
192
+ if (!flags.json)
193
+ console.error(`Resuming from checkpoint ${cpPath}`);
194
+ }
195
+ else if (!flags.json) {
196
+ console.error(`--resume: no checkpoint at ${cpPath} — starting a fresh run`);
197
+ }
198
+ }
199
+ // Load the resume checkpoint's cold rows BEFORE the fresh checkpoint's first
200
+ // write would overwrite the file — createRunCheckpoint defers writing until
201
+ // the first record(), and the runner (constructed below) loads resumeFrom in
202
+ // its constructor, so the read still sees the aborted run's rows.
203
+ const checkpoint = flags.out
204
+ ? createRunCheckpoint(flags.out, {
205
+ benchmark: benchmarkName,
206
+ model,
207
+ taskCount,
208
+ seeds,
209
+ bundledSeeds: flags['bundled-seeds'] ?? false,
210
+ singleArm: flags['single-arm'] ?? false,
211
+ })
212
+ : undefined;
213
+ // Cold-arm reuse: load per-seed cold results from a prior run's result JSON
214
+ // or checkpoint file. Fail loudly on a bad path/artifact — silently running
215
+ // without the control would waste the whole run.
216
+ let reuseColdBySeed;
217
+ if (flags['reuse-cold-from']) {
218
+ reuseColdBySeed = loadColdArmResults(flags['reuse-cold-from']);
219
+ if (!flags.json) {
220
+ console.error(`Reusing cold-arm results from ${flags['reuse-cold-from']} ` +
221
+ `(seeds: ${Object.keys(reuseColdBySeed).join(',')})`);
222
+ }
223
+ }
224
+ // Registries: loaded up front (difficulty drives discriminative task
225
+ // selection when requested), updated with this run's results afterwards.
226
+ // --difficulty-registry <file.json> keeps its original JSON contract
227
+ // unchanged; --registry-db <path> is the SQLite backend and additionally
228
+ // receives this run's lift rows (guided vs unguided per family × solver).
229
+ let registryStore;
230
+ if (flags['registry-db']) {
231
+ registryStore = new SqliteRegistryStore(flags['registry-db']);
232
+ }
233
+ let difficultyRegistry;
234
+ if (flags['difficulty-registry']) {
235
+ difficultyRegistry = loadDifficultyRegistry(flags['difficulty-registry']);
236
+ }
237
+ else if (registryStore) {
238
+ difficultyRegistry = registryStore.loadDifficulty();
239
+ }
240
+ if (flags['task-selection'] === 'discriminative' && !difficultyRegistry) {
241
+ console.error('--task-selection discriminative requires --difficulty-registry <file> or --registry-db <path>');
242
+ process.exitCode = 1;
243
+ return;
244
+ }
245
+ const extended = benchmark;
246
+ try {
247
+ if (extended.setup)
248
+ await extended.setup();
249
+ const runner = createLiveEvalRunner({
250
+ benchmark,
251
+ taskCount,
252
+ seeds,
253
+ rollingWindow,
254
+ model,
255
+ seedPlaybookDirs,
256
+ onTaskBoundary: checkpoint?.record,
257
+ runWorkDir,
258
+ resumeFrom,
259
+ reuseColdBySeed,
260
+ failFast: flags['fail-fast'],
261
+ ...(flags['task-selection'] === 'discriminative' && difficultyRegistry
262
+ ? { taskSelection: { mode: 'discriminative', registry: difficultyRegistry } }
263
+ : {}),
264
+ ...(flags['adaptive-stopping']
265
+ ? {
266
+ stopping: {
267
+ enabled: true,
268
+ ...(flags['stopping-threshold'] !== undefined
269
+ ? { decisionThreshold: flags['stopping-threshold'] }
270
+ : {}),
271
+ },
272
+ }
273
+ : {}),
274
+ embed: flags['embeddings'],
275
+ embedProvider: flags['embed-provider'],
276
+ singleArm: flags['single-arm'],
277
+ interleaveArms: flags['interleave-arms'],
278
+ provider: flags['provider'],
279
+ awsRegion: flags['aws-region'],
280
+ timeoutMs: flags['timeout'] ? flags['timeout'] * 1000 : undefined,
281
+ distill: flags['distill'],
282
+ ...(flags['train-eval-split']
283
+ ? {
284
+ trainEvalSplit: {
285
+ enabled: true,
286
+ ...(flags['train-ratio'] !== undefined ? { trainRatio: flags['train-ratio'] } : {}),
287
+ ...(flags['split-seed'] !== undefined ? { splitSeed: flags['split-seed'] } : {}),
288
+ },
289
+ }
290
+ : {}),
291
+ concurrency: flags['concurrency'],
292
+ traceDir: flags['trace-dir'],
293
+ metaPlaybookDirs: flags['meta-playbook-dir'],
294
+ playbookRetriever: flags['playbook-retriever'],
295
+ minPlaybookScore: flags['min-playbook-score'],
296
+ playbookApplicabilityGate: flags['playbook-applicability-gate'],
297
+ playbookIncorporation: flags['playbook-incorporation'],
298
+ mutationMode: flags['mutation-mode'],
299
+ mutationGating: resolveMutationGating(flags),
300
+ liveReplayGating: flags['live-replay-gating'],
301
+ bundledSeeds: flags['bundled-seeds'],
302
+ additive: resolveAdditive(flags),
303
+ ...liveProceduralMemoryConfig(flags),
304
+ learningOnlySeedDirs: flags['seed-playbook-dir'],
305
+ analysisBackends: createAnalysisBackends(flags, model, benchmark),
306
+ }, delegateFactory);
307
+ const result = await runner.run();
308
+ const markdown = renderMarkdown(result);
309
+ if (flags.out) {
310
+ writeFileSync(flags.out, flags.out.endsWith('.json') ? renderJson(result) : markdown);
311
+ console.error(`Wrote report to ${flags.out}`);
312
+ // Final report is safely on disk — the partial checkpoint and the
313
+ // resumable learning workdir are now redundant.
314
+ checkpoint?.finalize();
315
+ if (runWorkDir)
316
+ rmSync(runWorkDir, { recursive: true, force: true });
317
+ }
318
+ if (flags.json)
319
+ console.log(renderJson(result));
320
+ else
321
+ console.log('\n' + markdown);
322
+ // Fold this run's per-task outcomes into the difficulty registry so future
323
+ // discriminative runs sample from richer priors. Done after the report is
324
+ // safely written; ingestion failures must not eat a completed run.
325
+ if (flags['difficulty-registry'] && difficultyRegistry) {
326
+ try {
327
+ const { rows } = extractIngestRows(result);
328
+ ingestRunRows(difficultyRegistry, benchmarkName, rows);
329
+ saveDifficultyRegistry(flags['difficulty-registry'], difficultyRegistry);
330
+ console.error(`Ingested ${rows.length} rows into difficulty registry ${flags['difficulty-registry']}`);
331
+ }
332
+ catch (err) {
333
+ console.error(`difficulty registry update failed: ${err.message}`);
334
+ }
335
+ }
336
+ // SQLite registry (--registry-db): ingest difficulty AND lift rows. The
337
+ // lift solver is this run's --model, canonicalized so evidence pools
338
+ // across aliases of the same model but never across different solvers.
339
+ if (registryStore) {
340
+ try {
341
+ const raw = result;
342
+ const { rows } = extractIngestRows(raw);
343
+ const difficulty = registryStore.loadDifficulty();
344
+ ingestRunRows(difficulty, benchmarkName, rows);
345
+ registryStore.saveDifficulty(difficulty);
346
+ const { rows: liftRows } = extractLiftIngestRows(raw);
347
+ const lift = registryStore.loadLift();
348
+ ingestLiftRows(lift, benchmarkName, canonicalizeSolver(model), liftRows);
349
+ registryStore.saveLift(lift);
350
+ console.error(`Ingested ${rows.length} difficulty rows + ${liftRows.length} lift rows into ${registryStore.description}`);
351
+ }
352
+ catch (err) {
353
+ console.error(`registry-db update failed: ${err.message}`);
354
+ }
355
+ }
356
+ }
357
+ finally {
358
+ registryStore?.close();
359
+ if (extended.teardown)
360
+ await extended.teardown();
361
+ await benchmark.close?.();
362
+ }
363
+ }
364
+ /**
365
+ * Backfill the difficulty registry from existing run artifacts:
366
+ * cogcore eval ingest-difficulty --registry <file> [--benchmark <name>] <artifacts...>
367
+ * Artifacts are result JSONs (with perSeed rows) or <out>.checkpoint.json
368
+ * partials — the same shapes cold-arm reuse accepts.
369
+ */
370
+ async function runIngestDifficulty(args) {
371
+ let registryPath;
372
+ let benchmarkOverride;
373
+ const artifacts = [];
374
+ for (let i = 0; i < args.length; i++) {
375
+ if (args[i] === '--registry')
376
+ registryPath = args[++i];
377
+ else if (args[i] === '--benchmark')
378
+ benchmarkOverride = args[++i];
379
+ else if (!args[i].startsWith('--'))
380
+ artifacts.push(args[i]);
381
+ }
382
+ if (!registryPath || artifacts.length === 0) {
383
+ console.error('Usage: cogcore eval ingest-difficulty --registry <file> [--benchmark <name>] <artifacts...>');
384
+ process.exitCode = 1;
385
+ return;
386
+ }
387
+ const registry = loadDifficultyRegistry(registryPath);
388
+ const { readFileSync } = await import('node:fs');
389
+ for (const artifact of artifacts) {
390
+ const raw = JSON.parse(readFileSync(artifact, 'utf8'));
391
+ const { benchmark, rows } = extractIngestRows(raw);
392
+ const target = benchmarkOverride ?? benchmark;
393
+ if (!target) {
394
+ console.error(`${artifact}: no benchmark name in artifact — pass --benchmark <name> to override`);
395
+ process.exitCode = 1;
396
+ return;
397
+ }
398
+ if (rows.length === 0) {
399
+ console.error(`${artifact}: no ingestible task rows found, skipping`);
400
+ continue;
401
+ }
402
+ ingestRunRows(registry, target, rows);
403
+ console.error(`${artifact}: ingested ${rows.length} rows into '${target}'`);
404
+ }
405
+ saveDifficultyRegistry(registryPath, registry);
406
+ // Summary: per-benchmark family difficulty estimates.
407
+ for (const [bench, { families }] of Object.entries(registry.benchmarks)) {
408
+ console.log(`\n${bench}:`);
409
+ for (const [family, stats] of Object.entries(families).sort()) {
410
+ const p = estimateFamilySuccess(stats);
411
+ console.log(` ${family}: p̂=${p.toFixed(2)} ` +
412
+ `(${stats.successes}/${stats.attempts} pooled, ` +
413
+ `${stats.coldSuccesses}/${stats.coldAttempts} cold, ${stats.runs} runs)`);
414
+ }
415
+ }
416
+ console.error(`\nWrote ${registryPath}`);
417
+ }
418
+ /**
419
+ * Backfill the lift registry from existing run artifacts:
420
+ * cogcore eval ingest-lift [--registry-db <db> | --registry <file.json>]
421
+ * [--benchmark <name>] [--solver <model>] <artifacts...>
422
+ * Learning-arm rows map to guided, cold-arm rows to unguided; family is the
423
+ * row's skillTag. The solver comes from a checkpoint's meta.model when
424
+ * present, else --solver (final result JSONs carry no model, so --solver is
425
+ * required for those). Default store: SQLite at eval-traces/registry.db.
426
+ */
427
+ async function runIngestLift(args) {
428
+ let registryDb;
429
+ let registryJson;
430
+ let benchmarkOverride;
431
+ let solverFlag;
432
+ const artifacts = [];
433
+ for (let i = 0; i < args.length; i++) {
434
+ if (args[i] === '--registry-db')
435
+ registryDb = args[++i];
436
+ else if (args[i] === '--registry')
437
+ registryJson = args[++i];
438
+ else if (args[i] === '--benchmark')
439
+ benchmarkOverride = args[++i];
440
+ else if (args[i] === '--solver')
441
+ solverFlag = args[++i];
442
+ else if (!args[i].startsWith('--'))
443
+ artifacts.push(args[i]);
444
+ }
445
+ if (artifacts.length === 0) {
446
+ console.error('Usage: cogcore eval ingest-lift [--registry-db <db> | --registry <file.json>] ' +
447
+ '[--benchmark <name>] [--solver <model>] <artifacts...>');
448
+ process.exitCode = 1;
449
+ return;
450
+ }
451
+ const store = resolveRegistryStore({ registryDb, registryJson });
452
+ try {
453
+ const lift = store.loadLift();
454
+ const { readFileSync } = await import('node:fs');
455
+ for (const artifact of artifacts) {
456
+ const raw = JSON.parse(readFileSync(artifact, 'utf8'));
457
+ const { benchmark, solver: artifactSolver, rows } = extractLiftIngestRows(raw);
458
+ const scope = benchmarkOverride ?? benchmark;
459
+ if (!scope) {
460
+ console.error(`${artifact}: no benchmark name in artifact — pass --benchmark <name> to override`);
461
+ process.exitCode = 1;
462
+ return;
463
+ }
464
+ const rawSolver = artifactSolver ?? solverFlag;
465
+ if (!rawSolver) {
466
+ console.error(`${artifact}: no solver model in artifact (final result JSONs carry none) — ` +
467
+ `pass --solver <model> so cells never pool across solvers`);
468
+ process.exitCode = 1;
469
+ return;
470
+ }
471
+ if (rows.length === 0) {
472
+ console.error(`${artifact}: no ingestible task rows found, skipping`);
473
+ continue;
474
+ }
475
+ const solver = canonicalizeSolver(rawSolver);
476
+ ingestLiftRows(lift, scope, solver, rows);
477
+ console.error(`${artifact}: ingested ${rows.length} rows into '${scope}' (solver: ${solver})`);
478
+ }
479
+ store.saveLift(lift);
480
+ printLiftTable(lift);
481
+ console.error(`\nWrote ${store.description}`);
482
+ }
483
+ finally {
484
+ store.close();
485
+ }
486
+ }
487
+ /**
488
+ * Merged lift scorecard — "where does memory help?":
489
+ * cogcore eval lift-report [--registry-db <db> | --registry <file.json>]
490
+ * [--atlas-dir <dir>] [--json]
491
+ * Reads the eval-side registry store (default eval-traces/registry.db) and
492
+ * optionally a production .atlas instance DB (its `lift_cells` table,
493
+ * scope 'production'), printing per-cell counts, delta, CI and decided state.
494
+ */
495
+ async function runLiftReport(args) {
496
+ let registryDb;
497
+ let registryJson;
498
+ let atlasDir;
499
+ let json = false;
500
+ for (let i = 0; i < args.length; i++) {
501
+ if (args[i] === '--registry-db')
502
+ registryDb = args[++i];
503
+ else if (args[i] === '--registry')
504
+ registryJson = args[++i];
505
+ else if (args[i] === '--atlas-dir')
506
+ atlasDir = args[++i];
507
+ else if (args[i] === '--json')
508
+ json = true;
509
+ }
510
+ const store = resolveRegistryStore({ registryDb, registryJson });
511
+ let lift;
512
+ try {
513
+ lift = store.loadLift();
514
+ }
515
+ finally {
516
+ store.close();
517
+ }
518
+ if (atlasDir) {
519
+ const { existsSync } = await import('node:fs');
520
+ const dbPath = join(atlasDir, 'cognitive-core.db');
521
+ if (!existsSync(dbPath)) {
522
+ console.error(`--atlas-dir: no cognitive-core.db found at ${dbPath}`);
523
+ process.exitCode = 1;
524
+ return;
525
+ }
526
+ const instance = new SqliteRegistryStore(dbPath, { readonly: true });
527
+ try {
528
+ mergeLiftRegistries(lift, instance.loadLift());
529
+ }
530
+ finally {
531
+ instance.close();
532
+ }
533
+ }
534
+ if (json) {
535
+ const cells = [];
536
+ for (const [scope, { families }] of Object.entries(lift.scopes)) {
537
+ for (const [family, solvers] of Object.entries(families)) {
538
+ for (const [solver, cell] of Object.entries(solvers)) {
539
+ cells.push({ scope, family, solver, ...cell, estimate: estimateLift(cell) });
540
+ }
541
+ }
542
+ }
543
+ console.log(JSON.stringify(cells, null, 2));
544
+ return;
545
+ }
546
+ if (Object.keys(lift.scopes).length === 0) {
547
+ console.log('Lift registry is empty — run evals with --registry-db or use eval ingest-lift.');
548
+ return;
549
+ }
550
+ printLiftTable(lift);
551
+ }
552
+ /** Per-cell lift summary shared by ingest-lift and lift-report. */
553
+ function printLiftTable(lift) {
554
+ for (const [scope, { families }] of Object.entries(lift.scopes).sort()) {
555
+ console.log(`\n${scope}:`);
556
+ for (const [family, solvers] of Object.entries(families).sort()) {
557
+ for (const [solver, cell] of Object.entries(solvers).sort()) {
558
+ const { delta, ci95, decided } = estimateLift(cell);
559
+ const sign = delta >= 0 ? '+' : '';
560
+ console.log(` ${family} × ${solver}: ` +
561
+ `guided ${cell.guidedSuccesses}/${cell.guidedAttempts}, ` +
562
+ `unguided ${cell.unguidedSuccesses}/${cell.unguidedAttempts} ` +
563
+ `(${cell.runs} runs) — Δ=${sign}${delta.toFixed(2)} ` +
564
+ `CI[${ci95[0].toFixed(2)}, ${ci95[1].toFixed(2)}] ${decided.toUpperCase()}`);
565
+ }
566
+ }
567
+ }
568
+ }
569
+ /**
570
+ * One-shot registry migration:
571
+ * cogcore eval registry migrate --from <file.json> --to <db>
572
+ * Copies difficulty + lift cells from a JSON registry file into a SQLite
573
+ * registry DB. Idempotent (cells are overwritten with the same values).
574
+ */
575
+ async function runRegistryMigrate(args) {
576
+ let from;
577
+ let to;
578
+ for (let i = 0; i < args.length; i++) {
579
+ if (args[i] === '--from')
580
+ from = args[++i];
581
+ else if (args[i] === '--to')
582
+ to = args[++i];
583
+ }
584
+ if (!from || !to) {
585
+ console.error('Usage: cogcore eval registry migrate --from <file.json> --to <db>');
586
+ process.exitCode = 1;
587
+ return;
588
+ }
589
+ const { difficultyCells, liftCells } = migrateJsonRegistryToSqlite(from, to);
590
+ console.error(`Migrated ${difficultyCells} difficulty cell(s) + ${liftCells} lift cell(s) from ${from} to ${to}`);
591
+ }
592
+ async function runLiveAblation(flags) {
593
+ const benchmarkName = flags.benchmark ?? 'clbench';
594
+ const taskCount = flags.tasks ?? 12;
595
+ const seeds = flags.seeds ?? [1];
596
+ const model = flags.model ?? 'haiku';
597
+ const rollingWindow = flags.window ?? Math.max(3, Math.ceil(taskCount / 3));
598
+ const resolved = resolveBenchmark(benchmarkName, flags);
599
+ if (!resolved) {
600
+ process.exitCode = 1;
601
+ return;
602
+ }
603
+ const { benchmark, delegateFactory } = resolved;
604
+ // Filter ABLATION_COMPONENTS by --components flag (or run all).
605
+ const selectedSpecs = flags.components
606
+ ? ABLATION_COMPONENTS.filter((c) => flags.components.includes(c.key))
607
+ : ABLATION_COMPONENTS;
608
+ if (flags.components) {
609
+ const unknown = flags.components.filter((k) => !ABLATION_COMPONENTS.some((c) => c.key === k));
610
+ if (unknown.length > 0) {
611
+ console.error(`Unknown ablation component keys: ${unknown.join(', ')}. ` +
612
+ `Valid keys: ${ABLATION_COMPONENTS.map((c) => c.key).join(', ')}`);
613
+ process.exitCode = 1;
614
+ return;
615
+ }
616
+ }
617
+ // Build AblationArm[] from the registry. Strict-validate each configPatch so
618
+ // unknown keys (e.g. old memory.disableExperiences) hard-error instead of
619
+ // being silently stripped by Zod, which would make the arm run the full system.
620
+ const arms = [];
621
+ for (const spec of selectedSpecs) {
622
+ const patch = spec.configPatch ?? {};
623
+ try {
624
+ validateAblationPatch(patch, `no-${spec.key}`);
625
+ }
626
+ catch (err) {
627
+ console.error(err.message);
628
+ process.exitCode = 1;
629
+ return;
630
+ }
631
+ arms.push({
632
+ label: `no-${spec.key}`,
633
+ configPatch: patch,
634
+ channels: spec.channels,
635
+ });
636
+ }
637
+ if (!flags.json) {
638
+ console.error(`Running LIVE ablation on ${benchmarkName} ` +
639
+ `(model=${model}, tasks=${taskCount}, components=${selectedSpecs.map((s) => s.key).join(',')}).`);
640
+ }
641
+ const extended = benchmark;
642
+ try {
643
+ if (extended.setup)
644
+ await extended.setup();
645
+ const runner = createLiveAblationRunner({
646
+ benchmark,
647
+ taskCount,
648
+ seeds,
649
+ rollingWindow,
650
+ model,
651
+ provider: flags['provider'],
652
+ awsRegion: flags['aws-region'],
653
+ timeoutMs: flags['timeout'] ? flags['timeout'] * 1000 : undefined,
654
+ concurrency: flags['concurrency'],
655
+ traceDir: flags['trace-dir'],
656
+ metaPlaybookDirs: flags['meta-playbook-dir'],
657
+ playbookRetriever: flags['playbook-retriever'],
658
+ minPlaybookScore: flags['min-playbook-score'],
659
+ playbookIncorporation: flags['playbook-incorporation'],
660
+ mutationMode: flags['mutation-mode'],
661
+ mutationGating: resolveMutationGating(flags),
662
+ liveReplayGating: flags['live-replay-gating'],
663
+ bundledSeeds: flags['bundled-seeds'],
664
+ additive: resolveAdditive(flags),
665
+ ...liveProceduralMemoryConfig(flags),
666
+ embed: flags['embeddings'],
667
+ embedProvider: flags['embed-provider'],
668
+ distill: flags['distill'],
669
+ analysisBackends: createAnalysisBackends(flags, model, benchmark),
670
+ }, arms, delegateFactory);
671
+ const result = await runner.run();
672
+ const lines = [
673
+ `# Live Ablation: ${benchmarkName}`,
674
+ '',
675
+ `**Full system:** ${(result.full.learning.successRate * 100).toFixed(1)}%`,
676
+ '',
677
+ '| Component disabled | Success rate | Contribution |',
678
+ '|--------------------|-------------|-------------|',
679
+ ];
680
+ for (const a of result.ablations) {
681
+ const rate = (a.result.learning.successRate * 100).toFixed(1);
682
+ const contrib = ((result.full.learning.successRate - a.result.learning.successRate) *
683
+ 100).toFixed(1);
684
+ lines.push(`| ${a.label} | ${rate}% | ${Number(contrib) >= 0 ? '+' : ''}${contrib}pp |`);
685
+ }
686
+ const report = lines.join('\n');
687
+ if (flags.out) {
688
+ writeFileSync(flags.out, report);
689
+ console.error(`Wrote report to ${flags.out}`);
690
+ }
691
+ if (flags.json) {
692
+ console.log(JSON.stringify({ full: result.full, ablations: result.ablations }, null, 2));
693
+ }
694
+ else {
695
+ console.log('\n' + report);
696
+ }
697
+ }
698
+ finally {
699
+ if (extended.teardown)
700
+ await extended.teardown();
701
+ await benchmark.close?.();
702
+ }
703
+ }
704
+ /**
705
+ * Oracle smoke harness (--smoke oracle).
706
+ *
707
+ * Live path: runs two-arm ALFWorld on manifest.games with the learning arm seeded
708
+ * from the fixture oracle playbooks, then asserts the pre-registered criteria.
709
+ *
710
+ * Mock path (--backend mock): uses a recording delegate that captures the
711
+ * injected systemContext for each task. Assertion: for each task, the seeded
712
+ * oracle playbook's strategy text appears in the captured systemContext, proving
713
+ * seed → retrieve → inject plumbing works.
714
+ */
715
+ async function runOracleSmoke(flags) {
716
+ const here = dirname(fileURLToPath(import.meta.url));
717
+ const fixtureDir = join(here, '../../../eval-fixtures/oracle/alfworld');
718
+ // Load and validate manifest.
719
+ let manifest;
720
+ try {
721
+ manifest = loadOracleManifest(fixtureDir);
722
+ }
723
+ catch (err) {
724
+ console.error(`oracle smoke: ${err.message}`);
725
+ process.exitCode = 1;
726
+ return;
727
+ }
728
+ // Refuse to run if any oracle playbook still has placeholder content.
729
+ const placeholders = findPlaceholderFiles(fixtureDir);
730
+ if (placeholders.length > 0) {
731
+ console.error(`oracle smoke: refusing to run — the following oracle playbooks still contain ` +
732
+ `__FILL_FROM_COLD_RUN__ placeholders:\n` +
733
+ placeholders.map((f) => ` ${f}`).join('\n') +
734
+ `\n\nRun a cold pass first to select the real action sequences, then fill them in.`);
735
+ process.exitCode = 1;
736
+ return;
737
+ }
738
+ const backend = flags.backend ?? 'live';
739
+ if (backend === 'mock') {
740
+ // Mock CI variant: verify the seed → retrieve → inject plumbing.
741
+ // We use a recording delegate that captures systemContext per task and assert
742
+ // the oracle playbook strategy text appears in it.
743
+ console.error(`oracle smoke (mock): verifying seed → retrieve → inject plumbing...`);
744
+ const { createLiveEvalRunner: _r } = await import('../../eval/index.js');
745
+ const bench = createAlfworldBenchmark({
746
+ maxSteps: 1,
747
+ reinject: true,
748
+ gameIndices: manifest.games,
749
+ });
750
+ // Recording delegate: captures systemContext for each execute() call.
751
+ const captured = [];
752
+ let taskIdx = 0;
753
+ const recordingDelegateFactory = (_benchmark, _opts) => {
754
+ return {
755
+ setCurrentTask: () => {
756
+ taskIdx++;
757
+ },
758
+ execute: async (_prompt, options) => {
759
+ captured.push({ taskIdx, systemContext: options.systemContext ?? '' });
760
+ // Return success so learning arm records a trajectory.
761
+ return { success: true, output: 'mock-oracle-pass' };
762
+ },
763
+ };
764
+ };
765
+ const runner = createLiveEvalRunner({
766
+ benchmark: bench,
767
+ taskCount: manifest.games.length,
768
+ seeds: [1],
769
+ rollingWindow: manifest.games.length,
770
+ model: 'mock',
771
+ learningOnlySeedDirs: [fixtureDir],
772
+ singleArm: false,
773
+ quiet: flags.json,
774
+ }, recordingDelegateFactory);
775
+ let result;
776
+ try {
777
+ result = await runner.run();
778
+ }
779
+ catch (err) {
780
+ console.error(`oracle smoke (mock): runner failed: ${err.message}`);
781
+ process.exitCode = 1;
782
+ return;
783
+ }
784
+ finally {
785
+ await bench.close?.();
786
+ }
787
+ // Assert plumbing: every captured systemContext that has a non-empty context
788
+ // should contain at least one of the oracle playbook names (strategy-level signal).
789
+ // This proves the seeded playbooks were retrieved and injected.
790
+ const withContext = captured.filter((c) => c.systemContext.length > 0);
791
+ const hasInjection = withContext.length > 0;
792
+ if (!hasInjection) {
793
+ console.error(`oracle smoke (mock): FAIL — no systemContext was injected into any task.`);
794
+ console.error(` This means the seed → retrieve → inject plumbing is broken.`);
795
+ process.exitCode = 1;
796
+ return;
797
+ }
798
+ console.log(`oracle smoke (mock): PASS`);
799
+ console.log(` Injected context in ${withContext.length}/${captured.length} tasks`);
800
+ console.log(` Learning success rate: ${(result.learning.successRate * 100).toFixed(0)}%`);
801
+ return;
802
+ }
803
+ // Live path: real ALFWorld two-arm run.
804
+ const model = flags.model ?? 'haiku';
805
+ const seeds = flags.seeds ?? [1];
806
+ const bench = createAlfworldBenchmark({
807
+ maxSteps: flags['max-steps'] ?? 30,
808
+ reinject: !flags['no-reinject'],
809
+ gameIndices: manifest.games,
810
+ });
811
+ console.error(`oracle smoke (live): running ${manifest.games.length} games × 2 arms × ${seeds.length} seed(s) ` +
812
+ `(games: ${manifest.games.join(',')})`);
813
+ const extended = bench;
814
+ let learningResults = [];
815
+ let coldResults = [];
816
+ try {
817
+ if (extended.setup)
818
+ await extended.setup();
819
+ const runner = createLiveEvalRunner({
820
+ benchmark: bench,
821
+ taskCount: manifest.games.length,
822
+ seeds,
823
+ rollingWindow: manifest.games.length,
824
+ model,
825
+ learningOnlySeedDirs: [fixtureDir],
826
+ provider: flags['provider'],
827
+ awsRegion: flags['aws-region'],
828
+ timeoutMs: flags['timeout'] ? flags['timeout'] * 1000 : undefined,
829
+ quiet: flags.json,
830
+ }, bench.delegateFactory);
831
+ const result = await runner.run();
832
+ learningResults = result.learning.perSeed.flat().map((r) => r.success);
833
+ coldResults = result.noLearning.perSeed.flat().map((r) => r.success);
834
+ }
835
+ finally {
836
+ if (extended.teardown)
837
+ await extended.teardown();
838
+ await bench.close?.();
839
+ }
840
+ const smokeResult = evaluateOracleCriteria(learningResults, coldResults, manifest.preRegistered);
841
+ for (const line of smokeResult.lines) {
842
+ console.log(line);
843
+ }
844
+ if (flags.out) {
845
+ writeFileSync(flags.out, smokeResult.lines.join('\n') + '\n');
846
+ console.error(`Wrote oracle smoke report to ${flags.out}`);
847
+ }
848
+ process.exitCode = smokeResult.pass ? 0 : 1;
849
+ }
850
+ function resolveBenchmark(name, flags) {
851
+ switch (name) {
852
+ case 'gsm8k':
853
+ return { benchmark: createGsm8kBenchmark() };
854
+ case 'alfworld': {
855
+ const curriculum = flags['curriculum'];
856
+ const bench = createAlfworldBenchmark({
857
+ maxSteps: flags['max-steps'] ?? 30,
858
+ reinject: !flags['no-reinject'],
859
+ stratified: flags['stratified'],
860
+ refine: flags['refine'],
861
+ curriculum: curriculum === 'recurrence-ladder' ? 'recurrence-ladder' : undefined,
862
+ gameIndices: flags['games'],
863
+ });
864
+ return { benchmark: bench, delegateFactory: bench.delegateFactory };
865
+ }
866
+ case 'skillsbench': {
867
+ const bench = createSkillsBenchBenchmark({
868
+ repoPath: flags['benchmark-repo'],
869
+ timeoutMs: flags['timeout'] ? flags['timeout'] * 1000 : undefined,
870
+ });
871
+ return { benchmark: bench, delegateFactory: bench.delegateFactory };
872
+ }
873
+ case 'skillflow': {
874
+ const bench = createSkillFlowBenchmark({
875
+ maxSteps: flags['max-steps'] ?? 25,
876
+ reinject: !flags['no-reinject'],
877
+ historyWindow: flags['history-window'],
878
+ families: flags['families'],
879
+ runtime: flags['skillflow-runtime'],
880
+ embeddedWorkbookBundle: flags['skillflow-embedded-workbook-bundle'],
881
+ });
882
+ return { benchmark: bench, delegateFactory: bench.delegateFactory };
883
+ }
884
+ case 'clbench': {
885
+ const bench = createClBenchBenchmark({
886
+ maxSteps: flags['max-steps'] ?? 30,
887
+ reinject: !flags['no-reinject'],
888
+ historyWindow: flags['history-window'],
889
+ });
890
+ return { benchmark: bench, delegateFactory: bench.delegateFactory };
891
+ }
892
+ case 'skilllearnbench': {
893
+ const bench = createSkillLearnBenchBenchmark({
894
+ iterations: flags['iterations'],
895
+ });
896
+ return { benchmark: bench, delegateFactory: bench.delegateFactory };
897
+ }
898
+ case 'lifelongagent': {
899
+ const bench = createLifelongAgentBenchmark({
900
+ maxSteps: flags['max-steps'] ?? 20,
901
+ historyWindow: flags['history-window'],
902
+ });
903
+ return { benchmark: bench, delegateFactory: bench.delegateFactory };
904
+ }
905
+ default:
906
+ console.error(`Unknown benchmark '${name}'. Use: gsm8k | alfworld | skillsbench | skillflow | clbench | skilllearnbench | lifelongagent`);
907
+ return null;
908
+ }
909
+ }
910
+ function parseEvalFlags(args) {
911
+ const flags = {};
912
+ for (let i = 0; i < args.length; i++) {
913
+ const a = args[i];
914
+ switch (a) {
915
+ case '--backend':
916
+ flags.backend = args[++i];
917
+ break;
918
+ case '--benchmark':
919
+ flags.benchmark = args[++i];
920
+ break;
921
+ case '--model':
922
+ flags.model = args[++i];
923
+ break;
924
+ case '--tasks':
925
+ case '--limit':
926
+ flags.tasks = parseInt(args[++i], 10);
927
+ break;
928
+ case '--skills':
929
+ flags.skills = parseInt(args[++i], 10);
930
+ break;
931
+ case '--seeds':
932
+ flags.seeds = args[++i]
933
+ .split(',')
934
+ .map((s) => parseInt(s.trim(), 10))
935
+ .filter((n) => !Number.isNaN(n));
936
+ break;
937
+ case '--window':
938
+ flags.window = parseInt(args[++i], 10);
939
+ break;
940
+ case '--cold':
941
+ flags.cold = parseFloat(args[++i]);
942
+ break;
943
+ case '--warm':
944
+ flags.warm = parseFloat(args[++i]);
945
+ break;
946
+ case '--batch-every':
947
+ flags['batch-every'] = parseInt(args[++i], 10);
948
+ break;
949
+ case '--max-steps':
950
+ flags['max-steps'] = parseInt(args[++i], 10);
951
+ break;
952
+ case '--seed-playbooks':
953
+ flags['seed-playbooks'] = true;
954
+ break;
955
+ case '--bundled-seeds':
956
+ flags['bundled-seeds'] = true;
957
+ break;
958
+ case '--additive':
959
+ flags['additive'] = true;
960
+ break;
961
+ case '--no-additive':
962
+ flags['additive'] = false;
963
+ break;
964
+ case '--reuse-cold-from':
965
+ flags['reuse-cold-from'] = args[++i];
966
+ break;
967
+ case '--resume':
968
+ flags['resume'] = true;
969
+ break;
970
+ case '--fail-fast':
971
+ flags['fail-fast'] = true;
972
+ break;
973
+ case '--adaptive-stopping':
974
+ flags['adaptive-stopping'] = true;
975
+ break;
976
+ case '--stopping-threshold':
977
+ flags['stopping-threshold'] = parseFloat(args[++i]);
978
+ break;
979
+ case '--difficulty-registry':
980
+ flags['difficulty-registry'] = args[++i];
981
+ break;
982
+ case '--registry-db':
983
+ flags['registry-db'] = args[++i];
984
+ break;
985
+ case '--task-selection': {
986
+ const value = args[++i];
987
+ if (value === 'fixed' || value === 'discriminative') {
988
+ flags['task-selection'] = value;
989
+ }
990
+ else {
991
+ throw new Error(`Invalid --task-selection value: ${value}`);
992
+ }
993
+ break;
994
+ }
995
+ case '--no-reinject':
996
+ flags['no-reinject'] = true;
997
+ break;
998
+ case '--embeddings':
999
+ flags['embeddings'] = true;
1000
+ break;
1001
+ case '--embed-provider':
1002
+ flags['embed-provider'] = args[++i];
1003
+ flags['embeddings'] = true;
1004
+ break;
1005
+ case '--single-arm':
1006
+ flags['single-arm'] = true;
1007
+ break;
1008
+ case '--concurrency':
1009
+ flags['concurrency'] = parseInt(args[++i], 10);
1010
+ break;
1011
+ case '--interleave-arms':
1012
+ flags['interleave-arms'] = true;
1013
+ break;
1014
+ case '--stratified':
1015
+ flags['stratified'] = true;
1016
+ break;
1017
+ case '--refine':
1018
+ flags['refine'] = true;
1019
+ break;
1020
+ case '--ci-smoke':
1021
+ flags['ci-smoke'] = true;
1022
+ break;
1023
+ case '--components':
1024
+ flags.components = args[++i].split(',').map((s) => s.trim());
1025
+ break;
1026
+ case '--benchmark-repo':
1027
+ flags['benchmark-repo'] = args[++i];
1028
+ break;
1029
+ case '--iterations':
1030
+ flags['iterations'] = parseInt(args[++i], 10);
1031
+ break;
1032
+ case '--history-window':
1033
+ flags['history-window'] = parseInt(args[++i], 10);
1034
+ break;
1035
+ case '--timeout':
1036
+ flags['timeout'] = parseInt(args[++i], 10);
1037
+ break;
1038
+ case '--provider':
1039
+ flags['provider'] = args[++i];
1040
+ break;
1041
+ case '--aws-region':
1042
+ flags['aws-region'] = args[++i];
1043
+ break;
1044
+ case '--analysis-provider':
1045
+ flags['analysis-provider'] = args[++i];
1046
+ break;
1047
+ case '--analysis-model':
1048
+ flags['analysis-model'] = args[++i];
1049
+ break;
1050
+ case '--analysis-aws-region':
1051
+ flags['analysis-aws-region'] = args[++i];
1052
+ break;
1053
+ case '--smoke':
1054
+ flags['smoke'] = args[++i];
1055
+ break;
1056
+ case '--curriculum':
1057
+ flags['curriculum'] = args[++i];
1058
+ break;
1059
+ case '--games':
1060
+ flags['games'] = args[++i]
1061
+ .split(',')
1062
+ .map((s) => parseInt(s.trim(), 10))
1063
+ .filter((n) => !Number.isNaN(n));
1064
+ break;
1065
+ case '--families':
1066
+ flags['families'] = args[++i]
1067
+ .split(',')
1068
+ .map((s) => s.trim())
1069
+ .filter(Boolean);
1070
+ break;
1071
+ case '--skillflow-runtime':
1072
+ flags['skillflow-runtime'] = args[++i];
1073
+ break;
1074
+ case '--skillflow-embedded-workbook-bundle':
1075
+ flags['skillflow-embedded-workbook-bundle'] = true;
1076
+ break;
1077
+ case '--distill':
1078
+ flags['distill'] = true;
1079
+ break;
1080
+ case '--train-eval-split':
1081
+ flags['train-eval-split'] = true;
1082
+ break;
1083
+ case '--train-ratio':
1084
+ flags['train-ratio'] = Number(args[++i]);
1085
+ break;
1086
+ case '--split-seed':
1087
+ flags['split-seed'] = Number(args[++i]);
1088
+ break;
1089
+ case '--agentic-playbooks':
1090
+ flags['agentic-playbooks'] = true;
1091
+ break;
1092
+ case '--no-agentic-playbooks':
1093
+ flags['no-agentic-playbooks'] = true;
1094
+ break;
1095
+ case '--playbook-applicability-gate':
1096
+ flags['playbook-applicability-gate'] = true;
1097
+ break;
1098
+ case '--playbook-incorporation':
1099
+ flags['playbook-incorporation'] = args[++i];
1100
+ break;
1101
+ case '--mutation-mode': {
1102
+ const value = args[++i];
1103
+ if (value === 'frozen' || value === 'active' || value === 'candidate') {
1104
+ flags['mutation-mode'] = value;
1105
+ }
1106
+ else {
1107
+ throw new Error(`Invalid --mutation-mode value: ${value}`);
1108
+ }
1109
+ break;
1110
+ }
1111
+ case '--mutation-gating':
1112
+ flags['mutation-gating'] = true;
1113
+ break;
1114
+ case '--no-mutation-gating':
1115
+ flags['mutation-gating'] = false;
1116
+ break;
1117
+ case '--live-replay-gating':
1118
+ flags['live-replay-gating'] = true;
1119
+ break;
1120
+ case '--procedural-memory-source': {
1121
+ const value = args[++i];
1122
+ if (value === 'sqlite' || value === 'filesystem') {
1123
+ flags['procedural-memory-source'] = value;
1124
+ }
1125
+ else {
1126
+ throw new Error(`Invalid --procedural-memory-source value: ${value}`);
1127
+ }
1128
+ break;
1129
+ }
1130
+ case '--procedural-memory-dir':
1131
+ flags['procedural-memory-dir'] = args[++i];
1132
+ break;
1133
+ case '--procedural-memory-strict':
1134
+ flags['procedural-memory-strict'] = true;
1135
+ break;
1136
+ case '--procedural-memory-prune-sqlite-only':
1137
+ flags['procedural-memory-prune-sqlite-only'] = true;
1138
+ break;
1139
+ case '--trace-dir':
1140
+ flags['trace-dir'] = args[++i];
1141
+ break;
1142
+ case '--playbook-retriever': {
1143
+ const value = args[++i];
1144
+ if (value === 'legacy' || value === 'skill-tree-hybrid') {
1145
+ flags['playbook-retriever'] = value;
1146
+ }
1147
+ else {
1148
+ throw new Error(`Invalid --playbook-retriever value: ${value}`);
1149
+ }
1150
+ break;
1151
+ }
1152
+ case '--min-playbook-score': {
1153
+ const value = parseFloat(args[++i]);
1154
+ if (!Number.isFinite(value) || value < 0 || value > 1) {
1155
+ throw new Error(`Invalid --min-playbook-score value: ${args[i]}`);
1156
+ }
1157
+ flags['min-playbook-score'] = value;
1158
+ break;
1159
+ }
1160
+ case '--meta-playbook-dir':
1161
+ flags['meta-playbook-dir'] = [
1162
+ ...(flags['meta-playbook-dir'] ?? []),
1163
+ ...args[++i]
1164
+ .split(',')
1165
+ .map((s) => s.trim())
1166
+ .filter(Boolean),
1167
+ ];
1168
+ break;
1169
+ case '--seed-playbook-dir':
1170
+ flags['seed-playbook-dir'] = [
1171
+ ...(flags['seed-playbook-dir'] ?? []),
1172
+ ...args[++i]
1173
+ .split(',')
1174
+ .map((s) => s.trim())
1175
+ .filter(Boolean),
1176
+ ];
1177
+ break;
1178
+ case '--out':
1179
+ flags.out = args[++i];
1180
+ break;
1181
+ case '--json':
1182
+ flags.json = true;
1183
+ break;
1184
+ default:
1185
+ break;
1186
+ }
1187
+ }
1188
+ return flags;
1189
+ }
1190
+ /**
1191
+ * Resolve the mutation-gating default for live eval runs: ON unless the run
1192
+ * is frozen (retrieval-only smokes have nothing to mutate) or the user opts
1193
+ * out with `--no-mutation-gating`. This makes the full learning loop —
1194
+ * extraction + reflective-mutation/pareto-merge gating — the default
1195
+ * measured system, so "learning arm" means the whole pipeline, not just
1196
+ * extraction.
1197
+ */
1198
+ export function resolveMutationGating(flags) {
1199
+ return flags['mutation-gating'] ?? (flags['mutation-mode'] ?? 'active') !== 'frozen';
1200
+ }
1201
+ /**
1202
+ * Resolve additive-consolidation for live eval runs. Default ON (matching the
1203
+ * `features.additiveConsolidation` config default): `--additive` sets it true,
1204
+ * `--no-additive` sets it false, neither leaves it at the default (true). This
1205
+ * mirrors `resolveMutationGating` — both `--additive` and `--no-additive` write
1206
+ * the same `additive` flag key.
1207
+ */
1208
+ export function resolveAdditive(flags) {
1209
+ return flags['additive'] ?? true;
1210
+ }
1211
+ export function liveProceduralMemoryConfig(flags) {
1212
+ if (!flags['procedural-memory-source'] &&
1213
+ !flags['procedural-memory-dir'] &&
1214
+ !flags['procedural-memory-strict'] &&
1215
+ !flags['procedural-memory-prune-sqlite-only']) {
1216
+ return {};
1217
+ }
1218
+ return {
1219
+ proceduralMemorySource: flags['procedural-memory-source'] ?? 'filesystem',
1220
+ ...(flags['procedural-memory-dir']
1221
+ ? { proceduralMemoryDir: resolve(flags['procedural-memory-dir']) }
1222
+ : {}),
1223
+ ...(flags['procedural-memory-strict'] !== undefined
1224
+ ? { proceduralMemoryStrictStartup: flags['procedural-memory-strict'] }
1225
+ : {}),
1226
+ ...(flags['procedural-memory-prune-sqlite-only'] !== undefined
1227
+ ? { proceduralMemoryPruneSqliteOnly: flags['procedural-memory-prune-sqlite-only'] }
1228
+ : {}),
1229
+ };
1230
+ }
1231
+ export function shouldUseAgenticPlaybooks(flags, benchmark) {
1232
+ if (flags['no-agentic-playbooks'])
1233
+ return false;
1234
+ if (flags['agentic-playbooks'])
1235
+ return true;
1236
+ return (typeof benchmark?.playbookMinTrajectories === 'number' && benchmark.playbookMinTrajectories > 0);
1237
+ }
1238
+ function createAnalysisBackends(flags, solveModel, benchmark) {
1239
+ if (!shouldUseAgenticPlaybooks(flags, benchmark))
1240
+ return undefined;
1241
+ const provider = flags['analysis-provider'] ??
1242
+ (isResponsesProviderName(flags.provider) ? 'bedrock' : flags.provider);
1243
+ const model = flags['analysis-model'] ?? (provider && provider !== flags.provider ? 'haiku' : solveModel);
1244
+ return [
1245
+ new ClaudeWorkspaceBackend({
1246
+ model,
1247
+ timeoutMs: Math.max(flags['timeout'] ? flags['timeout'] * 1000 : 0, 180_000),
1248
+ provider,
1249
+ awsRegion: flags['analysis-aws-region'] ?? flags['aws-region'],
1250
+ }),
1251
+ ];
1252
+ }
1253
+ function isResponsesProviderName(provider) {
1254
+ return provider === 'openai' || provider === 'azure' || provider === 'azure-openai';
1255
+ }
1256
+ async function runReport(args) {
1257
+ let diagnostics = false;
1258
+ let swarmkitLearning = false;
1259
+ let playbookUsage = false;
1260
+ let playbookCalibration = false;
1261
+ let candidateDecisions = false;
1262
+ let traceDir;
1263
+ let outFile;
1264
+ let learningArm;
1265
+ let baselineArm;
1266
+ let model;
1267
+ let window;
1268
+ let postExtractionStartIndex;
1269
+ let thresholds;
1270
+ const truePositiveNames = [];
1271
+ for (let i = 0; i < args.length; i++) {
1272
+ switch (args[i]) {
1273
+ case '--diagnostics':
1274
+ diagnostics = true;
1275
+ break;
1276
+ case '--swarmkit-learning':
1277
+ swarmkitLearning = true;
1278
+ break;
1279
+ case '--playbook-usage':
1280
+ playbookUsage = true;
1281
+ break;
1282
+ case '--playbook-calibration':
1283
+ playbookCalibration = true;
1284
+ break;
1285
+ case '--candidate-decisions':
1286
+ candidateDecisions = true;
1287
+ break;
1288
+ case '--trace-dir':
1289
+ traceDir = args[++i];
1290
+ break;
1291
+ case '--out':
1292
+ outFile = args[++i];
1293
+ break;
1294
+ case '--learning-arm':
1295
+ learningArm = args[++i];
1296
+ break;
1297
+ case '--baseline-arm':
1298
+ baselineArm = args[++i];
1299
+ break;
1300
+ case '--model':
1301
+ model = args[++i];
1302
+ break;
1303
+ case '--window':
1304
+ window = parseInt(args[++i], 10);
1305
+ break;
1306
+ case '--post-extraction-start':
1307
+ postExtractionStartIndex = parseInt(args[++i], 10);
1308
+ break;
1309
+ case '--thresholds':
1310
+ thresholds = parseNumberList(args[++i]);
1311
+ break;
1312
+ case '--true-positive':
1313
+ truePositiveNames.push(args[++i]);
1314
+ break;
1315
+ default:
1316
+ break;
1317
+ }
1318
+ }
1319
+ if (!diagnostics &&
1320
+ !swarmkitLearning &&
1321
+ !playbookUsage &&
1322
+ !playbookCalibration &&
1323
+ !candidateDecisions) {
1324
+ console.error('eval report: unknown mode. Currently supported: --diagnostics, --swarmkit-learning, --playbook-usage, --playbook-calibration, or --candidate-decisions with --trace-dir <dir>');
1325
+ process.exitCode = 1;
1326
+ return;
1327
+ }
1328
+ if (!traceDir) {
1329
+ console.error('eval report requires --trace-dir <dir>');
1330
+ process.exitCode = 1;
1331
+ return;
1332
+ }
1333
+ const report = swarmkitLearning
1334
+ ? renderSwarmkitTraceReport(traceDir, {
1335
+ learningArm,
1336
+ baselineArm,
1337
+ model,
1338
+ window,
1339
+ postExtractionStartIndex,
1340
+ })
1341
+ : playbookUsage
1342
+ ? renderPlaybookUsageReport(traceDir, {
1343
+ learningArm,
1344
+ baselineArm,
1345
+ postExtractionStartIndex,
1346
+ })
1347
+ : playbookCalibration
1348
+ ? renderPlaybookCalibrationReport(traceDir, {
1349
+ learningArm,
1350
+ baselineArm,
1351
+ thresholds,
1352
+ })
1353
+ : candidateDecisions
1354
+ ? renderPlaybookCandidateDecisionsReport(traceDir, {
1355
+ learningArm,
1356
+ baselineArm,
1357
+ truePositives: truePositiveNames.map((playbookName) => ({ playbookName })),
1358
+ })
1359
+ : renderDiagnosticsReport(traceDir);
1360
+ if (outFile) {
1361
+ writeFileSync(outFile, report + '\n');
1362
+ console.error(`Wrote diagnostics report to ${outFile}`);
1363
+ }
1364
+ else {
1365
+ console.log('\n' + report);
1366
+ }
1367
+ }
1368
+ function parseNumberList(value) {
1369
+ return (value ?? '')
1370
+ .split(',')
1371
+ .map((part) => Number(part.trim()))
1372
+ .filter((n) => Number.isFinite(n));
1373
+ }
1374
+ function printUsage() {
1375
+ console.log(`Usage: cogcore eval [ablation] [options]
1376
+
1377
+ Modes:
1378
+ cogcore eval Sequential learning-curve eval (mock)
1379
+ cogcore eval ablation Per-component ablation (mock)
1380
+ cogcore eval --backend live --benchmark <name> Real-agent live arm
1381
+ cogcore eval ablation --backend live --benchmark clbench Live memory ablation
1382
+
1383
+ The learning-curve eval solves an ordered task stream with learning enabled
1384
+ (memory carried across tasks) vs. a no-learning baseline (fresh memory per task),
1385
+ reporting success-rate delta, normalized gain, and learning curves.
1386
+
1387
+ Benchmarks:
1388
+ gsm8k Grade-school math (single-turn, deterministic)
1389
+ alfworld Embodied household tasks (multi-turn, needs Python env)
1390
+ skillsbench 84 tasks, 11 domains — one-shot skill quality gate (Docker)
1391
+ skillflow 166 tasks, 5 domains — cumulative learning curve (Docker + bridge)
1392
+ clbench ~30 tasks, 6 domains — memory hierarchy vs naive ICL (bridge)
1393
+ skilllearnbench 20 tasks — iterative skill generation quality (bridge)
1394
+ lifelongagent ~50 tasks, 3 envs (DB/OS/KG) — sequential experience reuse (bridge)
1395
+
1396
+ Options:
1397
+ --backend <mock|live> Execution backend (default: mock)
1398
+ --benchmark <name> Live benchmark (see list above)
1399
+ --model <name> Model for live runs (Claude CLI or Responses API; default: haiku)
1400
+ --tasks/--limit <n> Tasks per arm (mock default 60, live default 12)
1401
+ --skills <n> (mock) distinct skill families (default: 6)
1402
+ --seeds <a,b,c> Seeds (mock default 1,2,3; live default 1)
1403
+ --window <n> Rolling-window size for the curve
1404
+ --max-steps <n> Max env steps per episode (default varies by benchmark)
1405
+ --seed-playbooks (alfworld) seed curated recipe playbooks (B1 cold-start)
1406
+ --bundled-seeds (live) enable committed cold-start seeds (bundled packs +
1407
+ meta seeds + routing priors) in BOTH arms. Seed-lift A/B:
1408
+ run once without, once with, and compare per arm.
1409
+ --additive (live) ADDITIVE LEARNING (default ON): refine/reuse
1410
+ existing playbooks (inline match-and-refine + injection-
1411
+ aligned frontier accounting) instead of minting a unique
1412
+ distilled-<uuid> per trajectory. On by default as of
1413
+ 2026-07-06; this flag is now a no-op explicit opt-IN.
1414
+ --no-additive (live) Opt OUT of additive learning: restore the legacy
1415
+ proliferating behavior (a new unique distilled-<uuid>
1416
+ per trajectory). A/B: run once with --no-additive and
1417
+ once without to compare additive vs proliferating.
1418
+ --no-reinject Inject knowledge on turn 1 only, not every step
1419
+ --embeddings Semantic (hash-embedding) experience retrieval
1420
+ --single-arm Run only the learning arm (no cold baseline)
1421
+ --concurrency <n> Max concurrent cold-arm episodes (default 1). The
1422
+ harness is I/O-bound on the model, so n=4-8 gives a
1423
+ large speedup on the no-learning arm at ~0 CPU cost.
1424
+ --interleave-arms Per-seed arm-order alternation (even seeds: cold first)
1425
+ --stratified (alfworld) sample games evenly across task types
1426
+ --curriculum <name> (alfworld) curriculum ordering: recurrence-ladder = Curriculum-1
1427
+ block→interleave→probe phases (Section 6.2)
1428
+ --families <a,b> (skillflow) exact task families, preserving listed family order
1429
+ --skillflow-runtime <r> (skillflow) docker or e2b (default: docker / SKILLFLOW_RUNTIME)
1430
+ --skillflow-embedded-workbook-bundle
1431
+ (skillflow) Install the embedded workbook helper bundle in EDR tasks.
1432
+ --refine (alfworld) B3 in-episode think-act-refine loop
1433
+ --ci-smoke Apply budget-capped CI smoke profile for the benchmark
1434
+ --benchmark-repo <path> Path to benchmark repo (skillsbench)
1435
+ --iterations <n> Iterations per task (skilllearnbench, default 5)
1436
+ --history-window <n> History window for multi-turn prompts
1437
+ --timeout <seconds> Per-task timeout in seconds
1438
+ --provider <name> API provider (bedrock, vertex, openai, azure-openai). Default: ambient auth.
1439
+ bedrock routes calls via CLAUDE_CODE_USE_BEDROCK env routing (fixed
1440
+ 2026-07-02, 6798326 — before that it silently used the Anthropic
1441
+ subscription); needs ~/.aws creds with bedrock:InvokeModel for the
1442
+ BEDROCK_MODELS inference profiles (src/eval/live/claude-cli.ts).
1443
+ Verify via CloudWatch AWS/Bedrock Invocations for the model id.
1444
+ --aws-region <region> AWS region for Bedrock (default us-west-1)
1445
+ --analysis-provider <p> Provider for workspace-agent extraction. Defaults to the solve
1446
+ provider, except OpenAI/Azure solve calls default analysis to bedrock.
1447
+ --analysis-model <m> Model for workspace-agent extraction (default follows provider)
1448
+ --analysis-aws-region <r>
1449
+ AWS region for analysis provider when using Bedrock
1450
+ --distill Wire a real LLM into the learning arm (distiller + convention-distiller).
1451
+ Learning arm only; cold arm is unaffected. On ALFWorld (no explicit
1452
+ playbookMinTrajectories), also lowers extraction threshold to 3 so the
1453
+ distiller fires mid-stream. Use with --backend live. (G3 arm C)
1454
+ --train-eval-split Complete train/eval isolation: the learner trains on a per-family
1455
+ TRAIN split (oracle on) then is FROZEN and scored on a disjoint
1456
+ held-out EVAL split (oracle off, solver firewall intact). Only the
1457
+ held-out tasks are counted. Cold baseline runs on the same EVAL split.
1458
+ --train-ratio <0..1> Fraction of each family's tasks used for TRAINING (default 0.5).
1459
+ Requires --train-eval-split.
1460
+ --split-seed <n> Deterministic seed offset for the train/eval partition (default 0).
1461
+ Requires --train-eval-split.
1462
+ --agentic-playbooks Use a separate Claude workspace agent for dream-phase playbook extraction.
1463
+ Default for live benchmarks with playbookMinTrajectories; opt-in for others.
1464
+ Keeps benchmark solve calls single-delegate while exercising the abstractor.
1465
+ --no-agentic-playbooks Force legacy heuristic dream-phase playbook extraction.
1466
+ --trace-dir <dir> Write live per-task diagnostics JSONL for eval report --diagnostics.
1467
+ --playbook-retriever <legacy|skill-tree-hybrid>
1468
+ Select solver-facing playbook retrieval implementation
1469
+ (default skill-tree-hybrid; legacy lexical scores are too
1470
+ sparse to clear the 0.1 injection floor).
1471
+ --min-playbook-score <n>
1472
+ Minimum playbook relevance score for injection (default 0.1).
1473
+ --playbook-applicability-gate
1474
+ Drop retrieved playbooks that lack task-specific applicability cues.
1475
+ --mutation-mode <mode> Validation mutation policy for live eval Atlas instances:
1476
+ active (default — learning arm learns), frozen (retrieval-only,
1477
+ no learned writes), or candidate.
1478
+ --mutation-gating Wire the playbook mutation/merge gating stack on the learning
1479
+ arm: binds a learning LLM provider (LLMJudgeReplay gate judge +
1480
+ reflective generator, no --distill needed) and runs maintenance
1481
+ after every dream so reflective-mutation / pareto-merge-proposing
1482
+ actually execute in short runs. Reported as mutationActivity in
1483
+ the JSON summary. DEFAULT ON whenever --mutation-mode is not
1484
+ frozen; disable with --no-mutation-gating.
1485
+ --no-mutation-gating Opt out of the default mutation/merge gating stack on the
1486
+ learning arm (extraction-only learning arm).
1487
+ --live-replay-gating Gate playbook mutations on the REAL task verifier for replayable
1488
+ experiences (re-execution outcome) instead of the haiku LLM-judge
1489
+ proxy, falling back to the LLM judge only when live replay isn't
1490
+ possible. Rollouts are budget-capped. Off by default (opt-in);
1491
+ requires --mutation-gating.
1492
+ --procedural-memory-source <sqlite|filesystem>
1493
+ Procedural-memory authority for live eval Atlas instances.
1494
+ Use filesystem to validate migrated .atlas/playbooks/SKILL.md artifacts.
1495
+ --procedural-memory-dir <p>
1496
+ Canonical SKILL.md playbook dir for live filesystem procedural memory.
1497
+ Relative paths are resolved against the current working directory.
1498
+ --procedural-memory-strict
1499
+ Fail live eval startup on invalid filesystem procedural memory.
1500
+ --meta-playbook-dir <p> Seed extractor-guidance meta-playbooks from a JSON file or directory.
1501
+ Repeat or comma-separate paths. Used only by learning-analysis agents.
1502
+ report --swarmkit-learning --trace-dir <dir>
1503
+ Render swarmkit-eval ordered-learning report from ablation traces.
1504
+ report --playbook-usage --trace-dir <dir>
1505
+ Render playbook surfacing/outcome audit from ablation traces.
1506
+ report --playbook-calibration --trace-dir <dir>
1507
+ Render score/utility calibration from paired or single-arm traces.
1508
+ report --candidate-decisions --trace-dir <dir>
1509
+ Audit every retrieved playbook candidate (incl. dropped): domain-fallback
1510
+ rate, rejected-candidate reasons. --true-positive <name> (repeatable)
1511
+ flags known true-positive playbooks dropped by the gate.
1512
+ --cold <p> --warm <p> (mock) cold/warm success probabilities
1513
+ --batch-every <n> Force batch learning every N tasks
1514
+ --components <a,b,c> (ablation) subset of components. Keys:
1515
+ ${ABLATION_COMPONENTS.map((c) => c.key).join(', ')}
1516
+ --out <file> Write report (.json → JSON, else Markdown). Live runs
1517
+ also checkpoint per-task partial results to
1518
+ <out>.checkpoint.json (deleted on successful finish)
1519
+ --reuse-cold-from <f> (live) Adopt cold-arm results from a prior run's
1520
+ result JSON or checkpoint file instead of re-running
1521
+ the arm. Requires same benchmark/tasks/model; rows
1522
+ are validated against this run's task stream
1523
+ --resume (live) Resume an aborted run from <out>.checkpoint.json
1524
+ (same --out): skip every already-completed (arm, seed,
1525
+ task) and reopen the persisted <out>.workdir/ learning
1526
+ dirs so accumulated memory carries forward. The final
1527
+ aggregated report is identical to an uninterrupted run.
1528
+ Requires --out; a no-op (fresh run) if no checkpoint
1529
+ exists. See scripts/run-eval-resilient.sh for a
1530
+ tmux-based auto-restart wrapper
1531
+ --fail-fast (live) One attempt per model call, no env_error
1532
+ episode retry — halves worst-case wall time on
1533
+ failure-heavy runs at some resilience cost
1534
+ --adaptive-stopping (live) Sequential stopping: after each seed, stop the
1535
+ run early if the learning-vs-cold question is already
1536
+ answered (threshold) or provably unanswerable within
1537
+ the remaining budget (futility)
1538
+ --stopping-threshold <p> Posterior probability to declare early (default 0.98)
1539
+ --difficulty-registry <f>
1540
+ (live) Per-family difficulty registry JSON. This run's
1541
+ per-task outcomes are ingested into it on completion;
1542
+ with --task-selection discriminative it also drives
1543
+ task sampling
1544
+ --registry-db <path> (live) SQLite registry (difficulty + lift cells) —
1545
+ the canonical backend. Ingests this run's difficulty
1546
+ rows AND guided/unguided lift rows (solver = --model,
1547
+ canonicalized) on completion; also usable as the
1548
+ --task-selection discriminative source. Lift
1549
+ subcommands default to eval-traces/registry.db when
1550
+ no registry flag is given
1551
+ --task-selection <fixed|discriminative>
1552
+ (live) discriminative oversamples the benchmark pool
1553
+ and weights families toward the p≈0.5 band using the
1554
+ registry (advisory until a family has ≥3 runs).
1555
+ Requires --difficulty-registry or --registry-db.
1556
+ CAUTION: changes the estimand — never compare
1557
+ discriminative numbers against fixed-stream numbers
1558
+ ingest-difficulty --registry <f> [--benchmark <n>] <artifacts...>
1559
+ Backfill the registry from existing result JSONs or
1560
+ checkpoint files
1561
+ ingest-lift [--registry-db <db> | --registry <f.json>] [--benchmark <n>]
1562
+ [--solver <model>] <artifacts...>
1563
+ Backfill the lift registry (guided = learning arm,
1564
+ unguided = cold arm, family = skillTag). Solver comes
1565
+ from a checkpoint's meta.model, else --solver is
1566
+ required (result JSONs carry no model). Cells never
1567
+ pool across solvers
1568
+ lift-report [--registry-db <db> | --registry <f.json>] [--atlas-dir <dir>] [--json]
1569
+ "Where does memory help?" — per-(scope × family ×
1570
+ solver) guided/unguided counts, posterior Δ, 95% CI,
1571
+ and decided state (POSITIVE: CI lower bound > 0;
1572
+ NULL: CI upper bound < 0.05; else UNDECIDED).
1573
+ --atlas-dir merges a production instance DB's
1574
+ lift_cells (scope 'production')
1575
+ registry migrate --from <file.json> --to <db>
1576
+ One-shot migration of a JSON registry (difficulty +
1577
+ lift) into a SQLite registry DB
1578
+ --json Print JSON to stdout
1579
+
1580
+ Exit codes (mock curve): 0 = learning helped, 2 = no improvement (CI gate).`);
1581
+ }
1582
+ //# sourceMappingURL=eval.js.map