agent-hitch 0.2.7 → 0.2.9

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 (287) hide show
  1. package/README.md +16 -2
  2. package/README.zh-CN.md +14 -2
  3. package/dist/bin/hitch.js +25 -3
  4. package/dist/bin/hitch.js.map +1 -1
  5. package/dist/scripts/canary-benchmark.js +54 -0
  6. package/dist/scripts/canary-benchmark.js.map +1 -0
  7. package/dist/scripts/canary-eval-scheduler-throughput.js +47 -0
  8. package/dist/scripts/canary-eval-scheduler-throughput.js.map +1 -0
  9. package/dist/scripts/check-architecture.js +3 -2
  10. package/dist/scripts/check-architecture.js.map +1 -1
  11. package/dist/src/adapters/catalog.js +2 -1
  12. package/dist/src/adapters/catalog.js.map +1 -1
  13. package/dist/src/adapters/providers/codex-auth.js +29 -0
  14. package/dist/src/adapters/providers/codex-auth.js.map +1 -0
  15. package/dist/src/adapters/providers/codex.js +23 -6
  16. package/dist/src/adapters/providers/codex.js.map +1 -1
  17. package/dist/src/adapters/providers/model-call.js +26 -0
  18. package/dist/src/adapters/providers/model-call.js.map +1 -0
  19. package/dist/src/artifacts/index.js +1 -1
  20. package/dist/src/artifacts/index.js.map +1 -1
  21. package/dist/src/artifacts/preparer.js +7 -2
  22. package/dist/src/artifacts/preparer.js.map +1 -1
  23. package/dist/src/backends/harbor/agent-budget.js +31 -0
  24. package/dist/src/backends/harbor/agent-budget.js.map +1 -0
  25. package/dist/src/backends/harbor/backend.js +6 -4
  26. package/dist/src/backends/harbor/backend.js.map +1 -1
  27. package/dist/src/backends/harbor/index.js +1 -0
  28. package/dist/src/backends/harbor/index.js.map +1 -1
  29. package/dist/src/backends/harbor/regrade.js +77 -0
  30. package/dist/src/backends/harbor/regrade.js.map +1 -0
  31. package/dist/src/backends/index.js +1 -0
  32. package/dist/src/backends/index.js.map +1 -1
  33. package/dist/src/benchmarks/index.js +3 -0
  34. package/dist/src/benchmarks/index.js.map +1 -0
  35. package/dist/src/benchmarks/loader.js +271 -0
  36. package/dist/src/benchmarks/loader.js.map +1 -0
  37. package/dist/src/benchmarks/metrics.js +16 -0
  38. package/dist/src/benchmarks/metrics.js.map +1 -0
  39. package/dist/src/benchmarks/toml.js +13 -0
  40. package/dist/src/benchmarks/toml.js.map +1 -0
  41. package/dist/src/benchmarks/validation.js +242 -0
  42. package/dist/src/benchmarks/validation.js.map +1 -0
  43. package/dist/src/cli/arguments.js +6 -4
  44. package/dist/src/cli/arguments.js.map +1 -1
  45. package/dist/src/cli/commands/benchmark.js +22 -0
  46. package/dist/src/cli/commands/benchmark.js.map +1 -0
  47. package/dist/src/cli/commands/capabilities.js +18 -0
  48. package/dist/src/cli/commands/capabilities.js.map +1 -0
  49. package/dist/src/cli/commands/eval.js +15 -3
  50. package/dist/src/cli/commands/eval.js.map +1 -1
  51. package/dist/src/cli/commands/run.js +37 -15
  52. package/dist/src/cli/commands/run.js.map +1 -1
  53. package/dist/src/cli/commands/trajectory.js +96 -5
  54. package/dist/src/cli/commands/trajectory.js.map +1 -1
  55. package/dist/src/cli/commands/verifier.js +36 -0
  56. package/dist/src/cli/commands/verifier.js.map +1 -0
  57. package/dist/src/cli/main.js +6 -0
  58. package/dist/src/cli/main.js.map +1 -1
  59. package/dist/src/cli/output.js +14 -2
  60. package/dist/src/cli/output.js.map +1 -1
  61. package/dist/src/control-plane/eval-control-work.js +5 -0
  62. package/dist/src/control-plane/eval-control-work.js.map +1 -1
  63. package/dist/src/control-plane/eval-scheduler.js +4 -1
  64. package/dist/src/control-plane/eval-scheduler.js.map +1 -1
  65. package/dist/src/control-plane/index.js +1 -1
  66. package/dist/src/control-plane/index.js.map +1 -1
  67. package/dist/src/control-plane/remote-result-transport.js +3 -0
  68. package/dist/src/control-plane/remote-result-transport.js.map +1 -1
  69. package/dist/src/control-plane/remote-work-coordinator.js +1 -0
  70. package/dist/src/control-plane/remote-work-coordinator.js.map +1 -1
  71. package/dist/src/control-plane/remote-work-item.js +62 -0
  72. package/dist/src/control-plane/remote-work-item.js.map +1 -0
  73. package/dist/src/control-plane/remote-work-recovery.js +44 -5
  74. package/dist/src/control-plane/remote-work-recovery.js.map +1 -1
  75. package/dist/src/control-plane/remote-worker-protocol.js +2 -23
  76. package/dist/src/control-plane/remote-worker-protocol.js.map +1 -1
  77. package/dist/src/control-plane/rerun-scheduler.js +51 -14
  78. package/dist/src/control-plane/rerun-scheduler.js.map +1 -1
  79. package/dist/src/control-plane/rerun-submission.js +10 -4
  80. package/dist/src/control-plane/rerun-submission.js.map +1 -1
  81. package/dist/src/control-plane/work-admission.js +2 -0
  82. package/dist/src/control-plane/work-admission.js.map +1 -1
  83. package/dist/src/control-plane/work-dispatcher.js +9 -1
  84. package/dist/src/control-plane/work-dispatcher.js.map +1 -1
  85. package/dist/src/controller-runtime/hash.js +7 -2
  86. package/dist/src/controller-runtime/hash.js.map +1 -1
  87. package/dist/src/daemon/auth.js +12 -2
  88. package/dist/src/daemon/auth.js.map +1 -1
  89. package/dist/src/domain/benchmarks.js +2 -0
  90. package/dist/src/domain/benchmarks.js.map +1 -0
  91. package/dist/src/domain/index.js +4 -0
  92. package/dist/src/domain/index.js.map +1 -1
  93. package/dist/src/domain/runs.js.map +1 -1
  94. package/dist/src/domain/validation.js +11 -4
  95. package/dist/src/domain/validation.js.map +1 -1
  96. package/dist/src/domain/verifier-evidence-validation.js +214 -0
  97. package/dist/src/domain/verifier-evidence-validation.js.map +1 -0
  98. package/dist/src/domain/verifier-evidence.js +3 -0
  99. package/dist/src/domain/verifier-evidence.js.map +1 -0
  100. package/dist/src/domain/verifier-score-contract.js +232 -0
  101. package/dist/src/domain/verifier-score-contract.js.map +1 -0
  102. package/dist/src/evals/benchmark-adapter-manifest.js +219 -0
  103. package/dist/src/evals/benchmark-adapter-manifest.js.map +1 -0
  104. package/dist/src/evals/benchmark-candidate.js +36 -0
  105. package/dist/src/evals/benchmark-candidate.js.map +1 -0
  106. package/dist/src/evals/benchmark-run.js +166 -0
  107. package/dist/src/evals/benchmark-run.js.map +1 -0
  108. package/dist/src/evals/collect-only-rerun.js +2 -1
  109. package/dist/src/evals/collect-only-rerun.js.map +1 -1
  110. package/dist/src/evals/directory.js +1 -1
  111. package/dist/src/evals/directory.js.map +1 -1
  112. package/dist/src/evals/duration-estimator.js +126 -0
  113. package/dist/src/evals/duration-estimator.js.map +1 -0
  114. package/dist/src/evals/eval-lifecycle-events.js +13 -0
  115. package/dist/src/evals/eval-lifecycle-events.js.map +1 -1
  116. package/dist/src/evals/eval-logical-plan.js +51 -0
  117. package/dist/src/evals/eval-logical-plan.js.map +1 -0
  118. package/dist/src/evals/eval-result-builder.js +81 -0
  119. package/dist/src/evals/eval-result-builder.js.map +1 -0
  120. package/dist/src/evals/evolution-baseline.js +191 -0
  121. package/dist/src/evals/evolution-baseline.js.map +1 -0
  122. package/dist/src/evals/execution-plan.js +39 -3
  123. package/dist/src/evals/execution-plan.js.map +1 -1
  124. package/dist/src/evals/failure-classifier.js +61 -0
  125. package/dist/src/evals/failure-classifier.js.map +1 -0
  126. package/dist/src/evals/harbor-artifact-builder.js +6 -2
  127. package/dist/src/evals/harbor-artifact-builder.js.map +1 -1
  128. package/dist/src/evals/harbor-bridge-error.js +42 -1
  129. package/dist/src/evals/harbor-bridge-error.js.map +1 -1
  130. package/dist/src/evals/harbor-node-runtime.js +146 -0
  131. package/dist/src/evals/harbor-node-runtime.js.map +1 -0
  132. package/dist/src/evals/index.js +15 -0
  133. package/dist/src/evals/index.js.map +1 -1
  134. package/dist/src/evals/infrastructure-retry.js +109 -22
  135. package/dist/src/evals/infrastructure-retry.js.map +1 -1
  136. package/dist/src/evals/native-phase-evidence.js +440 -0
  137. package/dist/src/evals/native-phase-evidence.js.map +1 -0
  138. package/dist/src/evals/physical-retry-work.js +31 -0
  139. package/dist/src/evals/physical-retry-work.js.map +1 -0
  140. package/dist/src/evals/planned-execution-support.js +22 -10
  141. package/dist/src/evals/planned-execution-support.js.map +1 -1
  142. package/dist/src/evals/planned-execution.js +120 -112
  143. package/dist/src/evals/planned-execution.js.map +1 -1
  144. package/dist/src/evals/planned-progress-publisher.js +62 -0
  145. package/dist/src/evals/planned-progress-publisher.js.map +1 -0
  146. package/dist/src/evals/planned-retry-execution.js +174 -0
  147. package/dist/src/evals/planned-retry-execution.js.map +1 -0
  148. package/dist/src/evals/planned-retry-lifecycle.js +4 -2
  149. package/dist/src/evals/planned-retry-lifecycle.js.map +1 -1
  150. package/dist/src/evals/preparation-rerun.js +225 -0
  151. package/dist/src/evals/preparation-rerun.js.map +1 -0
  152. package/dist/src/evals/progress.js +48 -8
  153. package/dist/src/evals/progress.js.map +1 -1
  154. package/dist/src/evals/recovery.js +54 -4
  155. package/dist/src/evals/recovery.js.map +1 -1
  156. package/dist/src/evals/regrade-evidence.js +77 -0
  157. package/dist/src/evals/regrade-evidence.js.map +1 -0
  158. package/dist/src/evals/remote-infrastructure-retry.js +84 -18
  159. package/dist/src/evals/remote-infrastructure-retry.js.map +1 -1
  160. package/dist/src/evals/request.js +21 -3
  161. package/dist/src/evals/request.js.map +1 -1
  162. package/dist/src/evals/rerun-inputs.js +73 -0
  163. package/dist/src/evals/rerun-inputs.js.map +1 -1
  164. package/dist/src/evals/rerun-types.js +2 -6
  165. package/dist/src/evals/rerun-types.js.map +1 -1
  166. package/dist/src/evals/rerun.js +30 -74
  167. package/dist/src/evals/rerun.js.map +1 -1
  168. package/dist/src/evals/result-helpers.js +13 -0
  169. package/dist/src/evals/result-helpers.js.map +1 -1
  170. package/dist/src/evals/retry-backoff.js +20 -0
  171. package/dist/src/evals/retry-backoff.js.map +1 -0
  172. package/dist/src/evals/retry-state.js +195 -0
  173. package/dist/src/evals/retry-state.js.map +1 -0
  174. package/dist/src/evals/scheduler-metrics.js +95 -0
  175. package/dist/src/evals/scheduler-metrics.js.map +1 -0
  176. package/dist/src/evals/scheduler-trace-replay.js +107 -0
  177. package/dist/src/evals/scheduler-trace-replay.js.map +1 -0
  178. package/dist/src/evals/service.js +87 -138
  179. package/dist/src/evals/service.js.map +1 -1
  180. package/dist/src/evals/trial-import.js +47 -50
  181. package/dist/src/evals/trial-import.js.map +1 -1
  182. package/dist/src/evals/trial-publication-recovery.js +45 -5
  183. package/dist/src/evals/trial-publication-recovery.js.map +1 -1
  184. package/dist/src/evals/trial-reference-validation.js +49 -0
  185. package/dist/src/evals/trial-reference-validation.js.map +1 -0
  186. package/dist/src/evals/verifier-artifacts.js +317 -0
  187. package/dist/src/evals/verifier-artifacts.js.map +1 -0
  188. package/dist/src/evals/verifier-eligibility.js +25 -0
  189. package/dist/src/evals/verifier-eligibility.js.map +1 -0
  190. package/dist/src/evals/verifier-only-rerun.js +210 -0
  191. package/dist/src/evals/verifier-only-rerun.js.map +1 -0
  192. package/dist/src/evals/verifier-runtime.js +61 -0
  193. package/dist/src/evals/verifier-runtime.js.map +1 -0
  194. package/dist/src/evals/verifier-score-artifacts.js +119 -0
  195. package/dist/src/evals/verifier-score-artifacts.js.map +1 -0
  196. package/dist/src/foundation/contained-file.js +85 -0
  197. package/dist/src/foundation/contained-file.js.map +1 -0
  198. package/dist/src/foundation/credential-redaction.js +26 -1
  199. package/dist/src/foundation/credential-redaction.js.map +1 -1
  200. package/dist/src/foundation/fs.js +2 -1
  201. package/dist/src/foundation/fs.js.map +1 -1
  202. package/dist/src/foundation/index.js +2 -1
  203. package/dist/src/foundation/index.js.map +1 -1
  204. package/dist/src/runs/adapter-process.js +12 -0
  205. package/dist/src/runs/adapter-process.js.map +1 -0
  206. package/dist/src/runs/executor.js +24 -30
  207. package/dist/src/runs/executor.js.map +1 -1
  208. package/dist/src/runs/finalizer.js +17 -0
  209. package/dist/src/runs/finalizer.js.map +1 -1
  210. package/dist/src/runs/index.js +5 -0
  211. package/dist/src/runs/index.js.map +1 -1
  212. package/dist/src/runs/phase-bundle.js +86 -0
  213. package/dist/src/runs/phase-bundle.js.map +1 -0
  214. package/dist/src/runs/phase-cancellation.js +107 -0
  215. package/dist/src/runs/phase-cancellation.js.map +1 -0
  216. package/dist/src/runs/phase-group.js +113 -0
  217. package/dist/src/runs/phase-group.js.map +1 -0
  218. package/dist/src/runs/query.js +1 -1
  219. package/dist/src/runs/query.js.map +1 -1
  220. package/dist/src/runs/records.js +3 -0
  221. package/dist/src/runs/records.js.map +1 -1
  222. package/dist/src/runs/request.js +4 -2
  223. package/dist/src/runs/request.js.map +1 -1
  224. package/dist/src/runs/verifier-evidence-redaction.js +61 -0
  225. package/dist/src/runs/verifier-evidence-redaction.js.map +1 -0
  226. package/dist/src/runs/verifier-evidence.js +459 -0
  227. package/dist/src/runs/verifier-evidence.js.map +1 -0
  228. package/dist/src/runs/verifier-structured-evidence.js +83 -0
  229. package/dist/src/runs/verifier-structured-evidence.js.map +1 -0
  230. package/dist/src/trajectories/analysis.js +288 -0
  231. package/dist/src/trajectories/analysis.js.map +1 -0
  232. package/dist/src/trajectories/chunk-projection.js +148 -0
  233. package/dist/src/trajectories/chunk-projection.js.map +1 -0
  234. package/dist/src/trajectories/content-projection.js +389 -0
  235. package/dist/src/trajectories/content-projection.js.map +1 -0
  236. package/dist/src/trajectories/dsh-chunk-contract.js +176 -0
  237. package/dist/src/trajectories/dsh-chunk-contract.js.map +1 -0
  238. package/dist/src/trajectories/dsh-contract.js +284 -0
  239. package/dist/src/trajectories/dsh-contract.js.map +1 -0
  240. package/dist/src/trajectories/events-chunk-drill.js +95 -0
  241. package/dist/src/trajectories/events-chunk-drill.js.map +1 -0
  242. package/dist/src/trajectories/events-page.js +367 -0
  243. package/dist/src/trajectories/events-page.js.map +1 -0
  244. package/dist/src/trajectories/index.js +3 -0
  245. package/dist/src/trajectories/index.js.map +1 -1
  246. package/dist/src/trajectories/request-attempt.js +47 -0
  247. package/dist/src/trajectories/request-attempt.js.map +1 -0
  248. package/dist/src/trajectories/stream-reader.js +311 -0
  249. package/dist/src/trajectories/stream-reader.js.map +1 -0
  250. package/dist/src/trajectories/surface-fold.js +126 -0
  251. package/dist/src/trajectories/surface-fold.js.map +1 -0
  252. package/dist/src/workers/remote-harbor-worker.js +3 -0
  253. package/dist/src/workers/remote-harbor-worker.js.map +1 -1
  254. package/docs/schemas/benchmark-hook-request-v1.schema.json +65 -0
  255. package/docs/schemas/benchmark-hook-response-v1.schema.json +75 -0
  256. package/docs/schemas/benchmark-hook-v1.schema.json +33 -0
  257. package/docs/schemas/benchmark-lock-v1.schema.json +351 -0
  258. package/docs/schemas/benchmark-metric-v1.schema.json +37 -0
  259. package/docs/schemas/benchmark-package-v1.schema.json +167 -0
  260. package/docs/schemas/benchmark-phase-group.schema.json +41 -0
  261. package/docs/schemas/benchmark-profile-v1.schema.json +141 -0
  262. package/docs/schemas/benchmark-task-v1.schema.json +384 -0
  263. package/docs/schemas/benchmark-tool-result-v1.schema.json +30 -0
  264. package/docs/schemas/error.schema.json +22 -0
  265. package/docs/schemas/eval-progress.schema.json +1 -15
  266. package/docs/schemas/eval-rerun-result.schema.json +6 -1
  267. package/docs/schemas/eval-rerun-submission.schema.json +3 -1
  268. package/docs/schemas/eval-result.schema.json +1 -15
  269. package/docs/schemas/eval-trial-publication.schema.json +1 -25
  270. package/docs/schemas/eval-trial-reference.schema.json +129 -0
  271. package/docs/schemas/regrade-assessment-reference.schema.json +11 -0
  272. package/docs/schemas/run-context.schema.json +15 -0
  273. package/docs/schemas/run-manifest.schema.json +4 -0
  274. package/docs/schemas/run-request.schema.json +4 -0
  275. package/docs/schemas/trajectory-analysis.schema.json +258 -0
  276. package/docs/schemas/trajectory-events-page.schema.json +40 -0
  277. package/docs/schemas/verifier-assessment.schema.json +77 -0
  278. package/docs/schemas/verifier-evidence.schema.json +276 -0
  279. package/integrations/harbor/hitch_benchmark.py +252 -0
  280. package/integrations/harbor/hitch_candidate_recycle.py +262 -0
  281. package/integrations/harbor/hitch_harbor_agent.py +666 -68
  282. package/integrations/harbor/hitch_harbor_environment.py +138 -0
  283. package/integrations/harbor/hitch_harbor_verifier.py +60 -2
  284. package/integrations/harbor/hitch_phase_supervisor.py +452 -0
  285. package/integrations/harbor/hitch_tool_client.mjs +91 -0
  286. package/integrations/model-call/cli.js +57 -0
  287. package/package.json +17 -6
