pulseed 0.5.4 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. package/README.md +13 -9
  2. package/dist/adapters/datasources/artifact-metric-datasource.d.ts +18 -0
  3. package/dist/adapters/datasources/artifact-metric-datasource.d.ts.map +1 -0
  4. package/dist/adapters/datasources/artifact-metric-datasource.js +592 -0
  5. package/dist/adapters/datasources/artifact-metric-datasource.js.map +1 -0
  6. package/dist/adapters/types/mcp.d.ts +6 -6
  7. package/dist/base/types/goal-activation.d.ts +14 -2
  8. package/dist/base/types/goal-activation.d.ts.map +1 -1
  9. package/dist/base/types/goal-activation.js +4 -0
  10. package/dist/base/types/goal-activation.js.map +1 -1
  11. package/dist/index.d.ts +6 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +4 -0
  14. package/dist/index.js.map +1 -1
  15. package/dist/interface/chat/chat-runner-commands.d.ts +6 -0
  16. package/dist/interface/chat/chat-runner-commands.d.ts.map +1 -1
  17. package/dist/interface/chat/chat-runner-commands.js +94 -2
  18. package/dist/interface/chat/chat-runner-commands.js.map +1 -1
  19. package/dist/interface/chat/chat-runner-event-bridge.d.ts +8 -1
  20. package/dist/interface/chat/chat-runner-event-bridge.d.ts.map +1 -1
  21. package/dist/interface/chat/chat-runner-event-bridge.js +69 -3
  22. package/dist/interface/chat/chat-runner-event-bridge.js.map +1 -1
  23. package/dist/interface/chat/chat-runner-routes.d.ts.map +1 -1
  24. package/dist/interface/chat/chat-runner-routes.js +23 -7
  25. package/dist/interface/chat/chat-runner-routes.js.map +1 -1
  26. package/dist/interface/chat/chat-runner-support.d.ts +25 -1
  27. package/dist/interface/chat/chat-runner-support.d.ts.map +1 -1
  28. package/dist/interface/chat/chat-runner-support.js +66 -12
  29. package/dist/interface/chat/chat-runner-support.js.map +1 -1
  30. package/dist/interface/chat/chat-runner.d.ts.map +1 -1
  31. package/dist/interface/chat/chat-runner.js +38 -8
  32. package/dist/interface/chat/chat-runner.js.map +1 -1
  33. package/dist/interface/chat/cross-platform-session.d.ts.map +1 -1
  34. package/dist/interface/chat/cross-platform-session.js +13 -1
  35. package/dist/interface/chat/cross-platform-session.js.map +1 -1
  36. package/dist/interface/chat/event-subscriber.d.ts.map +1 -1
  37. package/dist/interface/chat/event-subscriber.js +20 -0
  38. package/dist/interface/chat/event-subscriber.js.map +1 -1
  39. package/dist/interface/chat/failure-recovery.d.ts +43 -1
  40. package/dist/interface/chat/failure-recovery.d.ts.map +1 -1
  41. package/dist/interface/chat/failure-recovery.js +259 -89
  42. package/dist/interface/chat/failure-recovery.js.map +1 -1
  43. package/dist/interface/chat/ingress-router.d.ts +2 -1
  44. package/dist/interface/chat/ingress-router.d.ts.map +1 -1
  45. package/dist/interface/chat/ingress-router.js +2 -3
  46. package/dist/interface/chat/ingress-router.js.map +1 -1
  47. package/dist/interface/chat/tend-command.js +1 -0
  48. package/dist/interface/chat/tend-command.js.map +1 -1
  49. package/dist/interface/cli/cli-command-registry.d.ts.map +1 -1
  50. package/dist/interface/cli/cli-command-registry.js +19 -3
  51. package/dist/interface/cli/cli-command-registry.js.map +1 -1
  52. package/dist/interface/cli/commands/daemon-shared.d.ts +2 -1
  53. package/dist/interface/cli/commands/daemon-shared.d.ts.map +1 -1
  54. package/dist/interface/cli/commands/daemon-shared.js +33 -1
  55. package/dist/interface/cli/commands/daemon-shared.js.map +1 -1
  56. package/dist/interface/cli/commands/daemon.d.ts.map +1 -1
  57. package/dist/interface/cli/commands/daemon.js +59 -8
  58. package/dist/interface/cli/commands/daemon.js.map +1 -1
  59. package/dist/interface/cli/commands/goal-read.d.ts.map +1 -1
  60. package/dist/interface/cli/commands/goal-read.js +10 -3
  61. package/dist/interface/cli/commands/goal-read.js.map +1 -1
  62. package/dist/interface/cli/commands/notify.d.ts.map +1 -1
  63. package/dist/interface/cli/commands/notify.js +7 -1
  64. package/dist/interface/cli/commands/notify.js.map +1 -1
  65. package/dist/interface/cli/commands/run.d.ts.map +1 -1
  66. package/dist/interface/cli/commands/run.js +29 -0
  67. package/dist/interface/cli/commands/run.js.map +1 -1
  68. package/dist/interface/cli/commands/runtime.d.ts +1 -1
  69. package/dist/interface/cli/commands/runtime.d.ts.map +1 -1
  70. package/dist/interface/cli/commands/runtime.js +407 -2
  71. package/dist/interface/cli/commands/runtime.js.map +1 -1
  72. package/dist/interface/cli/data-source-bootstrap.d.ts.map +1 -1
  73. package/dist/interface/cli/data-source-bootstrap.js +25 -12
  74. package/dist/interface/cli/data-source-bootstrap.js.map +1 -1
  75. package/dist/interface/cli/setup.d.ts.map +1 -1
  76. package/dist/interface/cli/setup.js +14 -0
  77. package/dist/interface/cli/setup.js.map +1 -1
  78. package/dist/interface/cli/utils/loop-runner.d.ts.map +1 -1
  79. package/dist/interface/cli/utils/loop-runner.js +2 -1
  80. package/dist/interface/cli/utils/loop-runner.js.map +1 -1
  81. package/dist/interface/cli/utils.d.ts.map +1 -1
  82. package/dist/interface/cli/utils.js +8 -1
  83. package/dist/interface/cli/utils.js.map +1 -1
  84. package/dist/interface/tui/app.d.ts +4 -1
  85. package/dist/interface/tui/app.d.ts.map +1 -1
  86. package/dist/interface/tui/app.js +268 -10
  87. package/dist/interface/tui/app.js.map +1 -1
  88. package/dist/interface/tui/chat-surface.d.ts +2 -0
  89. package/dist/interface/tui/chat-surface.d.ts.map +1 -1
  90. package/dist/interface/tui/chat-surface.js +3 -0
  91. package/dist/interface/tui/chat-surface.js.map +1 -1
  92. package/dist/interface/tui/dashboard.d.ts +37 -1
  93. package/dist/interface/tui/dashboard.d.ts.map +1 -1
  94. package/dist/interface/tui/dashboard.js +264 -1
  95. package/dist/interface/tui/dashboard.js.map +1 -1
  96. package/dist/interface/tui/entry-deps.d.ts +3 -1
  97. package/dist/interface/tui/entry-deps.d.ts.map +1 -1
  98. package/dist/interface/tui/entry-deps.js +19 -1
  99. package/dist/interface/tui/entry-deps.js.map +1 -1
  100. package/dist/interface/tui/entry.d.ts.map +1 -1
  101. package/dist/interface/tui/entry.js +4 -2
  102. package/dist/interface/tui/entry.js.map +1 -1
  103. package/dist/interface/tui/intent-recognizer.d.ts +8 -3
  104. package/dist/interface/tui/intent-recognizer.d.ts.map +1 -1
  105. package/dist/interface/tui/intent-recognizer.js +74 -68
  106. package/dist/interface/tui/intent-recognizer.js.map +1 -1
  107. package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.d.ts.map +1 -1
  108. package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.js +41 -0
  109. package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.js.map +1 -1
  110. package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts +1 -1
  111. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.d.ts +1 -1
  112. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.d.ts.map +1 -1
  113. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.js +3 -2
  114. package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.js.map +1 -1
  115. package/dist/orchestrator/execution/agent-loop/core-phase-runner.d.ts +1 -1
  116. package/dist/orchestrator/execution/agent-loop/core-phase-runner.d.ts.map +1 -1
  117. package/dist/orchestrator/execution/agent-loop/core-phase-runner.js +10 -1
  118. package/dist/orchestrator/execution/agent-loop/core-phase-runner.js.map +1 -1
  119. package/dist/orchestrator/execution/agent-loop/kaggle-training-benchmark.d.ts +2 -0
  120. package/dist/orchestrator/execution/agent-loop/kaggle-training-benchmark.d.ts.map +1 -1
  121. package/dist/orchestrator/execution/agent-loop/kaggle-training-benchmark.js +4 -0
  122. package/dist/orchestrator/execution/agent-loop/kaggle-training-benchmark.js.map +1 -1
  123. package/dist/orchestrator/execution/agent-loop/task-agent-loop-result.d.ts +8 -8
  124. package/dist/orchestrator/execution/task/task-generation.d.ts +3 -1
  125. package/dist/orchestrator/execution/task/task-generation.d.ts.map +1 -1
  126. package/dist/orchestrator/execution/task/task-generation.js +17 -2
  127. package/dist/orchestrator/execution/task/task-generation.js.map +1 -1
  128. package/dist/orchestrator/execution/task/task-lifecycle-runner.d.ts +5 -1
  129. package/dist/orchestrator/execution/task/task-lifecycle-runner.d.ts.map +1 -1
  130. package/dist/orchestrator/execution/task/task-lifecycle-runner.js +9 -5
  131. package/dist/orchestrator/execution/task/task-lifecycle-runner.js.map +1 -1
  132. package/dist/orchestrator/execution/task/task-lifecycle.d.ts +10 -1
  133. package/dist/orchestrator/execution/task/task-lifecycle.d.ts.map +1 -1
  134. package/dist/orchestrator/execution/task/task-lifecycle.js +108 -7
  135. package/dist/orchestrator/execution/task/task-lifecycle.js.map +1 -1
  136. package/dist/orchestrator/execution/task/task-prompt-builder.d.ts +2 -1
  137. package/dist/orchestrator/execution/task/task-prompt-builder.d.ts.map +1 -1
  138. package/dist/orchestrator/execution/task/task-prompt-builder.js +4 -2
  139. package/dist/orchestrator/execution/task/task-prompt-builder.js.map +1 -1
  140. package/dist/orchestrator/execution/types/pipeline.d.ts +6 -6
  141. package/dist/orchestrator/goal/types/goal.d.ts +282 -0
  142. package/dist/orchestrator/goal/types/goal.d.ts.map +1 -1
  143. package/dist/orchestrator/goal/types/goal.js +20 -0
  144. package/dist/orchestrator/goal/types/goal.js.map +1 -1
  145. package/dist/orchestrator/loop/core-loop/contracts.d.ts +46 -3
  146. package/dist/orchestrator/loop/core-loop/contracts.d.ts.map +1 -1
  147. package/dist/orchestrator/loop/core-loop/contracts.js.map +1 -1
  148. package/dist/orchestrator/loop/core-loop/decision-engine.d.ts.map +1 -1
  149. package/dist/orchestrator/loop/core-loop/decision-engine.js +4 -0
  150. package/dist/orchestrator/loop/core-loop/decision-engine.js.map +1 -1
  151. package/dist/orchestrator/loop/core-loop/dream-review-checkpoint.d.ts +48 -0
  152. package/dist/orchestrator/loop/core-loop/dream-review-checkpoint.d.ts.map +1 -0
  153. package/dist/orchestrator/loop/core-loop/dream-review-checkpoint.js +377 -0
  154. package/dist/orchestrator/loop/core-loop/dream-review-checkpoint.js.map +1 -0
  155. package/dist/orchestrator/loop/core-loop/evidence-ledger.js +1 -1
  156. package/dist/orchestrator/loop/core-loop/evidence-ledger.js.map +1 -1
  157. package/dist/orchestrator/loop/core-loop/iteration-kernel.d.ts +1 -0
  158. package/dist/orchestrator/loop/core-loop/iteration-kernel.d.ts.map +1 -1
  159. package/dist/orchestrator/loop/core-loop/iteration-kernel.js +492 -1
  160. package/dist/orchestrator/loop/core-loop/iteration-kernel.js.map +1 -1
  161. package/dist/orchestrator/loop/core-loop/phase-policy.d.ts.map +1 -1
  162. package/dist/orchestrator/loop/core-loop/phase-policy.js +35 -0
  163. package/dist/orchestrator/loop/core-loop/phase-policy.js.map +1 -1
  164. package/dist/orchestrator/loop/core-loop/phase-runtime.d.ts +2 -0
  165. package/dist/orchestrator/loop/core-loop/phase-runtime.d.ts.map +1 -1
  166. package/dist/orchestrator/loop/core-loop/phase-runtime.js +43 -2
  167. package/dist/orchestrator/loop/core-loop/phase-runtime.js.map +1 -1
  168. package/dist/orchestrator/loop/core-loop/phase-specs.d.ts +969 -2
  169. package/dist/orchestrator/loop/core-loop/phase-specs.d.ts.map +1 -1
  170. package/dist/orchestrator/loop/core-loop/phase-specs.js +198 -0
  171. package/dist/orchestrator/loop/core-loop/phase-specs.js.map +1 -1
  172. package/dist/orchestrator/loop/core-loop/public-research.d.ts +32 -0
  173. package/dist/orchestrator/loop/core-loop/public-research.d.ts.map +1 -0
  174. package/dist/orchestrator/loop/core-loop/public-research.js +112 -0
  175. package/dist/orchestrator/loop/core-loop/public-research.js.map +1 -0
  176. package/dist/orchestrator/loop/core-loop/task-cycle-stall.d.ts.map +1 -1
  177. package/dist/orchestrator/loop/core-loop/task-cycle-stall.js +141 -5
  178. package/dist/orchestrator/loop/core-loop/task-cycle-stall.js.map +1 -1
  179. package/dist/orchestrator/loop/core-loop/task-cycle.d.ts +4 -0
  180. package/dist/orchestrator/loop/core-loop/task-cycle.d.ts.map +1 -1
  181. package/dist/orchestrator/loop/core-loop/task-cycle.js +7 -0
  182. package/dist/orchestrator/loop/core-loop/task-cycle.js.map +1 -1
  183. package/dist/orchestrator/loop/core-loop.d.ts +15 -5
  184. package/dist/orchestrator/loop/core-loop.d.ts.map +1 -1
  185. package/dist/orchestrator/loop/core-loop.js +283 -17
  186. package/dist/orchestrator/loop/core-loop.js.map +1 -1
  187. package/dist/orchestrator/loop/loop-report-helper.d.ts.map +1 -1
  188. package/dist/orchestrator/loop/loop-report-helper.js +4 -0
  189. package/dist/orchestrator/loop/loop-report-helper.js.map +1 -1
  190. package/dist/orchestrator/loop/loop-result-types.d.ts +20 -1
  191. package/dist/orchestrator/loop/loop-result-types.d.ts.map +1 -1
  192. package/dist/orchestrator/loop/loop-result-types.js.map +1 -1
  193. package/dist/orchestrator/loop/post-loop-hooks.d.ts +1 -0
  194. package/dist/orchestrator/loop/post-loop-hooks.d.ts.map +1 -1
  195. package/dist/orchestrator/loop/post-loop-hooks.js +34 -1
  196. package/dist/orchestrator/loop/post-loop-hooks.js.map +1 -1
  197. package/dist/orchestrator/loop/run-policy.d.ts +10 -0
  198. package/dist/orchestrator/loop/run-policy.d.ts.map +1 -0
  199. package/dist/orchestrator/loop/run-policy.js +30 -0
  200. package/dist/orchestrator/loop/run-policy.js.map +1 -0
  201. package/dist/orchestrator/strategy/divergent-exploration.d.ts +37 -0
  202. package/dist/orchestrator/strategy/divergent-exploration.d.ts.map +1 -0
  203. package/dist/orchestrator/strategy/divergent-exploration.js +324 -0
  204. package/dist/orchestrator/strategy/divergent-exploration.js.map +1 -0
  205. package/dist/orchestrator/strategy/strategy-helpers.d.ts +108 -0
  206. package/dist/orchestrator/strategy/strategy-helpers.d.ts.map +1 -1
  207. package/dist/orchestrator/strategy/strategy-helpers.js +34 -2
  208. package/dist/orchestrator/strategy/strategy-helpers.js.map +1 -1
  209. package/dist/orchestrator/strategy/strategy-manager-base.d.ts +20 -1
  210. package/dist/orchestrator/strategy/strategy-manager-base.d.ts.map +1 -1
  211. package/dist/orchestrator/strategy/strategy-manager-base.js +71 -6
  212. package/dist/orchestrator/strategy/strategy-manager-base.js.map +1 -1
  213. package/dist/orchestrator/strategy/types/cross-portfolio.d.ts +2 -2
  214. package/dist/orchestrator/strategy/types/strategy.d.ts +364 -0
  215. package/dist/orchestrator/strategy/types/strategy.d.ts.map +1 -1
  216. package/dist/orchestrator/strategy/types/strategy.js +43 -0
  217. package/dist/orchestrator/strategy/types/strategy.js.map +1 -1
  218. package/dist/platform/dream/dream-activation.d.ts +1 -1
  219. package/dist/platform/dream/dream-event-workflows.d.ts +6 -6
  220. package/dist/platform/dream/dream-types.d.ts +91 -91
  221. package/dist/platform/drive/metric-history.d.ts +61 -0
  222. package/dist/platform/drive/metric-history.d.ts.map +1 -0
  223. package/dist/platform/drive/metric-history.js +206 -0
  224. package/dist/platform/drive/metric-history.js.map +1 -0
  225. package/dist/platform/drive/progress-predictor.d.ts +7 -0
  226. package/dist/platform/drive/progress-predictor.d.ts.map +1 -1
  227. package/dist/platform/drive/progress-predictor.js +23 -0
  228. package/dist/platform/drive/progress-predictor.js.map +1 -1
  229. package/dist/platform/drive/stall-detector.d.ts +3 -1
  230. package/dist/platform/drive/stall-detector.d.ts.map +1 -1
  231. package/dist/platform/drive/stall-detector.js +40 -1
  232. package/dist/platform/drive/stall-detector.js.map +1 -1
  233. package/dist/platform/drive/types/satisficing.d.ts +2 -2
  234. package/dist/platform/drive/types/stall.d.ts +4 -0
  235. package/dist/platform/drive/types/stall.d.ts.map +1 -1
  236. package/dist/platform/drive/types/stall.js +1 -0
  237. package/dist/platform/drive/types/stall.js.map +1 -1
  238. package/dist/platform/knowledge/types/learning.d.ts +2 -2
  239. package/dist/platform/observation/data-source-adapter.d.ts +1 -0
  240. package/dist/platform/observation/data-source-adapter.d.ts.map +1 -1
  241. package/dist/platform/observation/data-source-adapter.js.map +1 -1
  242. package/dist/platform/observation/observation-datasource.d.ts.map +1 -1
  243. package/dist/platform/observation/observation-datasource.js +2 -0
  244. package/dist/platform/observation/observation-datasource.js.map +1 -1
  245. package/dist/platform/observation/types/data-source.d.ts +153 -9
  246. package/dist/platform/observation/types/data-source.d.ts.map +1 -1
  247. package/dist/platform/observation/types/data-source.js +13 -1
  248. package/dist/platform/observation/types/data-source.js.map +1 -1
  249. package/dist/platform/soil/contracts.d.ts +65 -65
  250. package/dist/platform/soil/importer.d.ts +6 -6
  251. package/dist/platform/soil/types.d.ts +8 -8
  252. package/dist/platform/time/deadline-finalization.d.ts +57 -0
  253. package/dist/platform/time/deadline-finalization.d.ts.map +1 -0
  254. package/dist/platform/time/deadline-finalization.js +136 -0
  255. package/dist/platform/time/deadline-finalization.js.map +1 -0
  256. package/dist/platform/time/execution-mode.d.ts +29 -0
  257. package/dist/platform/time/execution-mode.d.ts.map +1 -0
  258. package/dist/platform/time/execution-mode.js +84 -0
  259. package/dist/platform/time/execution-mode.js.map +1 -0
  260. package/dist/platform/traits/types/curiosity.d.ts +9 -9
  261. package/dist/platform/traits/types/guardrail.d.ts +6 -6
  262. package/dist/reporting/report-formatters.d.ts.map +1 -1
  263. package/dist/reporting/report-formatters.js +67 -2
  264. package/dist/reporting/report-formatters.js.map +1 -1
  265. package/dist/reporting/reporting-engine.d.ts.map +1 -1
  266. package/dist/reporting/reporting-engine.js +3 -1
  267. package/dist/reporting/reporting-engine.js.map +1 -1
  268. package/dist/reporting/reporting-types.d.ts +4 -0
  269. package/dist/reporting/reporting-types.d.ts.map +1 -1
  270. package/dist/reporting/types/report.d.ts +59 -0
  271. package/dist/reporting/types/report.d.ts.map +1 -1
  272. package/dist/reporting/types/report.js +9 -0
  273. package/dist/reporting/types/report.js.map +1 -1
  274. package/dist/runtime/command-dispatcher.d.ts +2 -0
  275. package/dist/runtime/command-dispatcher.d.ts.map +1 -1
  276. package/dist/runtime/command-dispatcher.js +16 -0
  277. package/dist/runtime/command-dispatcher.js.map +1 -1
  278. package/dist/runtime/confirmation-decision.d.ts +94 -0
  279. package/dist/runtime/confirmation-decision.d.ts.map +1 -0
  280. package/dist/runtime/confirmation-decision.js +109 -0
  281. package/dist/runtime/confirmation-decision.js.map +1 -0
  282. package/dist/runtime/control/daemon-runtime-control-executor.d.ts.map +1 -1
  283. package/dist/runtime/control/daemon-runtime-control-executor.js +31 -1
  284. package/dist/runtime/control/daemon-runtime-control-executor.js.map +1 -1
  285. package/dist/runtime/control/runtime-control-intent.d.ts +9 -1
  286. package/dist/runtime/control/runtime-control-intent.d.ts.map +1 -1
  287. package/dist/runtime/control/runtime-control-intent.js +82 -16
  288. package/dist/runtime/control/runtime-control-intent.js.map +1 -1
  289. package/dist/runtime/control/runtime-control-service.d.ts +35 -1
  290. package/dist/runtime/control/runtime-control-service.d.ts.map +1 -1
  291. package/dist/runtime/control/runtime-control-service.js +285 -5
  292. package/dist/runtime/control/runtime-control-service.js.map +1 -1
  293. package/dist/runtime/daemon/client.d.ts +12 -0
  294. package/dist/runtime/daemon/client.d.ts.map +1 -1
  295. package/dist/runtime/daemon/client.js +9 -0
  296. package/dist/runtime/daemon/client.js.map +1 -1
  297. package/dist/runtime/daemon/runner-commands.d.ts +6 -2
  298. package/dist/runtime/daemon/runner-commands.d.ts.map +1 -1
  299. package/dist/runtime/daemon/runner-commands.js +237 -1
  300. package/dist/runtime/daemon/runner-commands.js.map +1 -1
  301. package/dist/runtime/daemon/runner-goal-cycle.d.ts.map +1 -1
  302. package/dist/runtime/daemon/runner-goal-cycle.js +59 -1
  303. package/dist/runtime/daemon/runner-goal-cycle.js.map +1 -1
  304. package/dist/runtime/daemon/runner-startup.d.ts.map +1 -1
  305. package/dist/runtime/daemon/runner-startup.js +12 -2
  306. package/dist/runtime/daemon/runner-startup.js.map +1 -1
  307. package/dist/runtime/daemon/runner.d.ts +4 -0
  308. package/dist/runtime/daemon/runner.d.ts.map +1 -1
  309. package/dist/runtime/daemon/runner.js +14 -1
  310. package/dist/runtime/daemon/runner.js.map +1 -1
  311. package/dist/runtime/daemon/runtime-ownership.d.ts +9 -0
  312. package/dist/runtime/daemon/runtime-ownership.d.ts.map +1 -1
  313. package/dist/runtime/daemon/runtime-ownership.js +248 -1
  314. package/dist/runtime/daemon/runtime-ownership.js.map +1 -1
  315. package/dist/runtime/dream-sidecar-review.d.ts +92 -0
  316. package/dist/runtime/dream-sidecar-review.d.ts.map +1 -0
  317. package/dist/runtime/dream-sidecar-review.js +495 -0
  318. package/dist/runtime/dream-sidecar-review.js.map +1 -0
  319. package/dist/runtime/event/server-command-handler.d.ts +2 -4
  320. package/dist/runtime/event/server-command-handler.d.ts.map +1 -1
  321. package/dist/runtime/event/server-command-handler.js +36 -6
  322. package/dist/runtime/event/server-command-handler.js.map +1 -1
  323. package/dist/runtime/event/server-snapshot-reader.d.ts +15 -1
  324. package/dist/runtime/event/server-snapshot-reader.d.ts.map +1 -1
  325. package/dist/runtime/event/server-snapshot-reader.js +66 -2
  326. package/dist/runtime/event/server-snapshot-reader.js.map +1 -1
  327. package/dist/runtime/event/server-types.d.ts +7 -0
  328. package/dist/runtime/event/server-types.d.ts.map +1 -1
  329. package/dist/runtime/event/server.d.ts +5 -0
  330. package/dist/runtime/event/server.d.ts.map +1 -1
  331. package/dist/runtime/event/server.js +43 -11
  332. package/dist/runtime/event/server.js.map +1 -1
  333. package/dist/runtime/evidence-answer.d.ts +41 -0
  334. package/dist/runtime/evidence-answer.d.ts.map +1 -0
  335. package/dist/runtime/evidence-answer.js +366 -0
  336. package/dist/runtime/evidence-answer.js.map +1 -0
  337. package/dist/runtime/executor/goal-worker.d.ts +4 -1
  338. package/dist/runtime/executor/goal-worker.d.ts.map +1 -1
  339. package/dist/runtime/executor/goal-worker.js +5 -1
  340. package/dist/runtime/executor/goal-worker.js.map +1 -1
  341. package/dist/runtime/executor/loop-supervisor.d.ts +4 -0
  342. package/dist/runtime/executor/loop-supervisor.d.ts.map +1 -1
  343. package/dist/runtime/executor/loop-supervisor.js +35 -6
  344. package/dist/runtime/executor/loop-supervisor.js.map +1 -1
  345. package/dist/runtime/guardrails/backpressure-controller.d.ts +32 -0
  346. package/dist/runtime/guardrails/backpressure-controller.d.ts.map +1 -0
  347. package/dist/runtime/guardrails/backpressure-controller.js +88 -0
  348. package/dist/runtime/guardrails/backpressure-controller.js.map +1 -0
  349. package/dist/runtime/guardrails/circuit-breaker.d.ts +32 -0
  350. package/dist/runtime/guardrails/circuit-breaker.d.ts.map +1 -0
  351. package/dist/runtime/guardrails/circuit-breaker.js +88 -0
  352. package/dist/runtime/guardrails/circuit-breaker.js.map +1 -0
  353. package/dist/runtime/guardrails/guardrail-store.d.ts +23 -0
  354. package/dist/runtime/guardrails/guardrail-store.d.ts.map +1 -0
  355. package/dist/runtime/guardrails/guardrail-store.js +95 -0
  356. package/dist/runtime/guardrails/guardrail-store.js.map +1 -0
  357. package/dist/runtime/guardrails/index.d.ts +4 -0
  358. package/dist/runtime/guardrails/index.d.ts.map +1 -0
  359. package/dist/runtime/guardrails/index.js +4 -0
  360. package/dist/runtime/guardrails/index.js.map +1 -0
  361. package/dist/runtime/interactive-automation/browser-session-store.d.ts +43 -0
  362. package/dist/runtime/interactive-automation/browser-session-store.d.ts.map +1 -0
  363. package/dist/runtime/interactive-automation/browser-session-store.js +104 -0
  364. package/dist/runtime/interactive-automation/browser-session-store.js.map +1 -0
  365. package/dist/runtime/interactive-automation/failure-classifier.d.ts +12 -0
  366. package/dist/runtime/interactive-automation/failure-classifier.d.ts.map +1 -0
  367. package/dist/runtime/interactive-automation/failure-classifier.js +50 -0
  368. package/dist/runtime/interactive-automation/failure-classifier.js.map +1 -0
  369. package/dist/runtime/interactive-automation/index.d.ts +2 -0
  370. package/dist/runtime/interactive-automation/index.d.ts.map +1 -1
  371. package/dist/runtime/interactive-automation/index.js +2 -0
  372. package/dist/runtime/interactive-automation/index.js.map +1 -1
  373. package/dist/runtime/interactive-automation/providers/manus-browser.d.ts.map +1 -1
  374. package/dist/runtime/interactive-automation/providers/manus-browser.js +17 -1
  375. package/dist/runtime/interactive-automation/providers/manus-browser.js.map +1 -1
  376. package/dist/runtime/interactive-automation/types.d.ts +4 -0
  377. package/dist/runtime/interactive-automation/types.d.ts.map +1 -1
  378. package/dist/runtime/interactive-automation/types.js.map +1 -1
  379. package/dist/runtime/notification-routing.d.ts +45 -2
  380. package/dist/runtime/notification-routing.d.ts.map +1 -1
  381. package/dist/runtime/notification-routing.js +196 -79
  382. package/dist/runtime/notification-routing.js.map +1 -1
  383. package/dist/runtime/run-spec/confirmation.d.ts +34 -0
  384. package/dist/runtime/run-spec/confirmation.d.ts.map +1 -0
  385. package/dist/runtime/run-spec/confirmation.js +176 -0
  386. package/dist/runtime/run-spec/confirmation.js.map +1 -0
  387. package/dist/runtime/run-spec/derive.d.ts +284 -0
  388. package/dist/runtime/run-spec/derive.d.ts.map +1 -0
  389. package/dist/runtime/run-spec/derive.js +379 -0
  390. package/dist/runtime/run-spec/derive.js.map +1 -0
  391. package/dist/runtime/run-spec/index.d.ts +5 -0
  392. package/dist/runtime/run-spec/index.d.ts.map +1 -0
  393. package/dist/runtime/run-spec/index.js +5 -0
  394. package/dist/runtime/run-spec/index.js.map +1 -0
  395. package/dist/runtime/run-spec/store.d.ts +11 -0
  396. package/dist/runtime/run-spec/store.d.ts.map +1 -0
  397. package/dist/runtime/run-spec/store.js +36 -0
  398. package/dist/runtime/run-spec/store.js.map +1 -0
  399. package/dist/runtime/run-spec/types.d.ts +495 -0
  400. package/dist/runtime/run-spec/types.d.ts.map +1 -0
  401. package/dist/runtime/run-spec/types.js +87 -0
  402. package/dist/runtime/run-spec/types.js.map +1 -0
  403. package/dist/runtime/schedule/engine-execution.d.ts +2 -1
  404. package/dist/runtime/schedule/engine-execution.d.ts.map +1 -1
  405. package/dist/runtime/schedule/engine-execution.js +1 -1
  406. package/dist/runtime/schedule/engine-execution.js.map +1 -1
  407. package/dist/runtime/schedule/engine-layers.d.ts +2 -1
  408. package/dist/runtime/schedule/engine-layers.d.ts.map +1 -1
  409. package/dist/runtime/schedule/engine-layers.js +3 -1
  410. package/dist/runtime/schedule/engine-layers.js.map +1 -1
  411. package/dist/runtime/schedule/engine.d.ts +2 -1
  412. package/dist/runtime/schedule/engine.d.ts.map +1 -1
  413. package/dist/runtime/schedule/engine.js.map +1 -1
  414. package/dist/runtime/schedule/history.d.ts +4 -4
  415. package/dist/runtime/session-registry/registry.d.ts.map +1 -1
  416. package/dist/runtime/session-registry/registry.js +2 -0
  417. package/dist/runtime/session-registry/registry.js.map +1 -1
  418. package/dist/runtime/session-registry/types.d.ts +102 -94
  419. package/dist/runtime/session-registry/types.d.ts.map +1 -1
  420. package/dist/runtime/session-registry/types.js +2 -0
  421. package/dist/runtime/session-registry/types.js.map +1 -1
  422. package/dist/runtime/store/artifact-retention.d.ts +44 -0
  423. package/dist/runtime/store/artifact-retention.d.ts.map +1 -0
  424. package/dist/runtime/store/artifact-retention.js +263 -0
  425. package/dist/runtime/store/artifact-retention.js.map +1 -0
  426. package/dist/runtime/store/background-run-store.d.ts +1 -0
  427. package/dist/runtime/store/background-run-store.d.ts.map +1 -1
  428. package/dist/runtime/store/background-run-store.js +1 -0
  429. package/dist/runtime/store/background-run-store.js.map +1 -1
  430. package/dist/runtime/store/budget-store.d.ts +442 -0
  431. package/dist/runtime/store/budget-store.d.ts.map +1 -0
  432. package/dist/runtime/store/budget-store.js +318 -0
  433. package/dist/runtime/store/budget-store.js.map +1 -0
  434. package/dist/runtime/store/dream-checkpoints.d.ts +9 -0
  435. package/dist/runtime/store/dream-checkpoints.d.ts.map +1 -0
  436. package/dist/runtime/store/dream-checkpoints.js +16 -0
  437. package/dist/runtime/store/dream-checkpoints.js.map +1 -0
  438. package/dist/runtime/store/evaluator-results.d.ts +97 -0
  439. package/dist/runtime/store/evaluator-results.d.ts.map +1 -0
  440. package/dist/runtime/store/evaluator-results.js +355 -0
  441. package/dist/runtime/store/evaluator-results.js.map +1 -0
  442. package/dist/runtime/store/evidence-ledger.d.ts +5298 -0
  443. package/dist/runtime/store/evidence-ledger.d.ts.map +1 -0
  444. package/dist/runtime/store/evidence-ledger.js +1452 -0
  445. package/dist/runtime/store/evidence-ledger.js.map +1 -0
  446. package/dist/runtime/store/experiment-queue-store.d.ts +1164 -0
  447. package/dist/runtime/store/experiment-queue-store.d.ts.map +1 -0
  448. package/dist/runtime/store/experiment-queue-store.js +341 -0
  449. package/dist/runtime/store/experiment-queue-store.js.map +1 -0
  450. package/dist/runtime/store/health-store.d.ts.map +1 -1
  451. package/dist/runtime/store/health-store.js +6 -0
  452. package/dist/runtime/store/health-store.js.map +1 -1
  453. package/dist/runtime/store/index.d.ts +25 -2
  454. package/dist/runtime/store/index.d.ts.map +1 -1
  455. package/dist/runtime/store/index.js +13 -1
  456. package/dist/runtime/store/index.js.map +1 -1
  457. package/dist/runtime/store/metric-history.d.ts +10 -0
  458. package/dist/runtime/store/metric-history.d.ts.map +1 -0
  459. package/dist/runtime/store/metric-history.js +56 -0
  460. package/dist/runtime/store/metric-history.js.map +1 -0
  461. package/dist/runtime/store/operator-handoff-store.d.ts +179 -0
  462. package/dist/runtime/store/operator-handoff-store.d.ts.map +1 -0
  463. package/dist/runtime/store/operator-handoff-store.js +120 -0
  464. package/dist/runtime/store/operator-handoff-store.js.map +1 -0
  465. package/dist/runtime/store/postmortem-report.d.ts +485 -0
  466. package/dist/runtime/store/postmortem-report.d.ts.map +1 -0
  467. package/dist/runtime/store/postmortem-report.js +561 -0
  468. package/dist/runtime/store/postmortem-report.js.map +1 -0
  469. package/dist/runtime/store/reproducibility-manifest.d.ts +565 -0
  470. package/dist/runtime/store/reproducibility-manifest.d.ts.map +1 -0
  471. package/dist/runtime/store/reproducibility-manifest.js +392 -0
  472. package/dist/runtime/store/reproducibility-manifest.js.map +1 -0
  473. package/dist/runtime/store/research-evidence.d.ts +8 -0
  474. package/dist/runtime/store/research-evidence.d.ts.map +1 -0
  475. package/dist/runtime/store/research-evidence.js +15 -0
  476. package/dist/runtime/store/research-evidence.js.map +1 -0
  477. package/dist/runtime/store/runtime-operation-schemas.d.ts +70 -24
  478. package/dist/runtime/store/runtime-operation-schemas.d.ts.map +1 -1
  479. package/dist/runtime/store/runtime-operation-schemas.js +16 -1
  480. package/dist/runtime/store/runtime-operation-schemas.js.map +1 -1
  481. package/dist/runtime/store/runtime-paths.d.ts +25 -0
  482. package/dist/runtime/store/runtime-paths.d.ts.map +1 -1
  483. package/dist/runtime/store/runtime-paths.js +73 -0
  484. package/dist/runtime/store/runtime-paths.js.map +1 -1
  485. package/dist/runtime/store/runtime-schemas.d.ts +1936 -17
  486. package/dist/runtime/store/runtime-schemas.d.ts.map +1 -1
  487. package/dist/runtime/store/runtime-schemas.js +201 -0
  488. package/dist/runtime/store/runtime-schemas.js.map +1 -1
  489. package/dist/runtime/store/safe-pause-store.d.ts +28 -0
  490. package/dist/runtime/store/safe-pause-store.d.ts.map +1 -0
  491. package/dist/runtime/store/safe-pause-store.js +103 -0
  492. package/dist/runtime/store/safe-pause-store.js.map +1 -0
  493. package/dist/runtime/types/daemon.d.ts +224 -14
  494. package/dist/runtime/types/daemon.d.ts.map +1 -1
  495. package/dist/runtime/types/daemon.js +27 -2
  496. package/dist/runtime/types/daemon.js.map +1 -1
  497. package/dist/runtime/types/envelope.d.ts +10 -10
  498. package/dist/runtime/types/hook.d.ts +9 -9
  499. package/dist/runtime/types/notification.d.ts +6 -6
  500. package/dist/runtime/types/plugin.d.ts +2 -2
  501. package/dist/runtime/types/schedule.d.ts +97 -54
  502. package/dist/runtime/types/schedule.d.ts.map +1 -1
  503. package/dist/runtime/types/schedule.js +10 -1
  504. package/dist/runtime/types/schedule.js.map +1 -1
  505. package/dist/runtime/types/trigger.d.ts +2 -2
  506. package/dist/tools/automation/InteractiveAutomationTools.d.ts +10 -0
  507. package/dist/tools/automation/InteractiveAutomationTools.d.ts.map +1 -1
  508. package/dist/tools/automation/InteractiveAutomationTools.js +139 -8
  509. package/dist/tools/automation/InteractiveAutomationTools.js.map +1 -1
  510. package/dist/tools/builtin/exports.d.ts +1 -1
  511. package/dist/tools/builtin/exports.d.ts.map +1 -1
  512. package/dist/tools/builtin/exports.js +1 -1
  513. package/dist/tools/builtin/exports.js.map +1 -1
  514. package/dist/tools/builtin/factory.d.ts +5 -0
  515. package/dist/tools/builtin/factory.d.ts.map +1 -1
  516. package/dist/tools/builtin/factory.js +18 -2
  517. package/dist/tools/builtin/factory.js.map +1 -1
  518. package/dist/tools/kaggle/KaggleExperimentTools.d.ts +792 -8
  519. package/dist/tools/kaggle/KaggleExperimentTools.d.ts.map +1 -1
  520. package/dist/tools/kaggle/KaggleExperimentTools.js +284 -19
  521. package/dist/tools/kaggle/KaggleExperimentTools.js.map +1 -1
  522. package/dist/tools/kaggle/KaggleSubmissionTools.d.ts +18 -12
  523. package/dist/tools/kaggle/KaggleSubmissionTools.d.ts.map +1 -1
  524. package/dist/tools/kaggle/KaggleSubmissionTools.js +23 -4
  525. package/dist/tools/kaggle/KaggleSubmissionTools.js.map +1 -1
  526. package/dist/tools/kaggle/KaggleWorkspacePrepareTool.d.ts +28 -9
  527. package/dist/tools/kaggle/KaggleWorkspacePrepareTool.d.ts.map +1 -1
  528. package/dist/tools/kaggle/KaggleWorkspacePrepareTool.js +182 -4
  529. package/dist/tools/kaggle/KaggleWorkspacePrepareTool.js.map +1 -1
  530. package/dist/tools/kaggle/index.d.ts +1 -1
  531. package/dist/tools/kaggle/index.d.ts.map +1 -1
  532. package/dist/tools/kaggle/index.js +1 -1
  533. package/dist/tools/kaggle/index.js.map +1 -1
  534. package/dist/tools/kaggle/metrics.d.ts +845 -4
  535. package/dist/tools/kaggle/metrics.d.ts.map +1 -1
  536. package/dist/tools/kaggle/metrics.js +410 -1
  537. package/dist/tools/kaggle/metrics.js.map +1 -1
  538. package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.d.ts +6 -0
  539. package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.d.ts.map +1 -1
  540. package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.js +9 -2
  541. package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.js.map +1 -1
  542. package/dist/tools/mutation/TaskCreateTool/TaskCreateTool.d.ts +4 -4
  543. package/dist/tools/network/McpStdioTool/McpStdioTool.d.ts +4 -4
  544. package/dist/tools/query/MemoryRecallTool/MemoryRecallTool.d.ts +2 -2
  545. package/dist/tools/query/runtime-dream-review-tool.d.ts +34 -0
  546. package/dist/tools/query/runtime-dream-review-tool.d.ts.map +1 -0
  547. package/dist/tools/query/runtime-dream-review-tool.js +62 -0
  548. package/dist/tools/query/runtime-dream-review-tool.js.map +1 -0
  549. package/dist/tools/query/runtime-session-tools.d.ts.map +1 -1
  550. package/dist/tools/query/runtime-session-tools.js +2 -0
  551. package/dist/tools/query/runtime-session-tools.js.map +1 -1
  552. package/dist/tools/runtime/LongRunningRuntimeTools.d.ts +103 -103
  553. package/dist/tools/runtime/LongRunningRuntimeTools.d.ts.map +1 -1
  554. package/dist/tools/runtime/LongRunningRuntimeTools.js +60 -0
  555. package/dist/tools/runtime/LongRunningRuntimeTools.js.map +1 -1
  556. package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.d.ts +62 -32
  557. package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.d.ts.map +1 -1
  558. package/dist/tools/schedule/UpdateScheduleTool/UpdateScheduleTool.d.ts +78 -44
  559. package/dist/tools/schedule/UpdateScheduleTool/UpdateScheduleTool.d.ts.map +1 -1
  560. package/dist/tools/system/TestRunnerTool/TestRunnerTool.d.ts +4 -4
  561. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"KaggleExperimentTools.d.ts","sourceRoot":"","sources":["../../../src/tools/kaggle/KaggleExperimentTools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KaggleExperimentTools.d.ts","sourceRoot":"","sources":["../../../src/tools/kaggle/KaggleExperimentTools.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import fs from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { z } from "zod";
4
- import { KaggleMetricDirectionSchema, normalizedMetricScore, parseKaggleMetrics, } from "./metrics.js";
4
+ import { KAGGLE_VALIDATION_CHECKLIST, KaggleMetricDirectionSchema, KaggleLongRunValidationContractSchema, normalizedMetricScore, parseKaggleMetricsCompatible, summarizeKaggleValidation, } from "./metrics.js";
5
5
  import { ensureDirectoryWithinStateRoot, getKaggleExperimentDir, resolveKaggleWorkspaceInput, resolveWorkspaceRelativePath, stateRelativePath, validateKaggleExperimentId, workspaceRelativePath, } from "./paths.js";
6
6
  import { defaultProcessSessionManager, } from "../system/ProcessSessionTool/ProcessSessionTool.js";
7
7
  const DEFAULT_MAX_LOG_CHARS = 12_000;
@@ -16,6 +16,7 @@ export const KaggleExperimentStartInputSchema = z.object({
16
16
  task_id: z.string().optional(),
17
17
  expected_metrics_path: z.string().min(1).optional(),
18
18
  artifact_refs: z.array(z.string().min(1)).default([]),
19
+ validation_contract: KaggleLongRunValidationContractSchema,
19
20
  }).strict();
20
21
  export const KaggleExperimentReadInputSchema = z.object({
21
22
  workspace: z.string().min(1),
@@ -85,6 +86,7 @@ export class KaggleExperimentStartTool extends KaggleToolBase {
85
86
  try {
86
87
  const commandArgs = input.args ?? [];
87
88
  const artifactRefs = input.artifact_refs ?? [];
89
+ const validationContract = KaggleLongRunValidationContractSchema.parse(input.validation_contract);
88
90
  const experimentId = input.experiment_id
89
91
  ? validateKaggleExperimentId(input.experiment_id)
90
92
  : generateExperimentId();
@@ -106,11 +108,15 @@ export class KaggleExperimentStartTool extends KaggleToolBase {
106
108
  created_at: new Date().toISOString(),
107
109
  log_path: resolved.logPath,
108
110
  metrics_path: metricsPath,
111
+ report_path: resolved.reportPath,
112
+ next_action_path: resolved.nextActionPath,
113
+ validation_contract: validationContract,
114
+ validation_checklist: KAGGLE_VALIDATION_CHECKLIST,
109
115
  };
110
116
  await fs.writeFile(resolved.commandPath, `${JSON.stringify(commandMetadata, null, 2)}\n`, "utf-8");
111
117
  const session = this.manager.start({
112
118
  command: process.execPath,
113
- args: teeWrapperArgs(input.command, commandArgs, resolved.logPath),
119
+ args: teeWrapperArgs(input.command, commandArgs, resolved.logPath, metricsPath, resolved.reportPath, resolved.nextActionPath, experimentId, input.competition),
114
120
  cwd: resolved.workspaceRoot,
115
121
  env: input.env,
116
122
  label: `kaggle:${input.competition}:${experimentId}`,
@@ -123,16 +129,20 @@ export class KaggleExperimentStartTool extends KaggleToolBase {
123
129
  resolved.commandPath,
124
130
  resolved.processPath,
125
131
  resolved.childProcessPath,
132
+ resolved.reportPath,
133
+ resolved.nextActionPath,
126
134
  ...extraRefs,
127
135
  ],
128
136
  }, resolved.workspaceRoot, context);
129
- const metadata = experimentMetadata({ ...input, args: commandArgs, artifact_refs: artifactRefs }, resolved, experimentId, metricsPath, extraRefs, session);
137
+ const metadata = experimentMetadata({ ...input, args: commandArgs, artifact_refs: artifactRefs, validation_contract: validationContract }, resolved, experimentId, metricsPath, extraRefs, session);
130
138
  await fs.writeFile(resolved.metadataPath, `${JSON.stringify(metadata, null, 2)}\n`, "utf-8");
131
139
  await fs.writeFile(resolved.processPath, `${JSON.stringify(session, null, 2)}\n`, "utf-8");
132
140
  const output = {
133
141
  experiment_id: experimentId,
134
142
  competition: input.competition,
135
143
  process: session,
144
+ validation_contract: validationContract,
145
+ validation_checklist: KAGGLE_VALIDATION_CHECKLIST,
136
146
  metadata: artifactRef(resolved.workspaceRoot, resolved.metadataPath),
137
147
  artifacts: {
138
148
  log: artifactRef(resolved.workspaceRoot, resolved.logPath),
@@ -140,6 +150,8 @@ export class KaggleExperimentStartTool extends KaggleToolBase {
140
150
  command: artifactRef(resolved.workspaceRoot, resolved.commandPath),
141
151
  process: artifactRef(resolved.workspaceRoot, resolved.processPath),
142
152
  child_process: artifactRef(resolved.workspaceRoot, resolved.childProcessPath),
153
+ report: artifactRef(resolved.workspaceRoot, resolved.reportPath),
154
+ next_action: artifactRef(resolved.workspaceRoot, resolved.nextActionPath),
143
155
  extra: extraRefs.map((ref) => artifactRef(resolved.workspaceRoot, ref)),
144
156
  },
145
157
  wait_condition_hints: {
@@ -152,6 +164,16 @@ export class KaggleExperimentStartTool extends KaggleToolBase {
152
164
  path: stateRelativePath(metricsPath),
153
165
  absolute_path: metricsPath,
154
166
  },
167
+ report_file_exists: {
168
+ type: "file_exists",
169
+ path: stateRelativePath(resolved.reportPath),
170
+ absolute_path: resolved.reportPath,
171
+ },
172
+ next_action_file_exists: {
173
+ type: "file_exists",
174
+ path: stateRelativePath(resolved.nextActionPath),
175
+ absolute_path: resolved.nextActionPath,
176
+ },
155
177
  },
156
178
  metric_threshold_guidance: {
157
179
  wait_condition_type: "metric_threshold",
@@ -173,6 +195,8 @@ export class KaggleExperimentStartTool extends KaggleToolBase {
173
195
  resolved.processPath,
174
196
  resolved.logPath,
175
197
  metricsPath,
198
+ resolved.reportPath,
199
+ resolved.nextActionPath,
176
200
  ...(session.metadataPath ? [session.metadataPath] : []),
177
201
  ...extraRefs,
178
202
  ],
@@ -226,8 +250,8 @@ export class KaggleExperimentReadTool extends KaggleToolBase {
226
250
  : null;
227
251
  const processSnapshot = liveRead ?? await readProcessSnapshotFromMetadata(located.processPath);
228
252
  const log = await readTail(located.logPath, input.maxChars);
229
- const metrics = await readMetrics(located.metricsPath);
230
- const missingArtifacts = await missingPaths([located.logPath, located.metricsPath]);
253
+ const metrics = await readMetrics(located.metricsPath, metricsFallback(located.workspaceRoot, input.competition, located.experimentId, located.metricsPath));
254
+ const missingArtifacts = await missingPaths([located.logPath, located.metricsPath, located.reportPath, located.nextActionPath]);
231
255
  const output = {
232
256
  experiment_id: located.experimentId,
233
257
  session_id: located.sessionId,
@@ -238,12 +262,16 @@ export class KaggleExperimentReadTool extends KaggleToolBase {
238
262
  metrics: metrics.ok ? metrics.metrics : null,
239
263
  metrics_status: metrics.ok ? "ok" : metrics.reason,
240
264
  metrics_error: metrics.ok ? null : metrics.message,
265
+ metrics_source_schema: metrics.ok ? metrics.source_schema : null,
266
+ metrics_warnings: metrics.ok ? metrics.warnings : [],
241
267
  missing_artifacts: missingArtifacts.map((artifactPath) => artifactRef(located.workspaceRoot, artifactPath)),
242
268
  artifacts: {
243
269
  log: artifactRef(located.workspaceRoot, located.logPath),
244
270
  metrics: artifactRef(located.workspaceRoot, located.metricsPath),
245
271
  metadata: artifactRef(located.workspaceRoot, located.metadataPath),
246
272
  process: artifactRef(located.workspaceRoot, located.processPath),
273
+ report: artifactRef(located.workspaceRoot, located.reportPath),
274
+ next_action: artifactRef(located.workspaceRoot, located.nextActionPath),
247
275
  },
248
276
  };
249
277
  return {
@@ -251,7 +279,7 @@ export class KaggleExperimentReadTool extends KaggleToolBase {
251
279
  data: output,
252
280
  summary: `Read Kaggle experiment ${located.experimentId}: ${output.status}`,
253
281
  durationMs: Date.now() - startTime,
254
- artifacts: [located.metadataPath, located.processPath, located.logPath, located.metricsPath],
282
+ artifacts: [located.metadataPath, located.processPath, located.logPath, located.metricsPath, located.reportPath, located.nextActionPath],
255
283
  };
256
284
  }
257
285
  catch (err) {
@@ -291,7 +319,7 @@ export class KaggleExperimentListTool extends KaggleToolBase {
291
319
  const located = resolveLocatedExperiment(workspaceRoot, input.competition, experimentId);
292
320
  const metadata = await readJsonObject(located.metadataPath);
293
321
  const processSnapshot = await readProcessSnapshotFromMetadata(located.processPath);
294
- const metrics = await readMetrics(located.metricsPath);
322
+ const metrics = await readMetrics(located.metricsPath, metricsFallback(workspaceRoot, input.competition, experimentId, located.metricsPath));
295
323
  experiments.set(experimentId, {
296
324
  experiment_id: experimentId,
297
325
  session_id: typeof metadata?.process === "object" && metadata.process !== null
@@ -301,10 +329,14 @@ export class KaggleExperimentListTool extends KaggleToolBase {
301
329
  source: "filesystem",
302
330
  metrics: metrics.ok ? metrics.metrics : null,
303
331
  metrics_status: metrics.ok ? "ok" : metrics.reason,
332
+ metrics_source_schema: metrics.ok ? metrics.source_schema : null,
333
+ metrics_warnings: metrics.ok ? metrics.warnings : [],
304
334
  artifacts: {
305
335
  log: artifactRef(workspaceRoot, located.logPath),
306
336
  metrics: artifactRef(workspaceRoot, located.metricsPath),
307
337
  metadata: artifactRef(workspaceRoot, located.metadataPath),
338
+ report: artifactRef(workspaceRoot, located.reportPath),
339
+ next_action: artifactRef(workspaceRoot, located.nextActionPath),
308
340
  },
309
341
  });
310
342
  }
@@ -314,7 +346,7 @@ export class KaggleExperimentListTool extends KaggleToolBase {
314
346
  continue;
315
347
  const located = resolveLocatedExperiment(workspaceRoot, input.competition, experimentId);
316
348
  const existing = experiments.get(experimentId) ?? {};
317
- const metrics = await readMetrics(located.metricsPath);
349
+ const metrics = await readMetrics(located.metricsPath, metricsFallback(workspaceRoot, input.competition, experimentId, located.metricsPath));
318
350
  experiments.set(experimentId, {
319
351
  ...existing,
320
352
  experiment_id: experimentId,
@@ -324,10 +356,14 @@ export class KaggleExperimentListTool extends KaggleToolBase {
324
356
  process: session,
325
357
  metrics: metrics.ok ? metrics.metrics : null,
326
358
  metrics_status: metrics.ok ? "ok" : metrics.reason,
359
+ metrics_source_schema: metrics.ok ? metrics.source_schema : null,
360
+ metrics_warnings: metrics.ok ? metrics.warnings : [],
327
361
  artifacts: {
328
362
  log: artifactRef(workspaceRoot, located.logPath),
329
363
  metrics: artifactRef(workspaceRoot, located.metricsPath),
330
364
  metadata: artifactRef(workspaceRoot, located.metadataPath),
365
+ report: artifactRef(workspaceRoot, located.reportPath),
366
+ next_action: artifactRef(workspaceRoot, located.nextActionPath),
331
367
  },
332
368
  });
333
369
  }
@@ -443,7 +479,8 @@ export class KaggleMetricReportTool extends KaggleToolBase {
443
479
  const metricsPath = input.metrics_path
444
480
  ? resolveWorkspaceRelativePath(workspaceRoot, input.metrics_path, "metrics_path")
445
481
  : path.join(getKaggleExperimentDir(workspaceRoot, input.experiment_id), "metrics.json");
446
- const metrics = await readMetrics(metricsPath);
482
+ const fallbackExperimentId = input.experiment_id ?? experimentIdFromMetricsPath(workspaceRoot, metricsPath);
483
+ const metrics = await readMetrics(metricsPath, metricsFallback(workspaceRoot, input.competition, fallbackExperimentId, metricsPath));
447
484
  if (!metrics.ok) {
448
485
  return {
449
486
  success: false,
@@ -467,6 +504,7 @@ export class KaggleMetricReportTool extends KaggleToolBase {
467
504
  ? metrics.metrics.cv_score - input.baseline_score
468
505
  : input.baseline_score - metrics.metrics.cv_score;
469
506
  const warnings = [
507
+ ...metrics.warnings,
470
508
  ...(metrics.metrics.cv_std === null ? ["cv_std is null"] : []),
471
509
  ...(metrics.metrics.holdout_score === null ? ["holdout_score is null"] : []),
472
510
  ...(!metrics.metrics.artifacts.submission ? ["submission artifact is missing"] : []),
@@ -482,7 +520,9 @@ export class KaggleMetricReportTool extends KaggleToolBase {
482
520
  baseline_delta: baselineDelta,
483
521
  confidence: confidenceForMetrics(metrics.metrics),
484
522
  metrics: metrics.metrics,
523
+ metrics_source_schema: metrics.source_schema,
485
524
  warnings,
525
+ validation_checklist: KAGGLE_VALIDATION_CHECKLIST,
486
526
  artifact: artifactRef(workspaceRoot, metricsPath),
487
527
  wait_metadata: {
488
528
  metrics: {
@@ -544,7 +584,7 @@ export class KaggleCompareExperimentsTool extends KaggleToolBase {
544
584
  const rows = [];
545
585
  for (const experimentId of experimentIds) {
546
586
  const metricsPath = path.join(getKaggleExperimentDir(workspaceRoot, experimentId), "metrics.json");
547
- const metrics = await readMetrics(metricsPath);
587
+ const metrics = await readMetrics(metricsPath, metricsFallback(workspaceRoot, input.competition, experimentId, metricsPath));
548
588
  if (!metrics.ok) {
549
589
  rows.push({
550
590
  experiment_id: experimentId,
@@ -557,6 +597,7 @@ export class KaggleCompareExperimentsTool extends KaggleToolBase {
557
597
  }
558
598
  const direction = input.metric_direction ?? metrics.metrics.direction;
559
599
  const normalizedScore = direction === "maximize" ? metrics.metrics.cv_score : -metrics.metrics.cv_score;
600
+ const validation = summarizeKaggleValidation(metrics.metrics);
560
601
  rows.push({
561
602
  experiment_id: experimentId,
562
603
  status: "ok",
@@ -564,7 +605,11 @@ export class KaggleCompareExperimentsTool extends KaggleToolBase {
564
605
  direction,
565
606
  score: metrics.metrics.cv_score,
566
607
  normalized_score: normalizedScore,
608
+ robust_score: normalizedScore - validation.robust_penalty,
609
+ validation,
567
610
  metrics: metrics.metrics,
611
+ metrics_source_schema: metrics.source_schema,
612
+ metrics_warnings: metrics.warnings,
568
613
  artifact: artifactRef(workspaceRoot, metricsPath),
569
614
  });
570
615
  }
@@ -603,24 +648,44 @@ export class KaggleCompareExperimentsTool extends KaggleToolBase {
603
648
  artifacts: rows.map((row) => row.artifact.path),
604
649
  };
605
650
  }
606
- const best = validRows[0];
607
- const runnerUp = validRows[1];
608
- const delta = runnerUp ? best.normalized_score - runnerUp.normalized_score : null;
651
+ const rawRows = [...validRows].sort((a, b) => b.normalized_score - a.normalized_score);
652
+ const robustRows = [...validRows].sort((a, b) => b.robust_score - a.robust_score || b.normalized_score - a.normalized_score);
653
+ const best = robustRows[0];
654
+ const rawBest = rawRows[0];
655
+ const runnerUp = robustRows[1];
656
+ const delta = runnerUp ? best.robust_score - runnerUp.robust_score : null;
609
657
  const rankTable = rows.map((row) => row.status === "ok"
610
- ? { ...row, rank: validRows.findIndex((valid) => valid.experiment_id === row.experiment_id) + 1 }
658
+ ? {
659
+ ...row,
660
+ rank: rawRows.findIndex((valid) => valid.experiment_id === row.experiment_id) + 1,
661
+ raw_rank: rawRows.findIndex((valid) => valid.experiment_id === row.experiment_id) + 1,
662
+ robust_rank: robustRows.findIndex((valid) => valid.experiment_id === row.experiment_id) + 1,
663
+ }
611
664
  : { ...row, rank: null });
612
665
  return {
613
666
  success: true,
614
667
  data: {
615
668
  status: rows.length === validRows.length ? "ok" : "inconclusive",
616
669
  best_experiment_id: best.experiment_id,
670
+ raw_best_experiment_id: rawBest.experiment_id,
671
+ recommendation_mode: "validation_adjusted",
672
+ raw_cv_delta: rawRows[1] ? rawBest.normalized_score - rawRows[1].normalized_score : null,
617
673
  direction: best.direction,
618
674
  metric_name: best.metric_name,
619
675
  delta,
620
676
  rows: rankTable,
677
+ final_report_sections: [
678
+ "local_cv_oof",
679
+ "public_leaderboard_gap",
680
+ "private_leaderboard_uncertainty",
681
+ "portfolio_slot_rationale",
682
+ ],
683
+ validation_checklist: KAGGLE_VALIDATION_CHECKLIST,
621
684
  recommendation: delta === null
622
685
  ? `Use ${best.experiment_id}; it is the only valid experiment.`
623
- : `Use ${best.experiment_id}; it leads by ${delta}.`,
686
+ : best.experiment_id === rawBest.experiment_id
687
+ ? `Use ${best.experiment_id}; it leads after CV stability, OOF safety, leakage, drift, and public-gap checks.`
688
+ : `Use ${best.experiment_id}; raw CV top-1 ${rawBest.experiment_id} is not the safe recommendation after validation risk adjustment.`,
624
689
  },
625
690
  summary: `Best Kaggle experiment is ${best.experiment_id} (${best.metric_name}=${best.score}, ${best.direction})`,
626
691
  durationMs: Date.now() - startTime,
@@ -651,6 +716,8 @@ function resolveExperiment(workspace, competition, experimentId) {
651
716
  childProcessPath: path.join(experimentDir, "child-process.json"),
652
717
  logPath: path.join(experimentDir, "train.log"),
653
718
  metricsPath: path.join(experimentDir, "metrics.json"),
719
+ reportPath: path.join(experimentDir, "summary.md"),
720
+ nextActionPath: path.join(experimentDir, "next-action.json"),
654
721
  };
655
722
  }
656
723
  function resolveLocatedExperiment(workspaceRoot, competition, experimentId) {
@@ -695,6 +762,8 @@ function experimentMetadata(input, resolved, experimentId, metricsPath, extraRef
695
762
  args: input.args,
696
763
  env_keys: Object.keys(input.env ?? {}).sort(),
697
764
  },
765
+ validation_contract: input.validation_contract,
766
+ validation_checklist: KAGGLE_VALIDATION_CHECKLIST,
698
767
  process: {
699
768
  session_id: session.session_id,
700
769
  metadata_path: session.metadataPath,
@@ -708,6 +777,8 @@ function experimentMetadata(input, resolved, experimentId, metricsPath, extraRef
708
777
  command: artifactRef(resolved.workspaceRoot, resolved.commandPath),
709
778
  process: artifactRef(resolved.workspaceRoot, resolved.processPath),
710
779
  child_process: artifactRef(resolved.workspaceRoot, resolved.childProcessPath),
780
+ report: artifactRef(resolved.workspaceRoot, resolved.reportPath),
781
+ next_action: artifactRef(resolved.workspaceRoot, resolved.nextActionPath),
711
782
  extra: extraRefs.map((ref) => artifactRef(resolved.workspaceRoot, ref)),
712
783
  },
713
784
  };
@@ -719,7 +790,26 @@ function artifactRef(workspaceRoot, artifactPath) {
719
790
  state_relative_path: stateRelativePath(artifactPath),
720
791
  };
721
792
  }
722
- async function readMetrics(metricsPath) {
793
+ function metricsFallback(workspaceRoot, competition, experimentId, metricsPath) {
794
+ const metricsDir = path.dirname(metricsPath);
795
+ return {
796
+ experiment_id: experimentId,
797
+ competition,
798
+ log_path: workspaceRelativePath(workspaceRoot, path.join(metricsDir, "train.log")),
799
+ };
800
+ }
801
+ function experimentIdFromMetricsPath(workspaceRoot, metricsPath) {
802
+ const parts = workspaceRelativePath(workspaceRoot, metricsPath).split("/");
803
+ const experimentsIndex = parts.indexOf("experiments");
804
+ if (experimentsIndex >= 0) {
805
+ const candidate = parts[experimentsIndex + 1];
806
+ if (candidate && candidate !== "metrics.json")
807
+ return candidate;
808
+ }
809
+ const parent = path.basename(path.dirname(metricsPath));
810
+ return parent === "experiments" ? undefined : parent;
811
+ }
812
+ async function readMetrics(metricsPath, fallback = {}) {
723
813
  let raw;
724
814
  try {
725
815
  raw = await fs.readFile(metricsPath, "utf-8");
@@ -731,7 +821,7 @@ async function readMetrics(metricsPath) {
731
821
  throw err;
732
822
  }
733
823
  try {
734
- return parseKaggleMetrics(JSON.parse(raw));
824
+ return parseKaggleMetricsCompatible(JSON.parse(raw), fallback);
735
825
  }
736
826
  catch (err) {
737
827
  return {
@@ -854,7 +944,7 @@ function generateExperimentId() {
854
944
  .replace(/\.\d{3}Z$/, "Z");
855
945
  return `exp-${timestamp}`;
856
946
  }
857
- function teeWrapperArgs(command, args, logPath) {
947
+ function teeWrapperArgs(command, args, logPath, metricsPath, reportPath, nextActionPath, experimentId, competition) {
858
948
  const script = `
859
949
  const { spawn } = require("node:child_process");
860
950
  const fs = require("node:fs");
@@ -863,6 +953,12 @@ const command = process.argv[1];
863
953
  const args = JSON.parse(process.argv[2]);
864
954
  const logPath = process.argv[3];
865
955
  const childProcessPath = process.argv[4];
956
+ const metricsPath = process.argv[5];
957
+ const reportPath = process.argv[6];
958
+ const nextActionPath = process.argv[7];
959
+ const experimentId = process.argv[8];
960
+ const competition = process.argv[9];
961
+ const workspaceRoot = path.dirname(path.dirname(path.dirname(logPath)));
866
962
  fs.mkdirSync(path.dirname(logPath), { recursive: true });
867
963
  const log = fs.createWriteStream(logPath, { flags: "a" });
868
964
  const child = spawn(command, args, { cwd: process.cwd(), env: process.env, stdio: ["ignore", "pipe", "pipe"] });
@@ -890,12 +986,181 @@ child.on("error", (err) => {
890
986
  log.write(msg);
891
987
  });
892
988
  child.on("exit", (code, signal) => {
989
+ writeCompletionArtifacts(code, signal);
893
990
  const msg = "[kaggle experiment exited code=" + (code ?? "null") + " signal=" + (signal ?? "null") + "]\\n";
894
991
  log.write(msg, () => process.exit(code ?? 1));
895
992
  });
993
+
994
+ function writeCompletionArtifacts(code, signal) {
995
+ const observedAt = new Date().toISOString();
996
+ const metrics = readMetricsArtifact();
997
+ const metric = extractMetric(metrics.value);
998
+ const exitOk = code === 0 && !signal;
999
+ const status = metrics.value && typeof metrics.value.status === "string"
1000
+ ? metrics.value.status
1001
+ : exitOk ? "completed" : "failed";
1002
+ const report = renderReport({
1003
+ observedAt,
1004
+ code,
1005
+ signal,
1006
+ status,
1007
+ metrics,
1008
+ metric,
1009
+ });
1010
+ const nextAction = buildNextAction({
1011
+ observedAt,
1012
+ code,
1013
+ signal,
1014
+ status,
1015
+ metrics,
1016
+ metric,
1017
+ });
1018
+ try {
1019
+ fs.mkdirSync(path.dirname(reportPath), { recursive: true });
1020
+ fs.writeFileSync(reportPath, report, "utf-8");
1021
+ fs.writeFileSync(nextActionPath, JSON.stringify(nextAction, null, 2) + "\\n", "utf-8");
1022
+ } catch (err) {
1023
+ const msg = "[kaggle experiment artifact error] " + err.message + "\\n";
1024
+ process.stderr.write(msg);
1025
+ log.write(msg);
1026
+ }
1027
+ }
1028
+
1029
+ function readMetricsArtifact() {
1030
+ try {
1031
+ const raw = fs.readFileSync(metricsPath, "utf-8");
1032
+ return { available: true, value: JSON.parse(raw), error: null };
1033
+ } catch (err) {
1034
+ return { available: false, value: null, error: err.message };
1035
+ }
1036
+ }
1037
+
1038
+ function extractMetric(value) {
1039
+ if (!value || typeof value !== "object" || Array.isArray(value)) return null;
1040
+ const metricName = firstString(value.metric_name)
1041
+ || firstNumericMetricName(value.all_metrics)
1042
+ || (isFiniteNumber(value.balanced_accuracy) ? "balanced_accuracy" : null)
1043
+ || (isFiniteNumber(value.accuracy) ? "accuracy" : null);
1044
+ if (!metricName) return null;
1045
+ const score = firstNumber(value.cv_score, value.metric_value, value.score, value[metricName], value.all_metrics && value.all_metrics[metricName]);
1046
+ if (score === null) return null;
1047
+ const direction = normalizeDirection(firstString(value.direction) || firstString(value.metric_direction), metricName);
1048
+ return { metric_name: metricName, score, direction };
1049
+ }
1050
+
1051
+ function renderReport(info) {
1052
+ const lines = [
1053
+ "# Kaggle Experiment " + experimentId,
1054
+ "",
1055
+ "- Competition: " + competition,
1056
+ "- Status: " + info.status,
1057
+ "- Exit: code=" + (info.code ?? "null") + " signal=" + (info.signal ?? "null"),
1058
+ "- Observed at: " + info.observedAt,
1059
+ "- Log: " + relativePath(logPath),
1060
+ "- Metrics: " + relativePath(metricsPath),
1061
+ ];
1062
+ if (info.metric) {
1063
+ lines.push("- Metric: " + info.metric.metric_name + "=" + info.metric.score + " (" + info.metric.direction + ")");
1064
+ } else if (info.metrics.error) {
1065
+ lines.push("- Metric: unavailable (" + info.metrics.error + ")");
1066
+ } else {
1067
+ lines.push("- Metric: unavailable");
1068
+ }
1069
+ lines.push("");
1070
+ lines.push("## Next Action");
1071
+ lines.push(nextActionSummary(info));
1072
+ lines.push("");
1073
+ lines.push("## Artifacts");
1074
+ lines.push("- train.log");
1075
+ lines.push("- metrics.json" + (info.metrics.available ? "" : " (missing or invalid)"));
1076
+ lines.push("- next-action.json");
1077
+ return lines.join("\\n") + "\\n";
1078
+ }
1079
+
1080
+ function buildNextAction(info) {
1081
+ const actionType = info.metric && info.status === "completed" ? "compare_experiment" : "investigate_run";
1082
+ return {
1083
+ schema_version: "long-running-next-action-v1",
1084
+ created_at: info.observedAt,
1085
+ source: {
1086
+ kind: "kaggle_experiment",
1087
+ experiment_id: experimentId,
1088
+ competition,
1089
+ },
1090
+ observation: {
1091
+ status: info.status,
1092
+ exit_code: info.code,
1093
+ signal: info.signal,
1094
+ metric: info.metric,
1095
+ artifacts: {
1096
+ log: relativePath(logPath),
1097
+ metrics: relativePath(metricsPath),
1098
+ report: relativePath(reportPath),
1099
+ },
1100
+ metrics_error: info.metrics.error,
1101
+ },
1102
+ action: {
1103
+ type: actionType,
1104
+ summary: nextActionSummary(info),
1105
+ candidate_tools: actionType === "compare_experiment"
1106
+ ? ["kaggle_metric_report", "kaggle_compare_experiments"]
1107
+ : ["kaggle_experiment_read"],
1108
+ },
1109
+ };
1110
+ }
1111
+
1112
+ function nextActionSummary(info) {
1113
+ if (info.metric && info.status === "completed") {
1114
+ return "Compare " + experimentId + " using " + info.metric.metric_name + " before deciding on another run or submission preparation.";
1115
+ }
1116
+ if (info.metrics.error) {
1117
+ return "Inspect train.log and restore a readable metrics.json before comparing experiments.";
1118
+ }
1119
+ return "Inspect train.log and metrics.json before planning the next run.";
1120
+ }
1121
+
1122
+ function relativePath(target) {
1123
+ return path.relative(workspaceRoot, target).split(path.sep).join("/");
1124
+ }
1125
+
1126
+ function firstString(value) {
1127
+ return typeof value === "string" && value.trim() ? value : null;
1128
+ }
1129
+
1130
+ function firstNumber(...values) {
1131
+ for (const value of values) {
1132
+ if (isFiniteNumber(value)) return value;
1133
+ }
1134
+ return null;
1135
+ }
1136
+
1137
+ function firstNumericMetricName(value) {
1138
+ if (!value || typeof value !== "object" || Array.isArray(value)) return null;
1139
+ for (const key of ["balanced_accuracy", "accuracy", "macro_f1", "weighted_f1", "log_loss", "rmse"]) {
1140
+ if (isFiniteNumber(value[key])) return key;
1141
+ }
1142
+ for (const [key, field] of Object.entries(value)) {
1143
+ if (isFiniteNumber(field)) return key;
1144
+ }
1145
+ return null;
1146
+ }
1147
+
1148
+ function isFiniteNumber(value) {
1149
+ return typeof value === "number" && Number.isFinite(value);
1150
+ }
1151
+
1152
+ function inferDirection(metricName) {
1153
+ return metricName === "rmse" || metricName === "log_loss" ? "minimize" : "maximize";
1154
+ }
1155
+
1156
+ function normalizeDirection(value, metricName) {
1157
+ if (value === "maximize" || value === "higher" || value === "higher_is_better" || value === "greater_is_better") return "maximize";
1158
+ if (value === "minimize" || value === "lower" || value === "lower_is_better" || value === "less_is_better") return "minimize";
1159
+ return inferDirection(metricName);
1160
+ }
896
1161
  `;
897
1162
  const childProcessPath = path.join(path.dirname(logPath), "child-process.json");
898
- return ["-e", script, command, JSON.stringify(args), logPath, childProcessPath];
1163
+ return ["-e", script, command, JSON.stringify(args), logPath, childProcessPath, metricsPath, reportPath, nextActionPath, experimentId, competition];
899
1164
  }
900
1165
  function failureResult(message, startTime) {
901
1166
  return {