cognitive-core 0.2.4 → 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 (1278) 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 +31 -4
  536. package/dist/learning/pipeline.d.ts.map +1 -1
  537. package/dist/learning/pipeline.js +64 -12
  538. package/dist/learning/pipeline.js.map +1 -1
  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 +3 -1
  827. package/dist/surfacing/skill-publisher.d.ts.map +1 -1
  828. package/dist/surfacing/skill-publisher.js +28 -28
  829. package/dist/surfacing/skill-publisher.js.map +1 -1
  830. package/dist/surfacing/sqlite-storage-adapter.d.ts +2 -2
  831. package/dist/surfacing/sqlite-storage-adapter.d.ts.map +1 -1
  832. package/dist/surfacing/sqlite-storage-adapter.js +27 -18
  833. package/dist/surfacing/sqlite-storage-adapter.js.map +1 -1
  834. package/dist/types/analysis.d.ts +43 -0
  835. package/dist/types/analysis.d.ts.map +1 -0
  836. package/dist/types/analysis.js +10 -0
  837. package/dist/types/analysis.js.map +1 -0
  838. package/dist/types/config.d.ts +2178 -425
  839. package/dist/types/config.d.ts.map +1 -1
  840. package/dist/types/config.js +600 -88
  841. package/dist/types/config.js.map +1 -1
  842. package/dist/types/dataclaw.d.ts +3 -3
  843. package/dist/types/index.d.ts +4 -7
  844. package/dist/types/index.d.ts.map +1 -1
  845. package/dist/types/index.js +2 -10
  846. package/dist/types/index.js.map +1 -1
  847. package/dist/types/knowledge-graph.d.ts +1 -1
  848. package/dist/types/knowledge-graph.d.ts.map +1 -1
  849. package/dist/types/knowledge.d.ts +219 -11
  850. package/dist/types/knowledge.d.ts.map +1 -1
  851. package/dist/types/knowledge.js +90 -30
  852. package/dist/types/knowledge.js.map +1 -1
  853. package/dist/types/memory.d.ts +8 -0
  854. package/dist/types/memory.d.ts.map +1 -1
  855. package/dist/types/memory.js +12 -4
  856. package/dist/types/memory.js.map +1 -1
  857. package/dist/types/outcome.d.ts +11 -0
  858. package/dist/types/outcome.d.ts.map +1 -1
  859. package/dist/types/outcome.js +9 -0
  860. package/dist/types/outcome.js.map +1 -1
  861. package/dist/types/playbook.d.ts +63 -0
  862. package/dist/types/playbook.d.ts.map +1 -1
  863. package/dist/types/playbook.js +51 -0
  864. package/dist/types/playbook.js.map +1 -1
  865. package/dist/types/trajectory-source.d.ts +1 -1
  866. package/dist/types/trajectory-source.d.ts.map +1 -1
  867. package/dist/types/trajectory.d.ts +61 -0
  868. package/dist/types/trajectory.d.ts.map +1 -1
  869. package/dist/types/trajectory.js +25 -0
  870. package/dist/types/trajectory.js.map +1 -1
  871. package/dist/utils/clock.d.ts +36 -0
  872. package/dist/utils/clock.d.ts.map +1 -0
  873. package/dist/utils/clock.js +48 -0
  874. package/dist/utils/clock.js.map +1 -0
  875. package/dist/utils/frontmatter.d.ts.map +1 -1
  876. package/dist/utils/frontmatter.js +10 -2
  877. package/dist/utils/frontmatter.js.map +1 -1
  878. package/dist/utils/index.d.ts +4 -1
  879. package/dist/utils/index.d.ts.map +1 -1
  880. package/dist/utils/index.js +4 -1
  881. package/dist/utils/index.js.map +1 -1
  882. package/dist/utils/logger.d.ts +31 -0
  883. package/dist/utils/logger.d.ts.map +1 -0
  884. package/dist/utils/logger.js +50 -0
  885. package/dist/utils/logger.js.map +1 -0
  886. package/dist/utils/objectives.d.ts +45 -0
  887. package/dist/utils/objectives.d.ts.map +1 -0
  888. package/dist/utils/objectives.js +74 -0
  889. package/dist/utils/objectives.js.map +1 -0
  890. package/dist/utils/partitioned-store.d.ts.map +1 -1
  891. package/dist/utils/partitioned-store.js.map +1 -1
  892. package/dist/utils/playbook-hash.d.ts +19 -0
  893. package/dist/utils/playbook-hash.d.ts.map +1 -0
  894. package/dist/utils/playbook-hash.js +51 -0
  895. package/dist/utils/playbook-hash.js.map +1 -0
  896. package/dist/utils/similarity.d.ts.map +1 -1
  897. package/dist/utils/similarity.js.map +1 -1
  898. package/dist/utils/solver-canonicalizer.d.ts +22 -0
  899. package/dist/utils/solver-canonicalizer.d.ts.map +1 -0
  900. package/dist/utils/solver-canonicalizer.js +41 -0
  901. package/dist/utils/solver-canonicalizer.js.map +1 -0
  902. package/dist/utils/storage.d.ts.map +1 -1
  903. package/dist/utils/storage.js +1 -3
  904. package/dist/utils/storage.js.map +1 -1
  905. package/dist/utils/task-signature.d.ts +34 -0
  906. package/dist/utils/task-signature.d.ts.map +1 -0
  907. package/dist/utils/task-signature.js +112 -0
  908. package/dist/utils/task-signature.js.map +1 -0
  909. package/dist/utils/trajectory-helpers.d.ts.map +1 -1
  910. package/dist/utils/trajectory-helpers.js.map +1 -1
  911. package/dist/utils/validation.d.ts.map +1 -1
  912. package/dist/utils/validation.js.map +1 -1
  913. package/dist/workspace/efficacy-toolkit.d.ts.map +1 -1
  914. package/dist/workspace/efficacy-toolkit.js +18 -26
  915. package/dist/workspace/efficacy-toolkit.js.map +1 -1
  916. package/dist/workspace/index.d.ts +4 -3
  917. package/dist/workspace/index.d.ts.map +1 -1
  918. package/dist/workspace/index.js +5 -3
  919. package/dist/workspace/index.js.map +1 -1
  920. package/dist/workspace/runner.d.ts.map +1 -1
  921. package/dist/workspace/runner.js +95 -21
  922. package/dist/workspace/runner.js.map +1 -1
  923. package/dist/workspace/skill-converter.d.ts +66 -1
  924. package/dist/workspace/skill-converter.d.ts.map +1 -1
  925. package/dist/workspace/skill-converter.js +238 -19
  926. package/dist/workspace/skill-converter.js.map +1 -1
  927. package/dist/workspace/skill-import.d.ts +43 -0
  928. package/dist/workspace/skill-import.d.ts.map +1 -0
  929. package/dist/workspace/skill-import.js +40 -0
  930. package/dist/workspace/skill-import.js.map +1 -0
  931. package/dist/workspace/templates/index.d.ts +6 -8
  932. package/dist/workspace/templates/index.d.ts.map +1 -1
  933. package/dist/workspace/templates/index.js +7 -11
  934. package/dist/workspace/templates/index.js.map +1 -1
  935. package/dist/workspace/templates/knowledge-defrag.d.ts.map +1 -1
  936. package/dist/workspace/templates/knowledge-defrag.js +0 -2
  937. package/dist/workspace/templates/knowledge-defrag.js.map +1 -1
  938. package/dist/workspace/templates/knowledge-extraction.d.ts +11 -0
  939. package/dist/workspace/templates/knowledge-extraction.d.ts.map +1 -1
  940. package/dist/workspace/templates/knowledge-extraction.js +11 -6
  941. package/dist/workspace/templates/knowledge-extraction.js.map +1 -1
  942. package/dist/workspace/templates/playbook-conditioning.d.ts +38 -0
  943. package/dist/workspace/templates/playbook-conditioning.d.ts.map +1 -0
  944. package/dist/workspace/templates/playbook-conditioning.js +147 -0
  945. package/dist/workspace/templates/playbook-conditioning.js.map +1 -0
  946. package/dist/workspace/templates/playbook-decay-detection.d.ts.map +1 -1
  947. package/dist/workspace/templates/playbook-decay-detection.js +24 -18
  948. package/dist/workspace/templates/playbook-decay-detection.js.map +1 -1
  949. package/dist/workspace/templates/playbook-efficacy-audit.d.ts.map +1 -1
  950. package/dist/workspace/templates/playbook-efficacy-audit.js +26 -11
  951. package/dist/workspace/templates/playbook-efficacy-audit.js.map +1 -1
  952. package/dist/workspace/templates/playbook-extraction.d.ts.map +1 -1
  953. package/dist/workspace/templates/playbook-extraction.js +75 -15
  954. package/dist/workspace/templates/playbook-extraction.js.map +1 -1
  955. package/dist/workspace/templates/playbook-lifecycle-review.d.ts.map +1 -1
  956. package/dist/workspace/templates/playbook-lifecycle-review.js +12 -8
  957. package/dist/workspace/templates/playbook-lifecycle-review.js.map +1 -1
  958. package/dist/workspace/templates/refinement-analysis.d.ts.map +1 -1
  959. package/dist/workspace/templates/refinement-analysis.js +11 -5
  960. package/dist/workspace/templates/refinement-analysis.js.map +1 -1
  961. package/dist/workspace/templates/skill-enrichment.d.ts.map +1 -1
  962. package/dist/workspace/templates/skill-enrichment.js +7 -11
  963. package/dist/workspace/templates/skill-enrichment.js.map +1 -1
  964. package/dist/workspace/templates/solution-evaluation.d.ts.map +1 -1
  965. package/dist/workspace/templates/solution-evaluation.js +15 -8
  966. package/dist/workspace/templates/solution-evaluation.js.map +1 -1
  967. package/dist/workspace/templates/trajectory-analysis.d.ts.map +1 -1
  968. package/dist/workspace/templates/trajectory-analysis.js +1 -3
  969. package/dist/workspace/templates/trajectory-analysis.js.map +1 -1
  970. package/dist/workspace/templates/usage-inference.d.ts.map +1 -1
  971. package/dist/workspace/templates/usage-inference.js +9 -7
  972. package/dist/workspace/templates/usage-inference.js.map +1 -1
  973. package/dist/workspace/types.d.ts +32 -2
  974. package/dist/workspace/types.d.ts.map +1 -1
  975. package/dist/workspace/types.js +29 -0
  976. package/dist/workspace/types.js.map +1 -1
  977. package/package.json +43 -19
  978. package/playbooks/agent-ops/long-task-checkpointing.json +54 -0
  979. package/playbooks/agent-ops/progressive-context-gathering.json +56 -0
  980. package/playbooks/agent-ops/safe-destructive-operations.json +59 -0
  981. package/playbooks/agent-ops/scope-discipline.json +56 -0
  982. package/playbooks/agent-ops/stall-detection-strategy-switch.json +55 -0
  983. package/playbooks/agent-ops/verification-before-completion.json +54 -0
  984. package/playbooks/alfworld/clean-and-place.json +35 -0
  985. package/playbooks/alfworld/cool-and-place.json +35 -0
  986. package/playbooks/alfworld/examine-in-light.json +32 -0
  987. package/playbooks/alfworld/heat-and-place.json +35 -0
  988. package/playbooks/alfworld/pick-and-place.json +37 -0
  989. package/playbooks/alfworld/pick-two-and-place.json +35 -0
  990. package/.claude/settings.json +0 -197
  991. package/.entire/settings.json +0 -4
  992. package/.sessionlog/settings.json +0 -4
  993. package/CLAUDE.md +0 -233
  994. package/SKILL.md +0 -193
  995. package/docs/DESIGN-agentic-workspace.md +0 -2057
  996. package/docs/DESIGN-semantic-memory-knowledge-bank.md +0 -1789
  997. package/docs/DESIGN-session-bank.md +0 -1134
  998. package/docs/DESIGN-team-extraction-pipeline.md +0 -1369
  999. package/docs/PROPOSAL-team-aware-learning.md +0 -1080
  1000. package/docs/RESEARCH-semantic-memory-knowledge-structures.md +0 -517
  1001. package/docs/RESEARCH-team-trajectory-learning.md +0 -553
  1002. package/gaps.md +0 -204
  1003. package/scripts/migrate-to-playbooks.ts +0 -307
  1004. package/src/agents/index.ts +0 -14
  1005. package/src/agents/mock-provider.ts +0 -93
  1006. package/src/agents/types.ts +0 -137
  1007. package/src/atlas.ts +0 -1198
  1008. package/src/bin/cli-utils.ts +0 -220
  1009. package/src/bin/cognitive-core.ts +0 -162
  1010. package/src/bin/commands/kb.ts +0 -266
  1011. package/src/bin/commands/learn.ts +0 -100
  1012. package/src/bin/commands/legacy.ts +0 -182
  1013. package/src/bin/commands/run.ts +0 -113
  1014. package/src/bin/commands/sessions.ts +0 -221
  1015. package/src/bin/commands/skills.ts +0 -146
  1016. package/src/embeddings/bm25.ts +0 -337
  1017. package/src/embeddings/index.ts +0 -42
  1018. package/src/embeddings/inverted-index.ts +0 -134
  1019. package/src/embeddings/manager.ts +0 -293
  1020. package/src/embeddings/provider.ts +0 -318
  1021. package/src/embeddings/vector-store.ts +0 -365
  1022. package/src/factory.ts +0 -280
  1023. package/src/index.ts +0 -495
  1024. package/src/learning/analyzer.ts +0 -319
  1025. package/src/learning/effectiveness.ts +0 -428
  1026. package/src/learning/energy-evaluator.ts +0 -282
  1027. package/src/learning/healing-orchestrator.ts +0 -383
  1028. package/src/learning/index.ts +0 -150
  1029. package/src/learning/instant-loop.ts +0 -357
  1030. package/src/learning/knowledge-extractor.ts +0 -470
  1031. package/src/learning/maintenance-scheduler.ts +0 -271
  1032. package/src/learning/meta-learner.ts +0 -552
  1033. package/src/learning/playbook-extractor.ts +0 -702
  1034. package/src/learning/reflexion-generator.ts +0 -273
  1035. package/src/learning/team-ingester.ts +0 -499
  1036. package/src/learning/team-meta-learner.ts +0 -558
  1037. package/src/learning/team-pipeline.ts +0 -364
  1038. package/src/learning/trajectory-sources/dataclaw.ts +0 -403
  1039. package/src/learning/trajectory-sources/entire.ts +0 -251
  1040. package/src/learning/trajectory-sources/file.ts +0 -136
  1041. package/src/learning/trajectory-sources/huggingface.ts +0 -248
  1042. package/src/learning/trajectory-sources/in-memory.ts +0 -61
  1043. package/src/learning/trajectory-sources/index.ts +0 -15
  1044. package/src/learning/trajectory-sources/pipeline.ts +0 -69
  1045. package/src/learning/unified-pipeline.ts +0 -1191
  1046. package/src/learning/usage-inference.ts +0 -372
  1047. package/src/mcp/index.ts +0 -12
  1048. package/src/mcp/playbook-server.ts +0 -565
  1049. package/src/memory/candidate-retrieval.ts +0 -72
  1050. package/src/memory/causal-store.ts +0 -273
  1051. package/src/memory/coherence.ts +0 -252
  1052. package/src/memory/curated-loader.ts +0 -213
  1053. package/src/memory/experience.ts +0 -682
  1054. package/src/memory/graph-layers/base.ts +0 -184
  1055. package/src/memory/graph-layers/causal.ts +0 -16
  1056. package/src/memory/graph-layers/entity.ts +0 -16
  1057. package/src/memory/graph-layers/index.ts +0 -5
  1058. package/src/memory/graph-layers/semantic.ts +0 -16
  1059. package/src/memory/graph-layers/temporal.ts +0 -16
  1060. package/src/memory/index.ts +0 -131
  1061. package/src/memory/knowledge-bank.ts +0 -1317
  1062. package/src/memory/knowledge-defrag.ts +0 -329
  1063. package/src/memory/knowledge-graph.ts +0 -361
  1064. package/src/memory/meta.ts +0 -488
  1065. package/src/memory/playbook.ts +0 -676
  1066. package/src/memory/reasoning-bank.ts +0 -458
  1067. package/src/memory/reflexion.ts +0 -122
  1068. package/src/memory/search-provider.ts +0 -35
  1069. package/src/memory/search-providers/index.ts +0 -3
  1070. package/src/memory/search-providers/minimem.ts +0 -84
  1071. package/src/memory/search-providers/text-similarity.ts +0 -35
  1072. package/src/memory/skill-exporter.ts +0 -357
  1073. package/src/memory/source-resolver.ts +0 -422
  1074. package/src/memory/system.ts +0 -620
  1075. package/src/memory/team-experience.ts +0 -604
  1076. package/src/memory/temporal-compressor.ts +0 -409
  1077. package/src/persistence/index.ts +0 -37
  1078. package/src/persistence/migrator.ts +0 -298
  1079. package/src/persistence/serializers.ts +0 -79
  1080. package/src/persistence/sqlite-persistence.ts +0 -925
  1081. package/src/runtime/backends/acp-protocol.ts +0 -231
  1082. package/src/runtime/backends/acp.ts +0 -239
  1083. package/src/runtime/backends/index.ts +0 -38
  1084. package/src/runtime/backends/macro-agent.ts +0 -177
  1085. package/src/runtime/backends/mock.ts +0 -218
  1086. package/src/runtime/backends/subprocess.ts +0 -356
  1087. package/src/runtime/compute-provider.ts +0 -206
  1088. package/src/runtime/flows/learning.ts +0 -166
  1089. package/src/runtime/flows/validation.ts +0 -381
  1090. package/src/runtime/index.ts +0 -75
  1091. package/src/runtime/manager.ts +0 -685
  1092. package/src/runtime/types.ts +0 -198
  1093. package/src/search/evaluator.ts +0 -499
  1094. package/src/search/index.ts +0 -78
  1095. package/src/search/moe-gate.ts +0 -304
  1096. package/src/search/refinement-loop.ts +0 -457
  1097. package/src/search/refinement-types.ts +0 -159
  1098. package/src/search/router.ts +0 -368
  1099. package/src/search/solver.ts +0 -303
  1100. package/src/search/team-router.ts +0 -459
  1101. package/src/search/verification-runner.ts +0 -570
  1102. package/src/session-bank/git-reader.ts +0 -200
  1103. package/src/session-bank/index.ts +0 -26
  1104. package/src/session-bank/parser.ts +0 -548
  1105. package/src/session-bank/session-bank.ts +0 -485
  1106. package/src/session-bank/types.ts +0 -176
  1107. package/src/surfacing/index.ts +0 -29
  1108. package/src/surfacing/publisher.ts +0 -23
  1109. package/src/surfacing/skill-library.ts +0 -625
  1110. package/src/surfacing/skill-publisher.ts +0 -257
  1111. package/src/surfacing/sqlite-storage-adapter.ts +0 -285
  1112. package/src/surfacing/team-skill-library.ts +0 -610
  1113. package/src/types/config.ts +0 -661
  1114. package/src/types/dataclaw.ts +0 -99
  1115. package/src/types/huggingface-transformers.d.ts +0 -12
  1116. package/src/types/index.ts +0 -293
  1117. package/src/types/knowledge-graph.ts +0 -246
  1118. package/src/types/knowledge.ts +0 -388
  1119. package/src/types/memory.ts +0 -300
  1120. package/src/types/meta.ts +0 -218
  1121. package/src/types/outcome.ts +0 -66
  1122. package/src/types/playbook.ts +0 -215
  1123. package/src/types/step.ts +0 -40
  1124. package/src/types/task.ts +0 -52
  1125. package/src/types/team-meta.ts +0 -212
  1126. package/src/types/team-playbook.ts +0 -384
  1127. package/src/types/team-trajectory.ts +0 -673
  1128. package/src/types/trajectory-source.ts +0 -47
  1129. package/src/types/trajectory.ts +0 -80
  1130. package/src/utils/error-classifier.ts +0 -113
  1131. package/src/utils/frontmatter.ts +0 -118
  1132. package/src/utils/index.ts +0 -63
  1133. package/src/utils/partitioned-store.ts +0 -299
  1134. package/src/utils/similarity.ts +0 -139
  1135. package/src/utils/storage.ts +0 -249
  1136. package/src/utils/trajectory-helpers.ts +0 -79
  1137. package/src/utils/validation.ts +0 -286
  1138. package/src/workspace/efficacy-toolkit.ts +0 -496
  1139. package/src/workspace/index.ts +0 -77
  1140. package/src/workspace/runner.ts +0 -281
  1141. package/src/workspace/skill-converter.ts +0 -288
  1142. package/src/workspace/templates/index.ts +0 -95
  1143. package/src/workspace/templates/knowledge-defrag.ts +0 -223
  1144. package/src/workspace/templates/knowledge-extraction.ts +0 -337
  1145. package/src/workspace/templates/meta-reflection.ts +0 -208
  1146. package/src/workspace/templates/playbook-decay-detection.ts +0 -272
  1147. package/src/workspace/templates/playbook-efficacy-audit.ts +0 -246
  1148. package/src/workspace/templates/playbook-extraction.ts +0 -240
  1149. package/src/workspace/templates/playbook-lifecycle-review.ts +0 -274
  1150. package/src/workspace/templates/refinement-analysis.ts +0 -162
  1151. package/src/workspace/templates/skill-enrichment.ts +0 -275
  1152. package/src/workspace/templates/solution-evaluation.ts +0 -199
  1153. package/src/workspace/templates/team-playbook-extraction.ts +0 -631
  1154. package/src/workspace/templates/team-trajectory-analysis.ts +0 -564
  1155. package/src/workspace/templates/trajectory-analysis.ts +0 -234
  1156. package/src/workspace/templates/usage-inference.ts +0 -163
  1157. package/src/workspace/types.ts +0 -185
  1158. package/tests/atlas-knowledge.test.ts +0 -165
  1159. package/tests/embeddings/bm25.test.ts +0 -130
  1160. package/tests/embeddings/inverted-index.test.ts +0 -138
  1161. package/tests/embeddings/manager.test.ts +0 -205
  1162. package/tests/feature-toggles.test.ts +0 -275
  1163. package/tests/fixtures/behavioral-trajectories.ts +0 -210
  1164. package/tests/gap-fixes.test.ts +0 -1116
  1165. package/tests/integration/atlas.test.ts +0 -266
  1166. package/tests/integration/cli-e2e.test.ts +0 -621
  1167. package/tests/integration/curated-sources-e2e.test.ts +0 -502
  1168. package/tests/integration/dataclaw-e2e.test.ts +0 -559
  1169. package/tests/integration/e2e.test.ts +0 -1337
  1170. package/tests/integration/entire-e2e.test.ts +0 -376
  1171. package/tests/integration/huggingface-e2e.test.ts +0 -627
  1172. package/tests/integration/persistence-e2e.test.ts +0 -741
  1173. package/tests/integration/phase-e2e.test.ts +0 -1143
  1174. package/tests/integration/pipeline-data-correctness.test.ts +0 -794
  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-tree-wiring.test.ts +0 -152
  1178. package/tests/integration/unified-pipeline-e2e.test.ts +0 -634
  1179. package/tests/learning/analyzer.test.ts +0 -426
  1180. package/tests/learning/dataclaw-trajectory-source.test.ts +0 -642
  1181. package/tests/learning/effectiveness.test.ts +0 -542
  1182. package/tests/learning/energy-evaluator.test.ts +0 -180
  1183. package/tests/learning/entire-trajectory-source.test.ts +0 -380
  1184. package/tests/learning/healing-orchestrator.test.ts +0 -269
  1185. package/tests/learning/huggingface-trajectory-source.test.ts +0 -817
  1186. package/tests/learning/instant-loop.test.ts +0 -243
  1187. package/tests/learning/knowledge-extractor.test.ts +0 -491
  1188. package/tests/learning/maintenance-scheduler.test.ts +0 -191
  1189. package/tests/learning/meta-learner.test.ts +0 -418
  1190. package/tests/learning/pipeline-memory-updates.test.ts +0 -721
  1191. package/tests/learning/playbook-extractor-provenance.test.ts +0 -114
  1192. package/tests/learning/reflexion-generator.test.ts +0 -411
  1193. package/tests/learning/team-ingester.test.ts +0 -349
  1194. package/tests/learning/team-meta-learner.test.ts +0 -618
  1195. package/tests/learning/team-pipeline.test.ts +0 -334
  1196. package/tests/learning/trajectory-sources.test.ts +0 -320
  1197. package/tests/learning/unified-pipeline-efficacy.test.ts +0 -232
  1198. package/tests/learning/unified-pipeline.test.ts +0 -322
  1199. package/tests/learning/usage-inference.test.ts +0 -254
  1200. package/tests/mcp/playbook-server.test.ts +0 -257
  1201. package/tests/memory/candidate-retrieval.test.ts +0 -167
  1202. package/tests/memory/causal-store.test.ts +0 -276
  1203. package/tests/memory/coherence.test.ts +0 -232
  1204. package/tests/memory/compound-engineering-seed.test.ts +0 -338
  1205. package/tests/memory/curated-loader-extended.test.ts +0 -225
  1206. package/tests/memory/experience.test.ts +0 -203
  1207. package/tests/memory/graph-layers/semantic.test.ts +0 -219
  1208. package/tests/memory/knowledge-bank-extraction.test.ts +0 -558
  1209. package/tests/memory/knowledge-bank.test.ts +0 -705
  1210. package/tests/memory/knowledge-defrag.test.ts +0 -366
  1211. package/tests/memory/knowledge-evolution.test.ts +0 -563
  1212. package/tests/memory/knowledge-graph.test.ts +0 -492
  1213. package/tests/memory/knowledge-inbox.test.ts +0 -258
  1214. package/tests/memory/knowledge-minimem.test.ts +0 -251
  1215. package/tests/memory/meta.test.ts +0 -399
  1216. package/tests/memory/playbook-quality-validation.test.ts +0 -430
  1217. package/tests/memory/playbook.test.ts +0 -644
  1218. package/tests/memory/provenance.test.ts +0 -648
  1219. package/tests/memory/reasoning-bank.test.ts +0 -239
  1220. package/tests/memory/reflexion.test.ts +0 -166
  1221. package/tests/memory/skill-exporter.test.ts +0 -475
  1222. package/tests/memory/source-resolver.test.ts +0 -700
  1223. package/tests/memory/system.test.ts +0 -330
  1224. package/tests/memory/team-experience.test.ts +0 -411
  1225. package/tests/memory/temporal-compressor.test.ts +0 -318
  1226. package/tests/persistence/migrator.test.ts +0 -1009
  1227. package/tests/persistence/sqlite-persistence.test.ts +0 -635
  1228. package/tests/runtime/agent-manager.test.ts +0 -517
  1229. package/tests/runtime/compute-provider.test.ts +0 -288
  1230. package/tests/runtime/delegate.test.ts +0 -354
  1231. package/tests/runtime/macro-agent-backend.test.ts +0 -266
  1232. package/tests/runtime/mock-backend.test.ts +0 -248
  1233. package/tests/search/evaluator.test.ts +0 -257
  1234. package/tests/search/moe-gate.test.ts +0 -250
  1235. package/tests/search/refinement-loop.test.ts +0 -477
  1236. package/tests/search/refinement.test.ts +0 -267
  1237. package/tests/search/router.test.ts +0 -506
  1238. package/tests/search/team-router.test.ts +0 -376
  1239. package/tests/search/verification-runner.test.ts +0 -357
  1240. package/tests/session-bank/fixtures/multi-tool-session/full.jsonl +0 -12
  1241. package/tests/session-bank/fixtures/multi-tool-session/metadata.json +0 -28
  1242. package/tests/session-bank/fixtures/root-metadata.json +0 -18
  1243. package/tests/session-bank/fixtures/sessionlog-root-metadata.json +0 -16
  1244. package/tests/session-bank/fixtures/sessionlog-session/full.jsonl +0 -6
  1245. package/tests/session-bank/fixtures/sessionlog-session/metadata.json +0 -55
  1246. package/tests/session-bank/fixtures/simple-session/full.jsonl +0 -6
  1247. package/tests/session-bank/fixtures/simple-session/metadata.json +0 -38
  1248. package/tests/session-bank/git-reader.test.ts +0 -232
  1249. package/tests/session-bank/parser.test.ts +0 -453
  1250. package/tests/session-bank/session-bank.test.ts +0 -546
  1251. package/tests/surfacing/skill-library.test.ts +0 -297
  1252. package/tests/surfacing/skill-publisher.test.ts +0 -437
  1253. package/tests/surfacing/sqlite-storage-adapter.test.ts +0 -206
  1254. package/tests/surfacing/team-skill-library.test.ts +0 -444
  1255. package/tests/types/outcome.test.ts +0 -147
  1256. package/tests/types/step.test.ts +0 -133
  1257. package/tests/types/task.test.ts +0 -158
  1258. package/tests/types/team-meta.test.ts +0 -147
  1259. package/tests/types/team-playbook.test.ts +0 -246
  1260. package/tests/types/team-trajectory.test.ts +0 -557
  1261. package/tests/types/trajectory.test.ts +0 -253
  1262. package/tests/utils/error-classifier.test.ts +0 -149
  1263. package/tests/utils/frontmatter.test.ts +0 -208
  1264. package/tests/utils/partitioned-store.test.ts +0 -230
  1265. package/tests/utils/similarity.test.ts +0 -188
  1266. package/tests/utils/trajectory-helpers.test.ts +0 -163
  1267. package/tests/utils/validation.test.ts +0 -252
  1268. package/tests/workspace/efficacy-toolkit.test.ts +0 -404
  1269. package/tests/workspace/full-flow.test.ts +0 -845
  1270. package/tests/workspace/manager.test.ts +0 -215
  1271. package/tests/workspace/runner.test.ts +0 -336
  1272. package/tests/workspace/skill-converter.test.ts +0 -205
  1273. package/tests/workspace/templates/knowledge-extraction.test.ts +0 -235
  1274. package/tests/workspace/templates/playbook-efficacy.test.ts +0 -377
  1275. package/tests/workspace/templates/team-playbook-extraction.test.ts +0 -341
  1276. package/tests/workspace/templates/team-trajectory-analysis.test.ts +0 -417
  1277. package/tsconfig.json +0 -25
  1278. 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