@@ -7,14 +7,13 @@ import { ensureControllerRuntime, writeRuntimeReference } from "../controller-ru
7
7
  import { importEvalTrialRun, importEvalTrialRuns, TrialBundlePendingError, validateEvalTrialReferences } from "./trial-import.js";
8
8
  import { EvalEventSink } from "./events.js";
9
9
  import { createEvalProgress, mergeEvalProgressTrial, writeEvalProgress } from "./progress.js";
10
- import { infrastructureFailureTrials, runInfrastructureRetries } from "./infrastructure-retry.js";
10
+ import { runInfrastructureRetries } from "./infrastructure-retry.js";
11
11
  import { newEvalId, resolveLocalDatasetTaskIds, validateEvalId, validateEvalRequest } from "./request.js";
12
- import { invalidTrialSlots } from "./rerun-slots.js";
13
12
  import { prepareEvalDirectory } from "./directory.js";
14
13
  import { buildEvalExecutionPlan, DEFAULT_EVAL_TRIAL_RESOURCES } from "./execution-plan.js";
15
14
  import { planLocalEvalInputs } from "./local-eval-planning.js";
16
15
  import { resolvedImageMapping } from "./environment-image-planning.js";
17
- import { assertBackendTrialSet, attemptDirectoryName, localSourceBackendFailure, summarizeTrialRefs, transportSummary } from "./result-helpers.js";
16
+ import { assertBackendTrialSet, attemptDirectoryName, localSourceBackendFailure, transportSummary } from "./result-helpers.js";
18
17
  import { executePlannedHarborTasks } from "./planned-execution.js";
19
18
  import { assertEvalResumeState, executionPlanWorkState, loadEvalResumeState } from "./resume-state.js";
20
19
  import { modelCaptureDegradationEvent, resolveEvalModelCapturePlan } from "./model-capture-plan.js";
@@ -25,7 +24,11 @@ import { prepareEvalArtifactAssignments, preparedArtifactPlanFields } from "./ev
25
24
  import { startEvalModelCaptureRuntime } from "./model-capture-runtime.js";
26
25
  import { recoverPromotedEvalTrialPublications } from "./trial-publication-recovery.js";
27
26
  import { emitEvalPlanLifecycle } from "./eval-lifecycle-events.js";
28
- export async function runEval({ evalId = newEvalId(), request, root, env = process.env, harborExecutable, signal, onEvent, trialBundleGraceMs, precreated = false, normalizedRequest, maxConcurrentOverride, executionResources, executionResourceSource = "operator-default", executionStrategy = "legacy-attempt-shards", executionWorker, modelCapturePlan, workItemAdmission, remoteWorkExecutor, resumeExisting = false, onControlPhase, onWorkItemState, dockerResourceReaper, environmentBuildMode = "backend", environmentImageResolver, environmentImageBuilder, environmentImageManifestLoader, harborArtifactBuilder }) {
27
+ import { materializeEvalPlan, writeEvalPlanningCheckpoint } from "./eval-logical-plan.js";
28
+ import { planTaskSchedulingHints, schedulingHintsFromPlan } from "./duration-estimator.js";
29
+ import { buildCompletedEvalResult } from "./eval-result-builder.js";
30
+ import { loadBenchmarkAdapterManifest } from "./benchmark-adapter-manifest.js";
31
+ export async function runEval({ evalId = newEvalId(), request, root, env = process.env, harborExecutable, signal, onEvent, trialBundleGraceMs, precreated = false, replaceTerminal = false, normalizedRequest, maxConcurrentOverride, executionResources, executionResourceSource = "operator-default", executionStrategy = "legacy-attempt-shards", executionWorker, modelCapturePlan, workItemAdmission, remoteWorkExecutor, resumeExisting = false, onControlPhase, onWorkItemState, onWorkItemQueued, evolutionBaselineDurations, dockerResourceReaper, environmentBuildMode = "backend", environmentImageResolver, environmentImageBuilder, environmentImageManifestLoader, harborArtifactBuilder }) {
29
32
  if (!root)
30
33
  throw invalidInput("a Hitch state root is required for eval");
31
34
  evalId = validateEvalId(evalId);
@@ -35,14 +38,16 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
35
38
  }
36
39
  const normalized = maxConcurrentOverride === undefined ? persistedRequest : { ...persistedRequest, max_concurrent: maxConcurrentOverride };
37
40
  const evalsDirectory = await ensureDir(statePaths(root).evals);
38
- const evalDirectory = await prepareEvalDirectory({ evalsDirectory, evalId, request: persistedRequest, precreated });
41
+ const evalDirectory = await prepareEvalDirectory({ evalsDirectory, evalId, request: persistedRequest, precreated, replaceTerminal });
39
42
  let startedAt = new Date();
40
43
  const sink = new EvalEventSink(evalDirectory, evalId, onEvent);
41
44
  await sink.open();
42
45
  let result;
43
46
  let trialRefs = [];
44
47
  let progress = null;
48
+ let schedulerSummary;
45
49
  let captureRuntime;
50
+ let failureStage = "planning";
46
51
  try {
47
52
  const planningStartedAt = Date.now();
48
53
  sink.emit({ type: "eval.started", backend: normalized.backend, dataset: normalized.dataset });
@@ -50,6 +55,7 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
50
55
  await onControlPhase?.("planning");
51
56
  const requestedReference = parseHarnessReference(normalized.harness_ref);
52
57
  const resolvedRevision = await resolveHarness(normalized.harness_ref, { root, env });
58
+ failureStage = "preparing";
53
59
  await onControlPhase?.("preparing");
54
60
  let localTransport;
55
61
  if (resolvedRevision.source.type === "git" && resolvedRevision.source.registered !== true) {
@@ -84,16 +90,11 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
84
90
  reference: runtimeRefFile,
85
91
  });
86
92
  const localTaskIds = await resolveLocalDatasetTaskIds(normalized.dataset);
93
+ const standardDataset = localTaskIds !== null && await loadBenchmarkAdapterManifest(normalized.dataset) !== null;
87
94
  const resume = resumeExisting ? await loadEvalResumeState(evalDirectory) : null;
88
95
  await withEnvironmentImageReferenceLock(root, () => beginEvalEnvironmentImagePlanning(evalDirectory, evalId));
89
96
  const localPlanning = await planLocalEvalInputs({ root, dataset: normalized.dataset, taskIds: localTaskIds, defaultResources: executionResources ?? DEFAULT_EVAL_TRIAL_RESOURCES, defaultSource: executionResourceSource, benchmarkId: normalized.benchmark_id, benchmarkRevision: normalized.benchmark_revision, buildMode: environmentBuildMode, harborTaskResourceInspector: path.join(controllerRuntime.directory, "payload", "integrations", "harbor", "hitch_harbor_task_resources.py"), ...(environmentImageResolver ? { resolver: environmentImageResolver } : {}), ...(environmentImageBuilder ? { builder: environmentImageBuilder } : {}), ...(resume ? { resumePlan: resume.executionPlan } : {}), ...(harborExecutable ? { harborExecutable } : {}), env, ...(signal ? { signal } : {}) });
90
97
  await withEnvironmentImageReferenceLock(root, () => writeEvalEnvironmentImageReferences(evalDirectory, evalId, localPlanning.environmentImages));
91
- const selectedArtifactBuilder = harborArtifactBuilder ?? (env.NODE_ENV === "test" && env.HITCH_TEST_HOST_ARTIFACT_BUILDER === "1" ? prepareHostHarborArtifactForTest : prepareHarborArtifact);
92
- const prepared = await prepareEvalArtifactAssignments({ builder: selectedArtifactBuilder, root, resolvedRevision, requestedReference, controllerRuntime, ...(localTransport ? { localTransport } : {}), taskRuntimeContracts: localPlanning.taskRuntimeContracts, sink, env, ...(signal ? { signal } : {}) });
93
- const preparedAssignments = prepared.assignments;
94
- const preparedArtifact = prepared.primary;
95
- const preparedArtifacts = prepared.artifactsById;
96
- const multipleRuntimeContracts = preparedAssignments.length > 1;
97
98
  const taskResources = localPlanning.taskResources;
98
99
  const plannedTasks = localTaskIds?.length ?? null;
99
100
  const plannedTrials = plannedTasks === null ? null : plannedTasks * normalized.attempts;
@@ -102,26 +103,18 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
102
103
  if (resume)
103
104
  startedAt = new Date(resume.progress.started_at);
104
105
  const capture = resolveEvalModelCapturePlan({ requested: modelCapturePlan, resumed: resume?.executionPlan.model_capture, resuming: Boolean(resume) });
105
- const activeCaptureRuntime = await startEvalModelCaptureRuntime({ plan: capture.plan, evalId, evalDirectory, env });
106
- captureRuntime = activeCaptureRuntime;
107
- capture.plan = activeCaptureRuntime.plan;
108
- const plan = {
106
+ const multipleRuntimeContracts = localPlanning.taskRuntimeContracts.length > 1;
107
+ const logicalPlan = {
109
108
  schema_version: SCHEMA_VERSION,
109
+ kind: "eval-logical-plan",
110
110
  eval_id: evalId,
111
111
  backend: "harbor",
112
- candidate: {
113
- id: "candidate-1",
114
- requested_harness_ref: normalized.harness_ref,
115
- harness_ref: lockedHarnessRef(resolvedRevision),
116
- harness_id: resolvedRevision.harness_id,
117
- revision_identity: resolvedRevision.identity,
118
- model: normalized.model || null,
119
- },
112
+ candidate: { id: "candidate-1", requested_harness_ref: normalized.harness_ref, harness_ref: lockedHarnessRef(resolvedRevision), harness_id: resolvedRevision.harness_id, revision_identity: resolvedRevision.identity, model: normalized.model || null },
120
113
  dataset: normalized.dataset,
121
114
  benchmark_id: normalized.benchmark_id,
122
115
  benchmark_revision: normalized.benchmark_revision,
123
116
  attempts: normalized.attempts,
124
- attempt_execution: (executionStrategy === "local-task-slots-v1" || multipleRuntimeContracts) && localTaskIds !== null
117
+ attempt_execution: (executionStrategy === "local-task-slots-v1" || multipleRuntimeContracts || standardDataset) && localTaskIds !== null
125
118
  ? "harbor-task-slots-v1"
126
119
  : "harbor-attempt-shards-v1",
127
120
  max_concurrent: normalized.max_concurrent,
@@ -129,14 +122,49 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
129
122
  infrastructure_retries: normalized.infrastructure_retries,
130
123
  infrastructure_retry_backoff_ms: normalized.infrastructure_retry_backoff_ms,
131
124
  ...(localTaskIds === null ? {} : { tasks: localTaskIds }),
132
- controller_runtime: {
133
- runtime_id: controllerRuntime.runtime_id,
134
- manifest_digest: controllerRuntime.manifest_digest,
135
- },
136
- ...preparedArtifactPlanFields(preparedAssignments),
125
+ controller_runtime: { runtime_id: controllerRuntime.runtime_id, manifest_digest: controllerRuntime.manifest_digest },
137
126
  ...(localTransport ? { local_source_transport: transportSummary(localTransport) } : {}),
138
127
  created_at: typeof resume?.plan.created_at === "string" ? resume.plan.created_at : new Date().toISOString(),
139
128
  };
129
+ progress = resume?.progress ?? createEvalProgress({
130
+ evalId,
131
+ benchmarkId: normalized.benchmark_id,
132
+ benchmarkRevision: normalized.benchmark_revision,
133
+ plannedTasks,
134
+ plannedTrials,
135
+ startedAt: startedAt.toISOString(),
136
+ });
137
+ if (!resume)
138
+ await Promise.all([
139
+ atomicWriteJSON(path.join(evalDirectory, "resolution.json"), resolvedRevision),
140
+ writeEvalPlanningCheckpoint(evalDirectory, logicalPlan, progress),
141
+ ]);
142
+ const selectedArtifactBuilder = harborArtifactBuilder ?? (env.NODE_ENV === "test" && env.HITCH_TEST_HOST_ARTIFACT_BUILDER === "1" ? prepareHostHarborArtifactForTest : prepareHarborArtifact);
143
+ const prepared = await prepareEvalArtifactAssignments({ builder: selectedArtifactBuilder, root, resolvedRevision, requestedReference, controllerRuntime, ...(localTransport ? { localTransport } : {}), taskRuntimeContracts: localPlanning.taskRuntimeContracts, sink, env, ...(signal ? { signal } : {}) });
144
+ const preparedAssignments = prepared.assignments;
145
+ const preparedArtifact = prepared.primary;
146
+ const preparedArtifacts = prepared.artifactsById;
147
+ const activeCaptureRuntime = await startEvalModelCaptureRuntime({ plan: capture.plan, evalId, evalDirectory, env });
148
+ captureRuntime = activeCaptureRuntime;
149
+ capture.plan = activeCaptureRuntime.plan;
150
+ const plan = materializeEvalPlan(logicalPlan, capture.persist ? capture.plan : undefined, preparedArtifactPlanFields(preparedAssignments));
151
+ const taskSlotPlanning = (executionStrategy === "local-task-slots-v1" || multipleRuntimeContracts || standardDataset) && localTaskIds !== null;
152
+ const taskScheduling = taskSlotPlanning
153
+ ? resume
154
+ ? schedulingHintsFromPlan(resume.executionPlan)
155
+ : await planTaskSchedulingHints({
156
+ root,
157
+ dataset: normalized.dataset,
158
+ taskIds: localTaskIds,
159
+ benchmarkId: normalized.benchmark_id,
160
+ benchmarkRevision: normalized.benchmark_revision,
161
+ provider: executionWorker?.provider ?? "local-docker",
162
+ model: normalized.model,
163
+ requestTimeoutMs: normalized.timeout_ms,
164
+ infrastructureRetries: normalized.infrastructure_retries,
165
+ ...(evolutionBaselineDurations ? { evolutionBaselineDurations } : {}),
166
+ })
167
+ : undefined;
140
168
  const expectedExecutionPlan = buildEvalExecutionPlan({
141
169
  evalId,
142
170
  request: normalized,
@@ -161,14 +189,14 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
161
189
  ...(localPlanning.environmentImageFallbacks.length > 0 ? { environmentImageFallbacks: localPlanning.environmentImageFallbacks } : {}),
162
190
  ...(executionWorker ? { provider: executionWorker.provider } : {}),
163
191
  modelCapture: capture.persist ? capture.plan : null,
164
- ...((executionStrategy === "local-task-slots-v1" || multipleRuntimeContracts) && localTaskIds !== null ? { workItemMode: "task-slots" } : {}),
165
- createdAt: plan.created_at,
192
+ ...(taskSlotPlanning ? { workItemMode: "task-slots" } : {}),
193
+ ...(taskScheduling ? { taskScheduling } : {}),
194
+ createdAt: logicalPlan.created_at,
166
195
  });
167
196
  if (resume)
168
197
  assertEvalResumeState({ state: resume, expectedPlan: plan, expectedExecutionPlan, expectedResolutionIdentity: resolvedRevision.identity, plannedTasks, plannedTrials });
169
198
  else
170
199
  await Promise.all([
171
- atomicWriteJSON(path.join(evalDirectory, "resolution.json"), resolvedRevision),
172
200
  atomicWriteJSON(path.join(evalDirectory, "plan.json"), plan),
173
201
  atomicWriteJSON(path.join(evalDirectory, "execution-plan.json"), expectedExecutionPlan),
174
202
  ]);
@@ -176,17 +204,7 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
176
204
  const captureDegradation = modelCaptureDegradationEvent(executionPlan.model_capture);
177
205
  if (captureDegradation)
178
206
  sink.emit(captureDegradation);
179
- progress = resume?.progress ?? createEvalProgress({
180
- evalId,
181
- benchmarkId: normalized.benchmark_id,
182
- benchmarkRevision: normalized.benchmark_revision,
183
- plannedTasks,
184
- plannedTrials,
185
- startedAt: startedAt.toISOString(),
186
- });
187
- if (!resume)
188
- await writeEvalProgress(evalDirectory, progress);
189
- else
207
+ if (resume)
190
208
  progress = (await recoverPromotedEvalTrialPublications({ root, evalDirectory, plan: executionPlan, progress, sink })).progress;
191
209
  sink.emit({
192
210
  type: "eval.planned",
@@ -198,7 +216,18 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
198
216
  work_items: executionPlan.work_items.length,
199
217
  membership: executionPlan.membership,
200
218
  });
219
+ sink.emit({
220
+ type: "eval.execution-strategy.verified",
221
+ execution_strategy: taskSlotPlanning ? "local-task-slots-v1" : "legacy-attempt-shards",
222
+ attempt_execution: plan.attempt_execution,
223
+ controller_runtime_id: controllerRuntime.runtime_id,
224
+ harness_revision_identity: resolvedRevision.identity,
225
+ membership: executionPlan.membership,
226
+ planned_trials: plannedTrials,
227
+ work_items: executionPlan.work_items.length,
228
+ });
201
229
  emitEvalPlanLifecycle(sink, executionPlan, planningStartedAt);
230
+ failureStage = "running";
202
231
  await onControlPhase?.("running", executionPlanWorkState(executionPlan, progress));
203
232
  if (localTransport) {
204
233
  await verifyLocalGitTransport(localTransport, {
@@ -213,7 +242,7 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
213
242
  }
214
243
  const backendRuns = [];
215
244
  const infrastructureRetryRuns = [];
216
- const plannedTaskExecution = (executionStrategy === "local-task-slots-v1" || multipleRuntimeContracts) && localTaskIds !== null;
245
+ const plannedTaskExecution = (executionStrategy === "local-task-slots-v1" || multipleRuntimeContracts || standardDataset) && localTaskIds !== null;
217
246
  if (plannedTaskExecution) {
218
247
  const execution = await executePlannedHarborTasks({
219
248
  evalId,
@@ -239,6 +268,7 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
239
268
  },
240
269
  ...(workItemAdmission ? { admission: workItemAdmission } : {}),
241
270
  ...(onWorkItemState ? { onWorkItemState } : {}),
271
+ ...(onWorkItemQueued ? { onWorkItemQueued } : {}),
242
272
  ...(dockerResourceReaper ? { dockerResourceReaper } : {}),
243
273
  ...(environmentImageManifestLoader ? { environmentImageManifestLoader } : {}),
244
274
  ...(activeCaptureRuntime.exporter ? { interactionCaptureExporter: activeCaptureRuntime.exporter } : {}),
@@ -253,6 +283,7 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
253
283
  leaseId: entry.leaseId,
254
284
  })));
255
285
  infrastructureRetryRuns.push(...execution.infrastructureRetryRuns);
286
+ schedulerSummary = execution.schedulerSummary;
256
287
  }
257
288
  else
258
289
  for (let logicalAttempt = 1; logicalAttempt <= normalized.attempts; logicalAttempt += 1) {
@@ -326,7 +357,7 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
326
357
  benchmarkId: normalized.benchmark_id,
327
358
  benchmarkRevision: normalized.benchmark_revision,
328
359
  runtimeId: controllerRuntime.runtime_id,
329
- env,
360
+ env, ...(signal ? { signal } : {}),
330
361
  modelCapturePlan: activeCaptureRuntime.plan,
331
362
  ...(activeCaptureRuntime.exporter ? { interactionCaptureExporter: activeCaptureRuntime.exporter } : {}),
332
363
  requireCompleteMarker: true,
@@ -354,7 +385,7 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
354
385
  benchmarkId: normalized.benchmark_id,
355
386
  benchmarkRevision: normalized.benchmark_revision,
356
387
  runtimeId: controllerRuntime.runtime_id,
357
- env,
388
+ env, ...(signal ? { signal } : {}),
358
389
  modelCapturePlan: activeCaptureRuntime.plan,
359
390
  ...(activeCaptureRuntime.exporter ? { interactionCaptureExporter: activeCaptureRuntime.exporter } : {}),
360
391
  rawResult: backendRun.rawResult,
@@ -400,100 +431,17 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
400
431
  }
401
432
  if (progress === null)
402
433
  throw new Error("eval progress was not initialized");
434
+ failureStage = "finalizing";
403
435
  await onControlPhase?.("finalizing");
404
436
  trialRefs = progress.trials;
405
- const cancelled = signal?.aborted === true;
406
- const localSourceFailure = localTransport
407
- ? backendRuns.some(({ run }) => localSourceBackendFailure(run.rawResult))
408
- || infrastructureRetryRuns.some(({ run }) => localSourceBackendFailure(run.rawResult))
409
- : false;
410
- const expectedBackendRuns = plannedTaskExecution ? executionPlan.work_items.length : normalized.attempts;
411
- const backendsSucceeded = backendRuns.every(({ run }) => run.backend.process_exit_code === 0 && run.rawResult !== null)
412
- && (plannedTaskExecution ? progress.trials.length === plannedTrials : backendRuns.length === expectedBackendRuns);
413
- const invalidTrials = localTaskIds === null
414
- ? trialRefs.filter((trial) => trial.observation_status !== "valid").map((trial) => ({ task_id: trial.task_id, attempt: trial.attempt }))
415
- : invalidTrialSlots(localTaskIds, normalized.attempts, progress);
416
- const infrastructureFailures = infrastructureFailureTrials(trialRefs);
417
- const infrastructureFailureSlots = infrastructureFailures.map((trial) => ({ task_id: trial.task_id, attempt: trial.attempt }));
418
- const verifierRetriesExhausted = normalized.infrastructure_retries > 0 && infrastructureFailures.some((trial) => trial.invalid_reason === "verifier_infrastructure_failure");
419
- const infrastructureErrorCode = verifierRetriesExhausted || (normalized.infrastructure_retries > 0 && infrastructureRetryRuns.length > 0)
420
- ? "eval_infrastructure_retries_exhausted"
421
- : "eval_has_infrastructure_failures";
422
- const succeeded = !cancelled && !localSourceFailure && backendsSucceeded && invalidTrials.length === 0;
423
- const singleBackend = backendRuns.length === 1 ? backendRuns[0].run : undefined;
424
- result = {
425
- schema_version: SCHEMA_VERSION,
426
- eval_id: evalId,
427
- status: cancelled ? "cancelled" : succeeded ? "succeeded" : "failed",
428
- exit_code: cancelled ? 9 : succeeded ? 0 : 13,
429
- ...(singleBackend ? { backend: singleBackend.backend, backend_summary: singleBackend.summary } : {}),
430
- ...(plannedTaskExecution ? {
431
- backend_work_items: backendRuns.map(({ attempt, workId, tasks, leaseId, run }) => ({
432
- work_id: workId,
433
- lease_id: leaseId,
434
- attempt,
435
- tasks,
436
- backend: run.backend,
437
- backend_summary: run.summary,
438
- })),
439
- } : normalized.attempts > 1 ? {
440
- backend_runs: backendRuns.map(({ attempt, run }) => ({
441
- attempt,
442
- backend: run.backend,
443
- backend_summary: run.summary,
444
- })),
445
- } : {}),
446
- infrastructure_retry_policy: {
447
- max_retries: normalized.infrastructure_retries,
448
- backoff_ms: normalized.infrastructure_retry_backoff_ms,
449
- verifier_execution: "same_trial_verifier_only",
450
- candidate_rerun_on_verifier_failure: false,
451
- },
452
- ...(infrastructureRetryRuns.length > 0 ? {
453
- infrastructure_retry_runs: infrastructureRetryRuns.map(({ attempt, retry, tasks, triggers, refs, run, leaseId, workId }) => ({
454
- execution_kind: "physical-infrastructure-retry", ...(leaseId ? { lease_id: leaseId } : {}), ...(workId ? { work_id: workId } : {}), attempt,
455
- retry,
456
- tasks,
457
- trigger_trials: triggers,
458
- trials: refs,
459
- backend: run.backend,
460
- backend_summary: run.summary,
461
- })),
462
- } : {}),
463
- candidate: plan.candidate,
464
- dataset: normalized.dataset,
465
- benchmark_id: normalized.benchmark_id,
466
- benchmark_revision: normalized.benchmark_revision,
467
- generation: progress.generation,
468
- trials: trialRefs,
469
- summary: summarizeTrialRefs(trialRefs),
470
- ...preparedArtifactPlanFields(preparedAssignments),
471
- ...(localTransport ? { local_source_transport: transportSummary(localTransport) } : {}),
472
- ...(succeeded ? {} : {
473
- error: {
474
- code: cancelled
475
- ? "cancelled"
476
- : localSourceFailure
477
- ? "local_source_materialize_failed"
478
- : !backendsSucceeded
479
- ? "harbor_failed"
480
- : infrastructureFailures.length > 0
481
- ? infrastructureErrorCode
482
- : "eval_has_invalid_tasks",
483
- message: cancelled
484
- ? "eval was cancelled"
485
- : localSourceFailure
486
- ? "Harbor rejected the transported local Git source before candidate execution"
487
- : !backendsSucceeded
488
- ? `Harbor work items completed ${backendRuns.length}/${expectedBackendRuns}`
489
- : infrastructureFailures.length > 0
490
- ? `${infrastructureErrorCode === "eval_infrastructure_retries_exhausted" ? "infrastructure retries exhausted" : "verifier infrastructure failure"}: ${infrastructureFailureSlots.map(trial => `${trial.task_id}#${trial.attempt}`).join(", ")}`
491
- : `eval has invalid or missing trials: ${invalidTrials.map(trial => `${trial.task_id}#${trial.attempt}`).join(", ")}`,
492
- },
493
- }),
494
- started_at: startedAt.toISOString(),
495
- completed_at: new Date().toISOString(),
496
- };
437
+ result = buildCompletedEvalResult({
438
+ evalId, request: normalized, plannedTaskExecution, plannedTrials,
439
+ executionWorkItems: executionPlan.work_items.length, localTaskIds, backendRuns,
440
+ infrastructureRetryRuns, candidate: plan.candidate, progress,
441
+ ...(schedulerSummary ? { schedulerSummary } : {}), preparedAssignments,
442
+ ...(localTransport ? { localTransport } : {}), startedAt,
443
+ cancelled: signal?.aborted === true,
444
+ });
497
445
  }
498
446
  catch (error) {
499
447
  trialRefs = progress?.trials ?? trialRefs;
@@ -507,6 +455,7 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
507
455
  code: signal?.aborted ? "cancelled" : typed ? error.code : "internal_error",
508
456
  message: safeDiagnosticMessage(error, credentialValuesFromEnv(normalized.pass_env, env)),
509
457
  },
458
+ failure_stage: failureStage,
510
459
  benchmark_id: normalized.benchmark_id,
511
460
  benchmark_revision: normalized.benchmark_revision,
512
461
  ...(progress === null ? {} : { generation: progress.generation }),
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/evals/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/evals/service.ts"],"names":[],"mappings":"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"}