agent-hitch 0.2.4 → 0.2.6

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 (36) hide show
  1. package/dist/src/adapters/providers/deepseek.js +3 -1
  2. package/dist/src/adapters/providers/deepseek.js.map +1 -1
  3. package/dist/src/adapters/providers/shared.js +3 -2
  4. package/dist/src/adapters/providers/shared.js.map +1 -1
  5. package/dist/src/backends/harbor/backend.js +21 -5
  6. package/dist/src/backends/harbor/backend.js.map +1 -1
  7. package/dist/src/backends/harbor/verifier-config.js +11 -0
  8. package/dist/src/backends/harbor/verifier-config.js.map +1 -0
  9. package/dist/src/cli/arguments.js +14 -0
  10. package/dist/src/cli/arguments.js.map +1 -1
  11. package/dist/src/cli/output.js +4 -1
  12. package/dist/src/cli/output.js.map +1 -1
  13. package/dist/src/evals/harbor-bridge-error.js +65 -0
  14. package/dist/src/evals/harbor-bridge-error.js.map +1 -0
  15. package/dist/src/evals/index.js +2 -2
  16. package/dist/src/evals/index.js.map +1 -1
  17. package/dist/src/evals/infrastructure-retry.js +181 -0
  18. package/dist/src/evals/infrastructure-retry.js.map +1 -0
  19. package/dist/src/evals/progress.js +3 -0
  20. package/dist/src/evals/progress.js.map +1 -1
  21. package/dist/src/evals/request.js +14 -1
  22. package/dist/src/evals/request.js.map +1 -1
  23. package/dist/src/evals/rerun-slots.js +103 -0
  24. package/dist/src/evals/rerun-slots.js.map +1 -0
  25. package/dist/src/evals/rerun.js +167 -148
  26. package/dist/src/evals/rerun.js.map +1 -1
  27. package/dist/src/evals/service.js +196 -84
  28. package/dist/src/evals/service.js.map +1 -1
  29. package/dist/src/evals/trial-import.js +52 -36
  30. package/dist/src/evals/trial-import.js.map +1 -1
  31. package/dist/src/evals/verifier-diagnostics.js +235 -0
  32. package/dist/src/evals/verifier-diagnostics.js.map +1 -0
  33. package/docs/schemas/eval-request.schema.json +2 -0
  34. package/integrations/harbor/hitch_harbor_agent.py +389 -40
  35. package/integrations/harbor/hitch_harbor_verifier.py +314 -0
  36. package/package.json +3 -2
@@ -8,7 +8,9 @@ import { ensureControllerRuntime, writeRuntimeReference } from "../controller-ru
8
8
  import { importEvalTrialRun, importEvalTrialRuns, TrialBundlePendingError, validateEvalTrialReferences } from "./trial-import.js";
9
9
  import { EvalEventSink } from "./events.js";
10
10
  import { createEvalProgress, mergeEvalProgressTrial, writeEvalProgress } from "./progress.js";
11
+ import { infrastructureFailureTrials, runInfrastructureRetries } from "./infrastructure-retry.js";
11
12
  import { newEvalId, resolveLocalDatasetTaskIds, validateEvalId, validateEvalRequest } from "./request.js";
13
+ import { invalidTrialSlots } from "./rerun-slots.js";
12
14
  export async function runEval({ evalId = newEvalId(), request, root, env = process.env, harborExecutable, signal, onEvent, trialBundleGraceMs }) {
13
15
  if (!root)
14
16
  throw invalidInput("a Hitch state root is required for eval");
@@ -133,7 +135,10 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
133
135
  benchmark_id: normalized.benchmark_id,
134
136
  benchmark_revision: normalized.benchmark_revision,
135
137
  attempts: normalized.attempts,
138
+ attempt_execution: "harbor-attempt-shards-v1",
136
139
  max_concurrent: normalized.max_concurrent,
140
+ infrastructure_retries: normalized.infrastructure_retries,
141
+ infrastructure_retry_backoff_ms: normalized.infrastructure_retry_backoff_ms,
137
142
  ...(localTaskIds === null ? {} : { tasks: localTaskIds }),
138
143
  controller_runtime: {
139
144
  runtime_id: controllerRuntime.runtime_id,
@@ -173,95 +178,190 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
173
178
  ...(signal ? { signal } : {}),
174
179
  });
175
180
  }
176
- const backendRun = await runHarborBackend({
177
- evalId,
178
- evalDirectory,
179
- request: normalized,
180
- root,
181
- resolvedRevision,
182
- runtimeDirectory: controllerRuntime.directory,
183
- runtimeId: controllerRuntime.runtime_id,
184
- preparedArtifact,
185
- ...(localTransport ? { localTransport } : {}),
186
- env,
187
- ...(harborExecutable !== undefined ? { harborExecutable } : {}),
188
- ...(signal ? { signal } : {}),
189
- ...(trialBundleGraceMs === undefined ? {} : { trialBundleGraceMs }),
190
- emit: (event) => sink.emit(event),
191
- onTrialSettled: async (trial, context) => {
192
- try {
193
- const ref = await importEvalTrialRun({
194
- root,
195
- evalId,
196
- evalDirectory,
197
- request: normalized,
198
- resolvedRevision,
199
- benchmarkId: normalized.benchmark_id,
200
- benchmarkRevision: normalized.benchmark_revision,
201
- runtimeId: controllerRuntime.runtime_id,
202
- requireCompleteMarker: true,
203
- allowMissingBundleDiagnostic: context.bundleWaitExpired,
204
- }, trial, progress?.trials.length ?? 0, progress?.trials ?? []);
205
- if (progress === null)
206
- throw new Error("eval progress was not initialized");
207
- const previousGeneration = progress.generation;
208
- progress = mergeEvalProgressTrial(progress, ref);
209
- if (progress.generation !== previousGeneration) {
210
- await validateEvalTrialReferences(root, evalId, [ref], {
181
+ const backendRuns = [];
182
+ const infrastructureRetryRuns = [];
183
+ for (let logicalAttempt = 1; logicalAttempt <= normalized.attempts; logicalAttempt += 1) {
184
+ if (signal?.aborted)
185
+ break;
186
+ const backendDirectory = normalized.attempts === 1
187
+ ? path.join(evalDirectory, "harbor")
188
+ : path.join(evalDirectory, "harbor", attemptDirectoryName(logicalAttempt));
189
+ const harborJobDirectory = path.join(backendDirectory, "job");
190
+ const shardRefs = [];
191
+ const publish = async (ref) => {
192
+ if (ref.attempt !== logicalAttempt) {
193
+ throw new HitchError(`Harbor returned attempt ${ref.attempt}, expected ${logicalAttempt}`, {
194
+ code: "eval_trial_attempt_mismatch",
195
+ exitCode: 12,
196
+ });
197
+ }
198
+ if (!shardRefs.some((current) => current.trial_id === ref.trial_id))
199
+ shardRefs.push(ref);
200
+ if (progress === null)
201
+ throw new Error("eval progress was not initialized");
202
+ const previousGeneration = progress.generation;
203
+ progress = mergeEvalProgressTrial(progress, ref);
204
+ if (progress.generation === previousGeneration)
205
+ return;
206
+ await validateEvalTrialReferences(root, evalId, [ref], {
207
+ benchmarkId: normalized.benchmark_id,
208
+ benchmarkRevision: normalized.benchmark_revision,
209
+ });
210
+ await writeEvalProgress(evalDirectory, progress);
211
+ sink.emit({
212
+ type: "eval.trial.published",
213
+ trial_id: ref.trial_id,
214
+ task_id: ref.task_id,
215
+ attempt: ref.attempt,
216
+ run_id: ref.run_id,
217
+ observation_status: ref.observation_status,
218
+ settled_trials: progress.trials.length,
219
+ generation: progress.generation,
220
+ });
221
+ };
222
+ const backendRun = await runHarborBackend({
223
+ evalId,
224
+ evalDirectory,
225
+ backendDirectory,
226
+ logicalAttempt,
227
+ request: { ...normalized, attempts: 1 },
228
+ root,
229
+ resolvedRevision,
230
+ runtimeDirectory: controllerRuntime.directory,
231
+ runtimeId: controllerRuntime.runtime_id,
232
+ preparedArtifact,
233
+ ...(localTransport ? { localTransport } : {}),
234
+ env,
235
+ ...(harborExecutable !== undefined ? { harborExecutable } : {}),
236
+ ...(signal ? { signal } : {}),
237
+ ...(trialBundleGraceMs === undefined ? {} : { trialBundleGraceMs }),
238
+ emit: (event) => sink.emit(event),
239
+ onTrialSettled: async (trial, context) => {
240
+ try {
241
+ const ref = await importEvalTrialRun({
242
+ root,
243
+ evalId,
244
+ evalDirectory,
245
+ harborJobDirectory,
246
+ expectedAttempt: logicalAttempt,
247
+ request: normalized,
248
+ resolvedRevision,
211
249
  benchmarkId: normalized.benchmark_id,
212
250
  benchmarkRevision: normalized.benchmark_revision,
213
- });
214
- await writeEvalProgress(evalDirectory, progress);
215
- sink.emit({
216
- type: "eval.trial.published",
217
- trial_id: ref.trial_id,
218
- task_id: ref.task_id,
219
- attempt: ref.attempt,
220
- run_id: ref.run_id,
221
- observation_status: ref.observation_status,
222
- settled_trials: progress.trials.length,
223
- generation: progress.generation,
224
- });
251
+ runtimeId: controllerRuntime.runtime_id,
252
+ requireCompleteMarker: true,
253
+ allowMissingBundleDiagnostic: context.bundleWaitExpired,
254
+ }, trial, shardRefs.length, shardRefs);
255
+ await publish(ref);
256
+ return true;
225
257
  }
226
- return true;
227
- }
228
- catch (error) {
229
- if (error instanceof TrialBundlePendingError)
230
- return false;
231
- throw error;
232
- }
233
- },
234
- });
235
- trialRefs = await importEvalTrialRuns({
236
- root,
237
- evalId,
238
- evalDirectory,
239
- request: normalized,
240
- resolvedRevision,
241
- benchmarkId: normalized.benchmark_id,
242
- benchmarkRevision: normalized.benchmark_revision,
243
- runtimeId: controllerRuntime.runtime_id,
244
- rawResult: backendRun.rawResult,
245
- }, progress?.trials ?? []);
258
+ catch (error) {
259
+ if (error instanceof TrialBundlePendingError)
260
+ return false;
261
+ throw error;
262
+ }
263
+ },
264
+ });
265
+ backendRuns.push({ attempt: logicalAttempt, run: backendRun });
266
+ const terminalRefs = await importEvalTrialRuns({
267
+ root,
268
+ evalId,
269
+ evalDirectory,
270
+ harborJobDirectory,
271
+ expectedAttempt: logicalAttempt,
272
+ request: normalized,
273
+ resolvedRevision,
274
+ benchmarkId: normalized.benchmark_id,
275
+ benchmarkRevision: normalized.benchmark_revision,
276
+ runtimeId: controllerRuntime.runtime_id,
277
+ rawResult: backendRun.rawResult,
278
+ }, shardRefs);
279
+ for (const ref of terminalRefs)
280
+ await publish(ref);
281
+ assertBackendTrialSet(backendRun.rawResult, shardRefs);
282
+ await validateEvalTrialReferences(root, evalId, shardRefs, {
283
+ benchmarkId: normalized.benchmark_id,
284
+ benchmarkRevision: normalized.benchmark_revision,
285
+ });
286
+ if (backendRun.backend.process_exit_code !== 0 || backendRun.rawResult === null)
287
+ break;
288
+ if (localTransport && localSourceBackendFailure(backendRun.rawResult))
289
+ break;
290
+ if (progress === null)
291
+ throw new Error("eval progress was not initialized");
292
+ const retries = await runInfrastructureRetries({
293
+ evalId,
294
+ evalDirectory,
295
+ logicalAttempt,
296
+ initialRefs: shardRefs,
297
+ progress,
298
+ request: normalized,
299
+ root,
300
+ resolvedRevision,
301
+ controllerRuntime,
302
+ preparedArtifact,
303
+ ...(localTransport ? { localTransport } : {}),
304
+ env,
305
+ ...(harborExecutable !== undefined ? { harborExecutable } : {}),
306
+ ...(signal ? { signal } : {}),
307
+ ...(trialBundleGraceMs === undefined ? {} : { trialBundleGraceMs }),
308
+ sink,
309
+ ...(localTransport ? { stopAfterResult: localSourceBackendFailure } : {}),
310
+ });
311
+ progress = retries.progress;
312
+ infrastructureRetryRuns.push(...retries.runs);
313
+ }
246
314
  if (progress === null)
247
315
  throw new Error("eval progress was not initialized");
248
- for (const ref of trialRefs)
249
- progress = mergeEvalProgressTrial(progress, ref);
250
- await writeEvalProgress(evalDirectory, progress);
251
- assertBackendTrialSet(backendRun.rawResult, progress.trials);
252
- await validateEvalTrialReferences(root, evalId, trialRefs, {
253
- benchmarkId: normalized.benchmark_id,
254
- benchmarkRevision: normalized.benchmark_revision,
255
- });
256
- const cancelled = signal?.aborted;
257
- const localSourceFailure = localTransport ? localSourceBackendFailure(backendRun.rawResult) : false;
258
- const succeeded = !cancelled && !localSourceFailure && backendRun.backend.process_exit_code === 0 && backendRun.rawResult !== null;
316
+ trialRefs = progress.trials;
317
+ const cancelled = signal?.aborted === true;
318
+ const localSourceFailure = localTransport
319
+ ? backendRuns.some(({ run }) => localSourceBackendFailure(run.rawResult))
320
+ || infrastructureRetryRuns.some(({ run }) => localSourceBackendFailure(run.rawResult))
321
+ : false;
322
+ const backendsSucceeded = backendRuns.length === normalized.attempts
323
+ && backendRuns.every(({ run }) => run.backend.process_exit_code === 0 && run.rawResult !== null);
324
+ const invalidTrials = localTaskIds === null
325
+ ? trialRefs.filter((trial) => trial.observation_status !== "valid").map((trial) => ({ task_id: trial.task_id, attempt: trial.attempt }))
326
+ : invalidTrialSlots(localTaskIds, normalized.attempts, progress);
327
+ const infrastructureFailures = infrastructureFailureTrials(trialRefs);
328
+ const infrastructureFailureSlots = infrastructureFailures.map((trial) => ({ task_id: trial.task_id, attempt: trial.attempt }));
329
+ const verifierRetriesExhausted = normalized.infrastructure_retries > 0 && infrastructureFailures.some((trial) => trial.invalid_reason === "verifier_infrastructure_failure");
330
+ const infrastructureErrorCode = verifierRetriesExhausted || (normalized.infrastructure_retries > 0 && infrastructureRetryRuns.length > 0)
331
+ ? "eval_infrastructure_retries_exhausted"
332
+ : "eval_has_infrastructure_failures";
333
+ const succeeded = !cancelled && !localSourceFailure && backendsSucceeded && invalidTrials.length === 0;
334
+ const singleBackend = backendRuns.length === 1 ? backendRuns[0].run : undefined;
259
335
  result = {
260
336
  schema_version: SCHEMA_VERSION,
261
337
  eval_id: evalId,
262
338
  status: cancelled ? "cancelled" : succeeded ? "succeeded" : "failed",
263
339
  exit_code: cancelled ? 9 : succeeded ? 0 : 13,
264
- backend: backendRun.backend,
340
+ ...(singleBackend ? { backend: singleBackend.backend, backend_summary: singleBackend.summary } : {}),
341
+ ...(normalized.attempts > 1 ? {
342
+ backend_runs: backendRuns.map(({ attempt, run }) => ({
343
+ attempt,
344
+ backend: run.backend,
345
+ backend_summary: run.summary,
346
+ })),
347
+ } : {}),
348
+ infrastructure_retry_policy: {
349
+ max_retries: normalized.infrastructure_retries,
350
+ backoff_ms: normalized.infrastructure_retry_backoff_ms,
351
+ verifier_execution: "same_trial_verifier_only",
352
+ candidate_rerun_on_verifier_failure: false,
353
+ },
354
+ ...(infrastructureRetryRuns.length > 0 ? {
355
+ infrastructure_retry_runs: infrastructureRetryRuns.map(({ attempt, retry, tasks, triggers, refs, run }) => ({
356
+ attempt,
357
+ retry,
358
+ tasks,
359
+ trigger_trials: triggers,
360
+ trials: refs,
361
+ backend: run.backend,
362
+ backend_summary: run.summary,
363
+ })),
364
+ } : {}),
265
365
  candidate: plan.candidate,
266
366
  dataset: normalized.dataset,
267
367
  benchmark_id: normalized.benchmark_id,
@@ -269,19 +369,28 @@ export async function runEval({ evalId = newEvalId(), request, root, env = proce
269
369
  generation: progress.generation,
270
370
  trials: trialRefs,
271
371
  summary: summarizeTrialRefs(trialRefs),
272
- backend_summary: backendRun.summary,
273
372
  prepared_artifact: preparedArtifactSummary(preparedArtifact),
274
373
  ...(localTransport ? { local_source_transport: transportSummary(localTransport) } : {}),
275
374
  ...(succeeded ? {} : {
276
375
  error: {
277
- code: cancelled ? "cancelled" : localSourceFailure ? "local_source_materialize_failed" : "harbor_failed",
376
+ code: cancelled
377
+ ? "cancelled"
378
+ : localSourceFailure
379
+ ? "local_source_materialize_failed"
380
+ : !backendsSucceeded
381
+ ? "harbor_failed"
382
+ : infrastructureFailures.length > 0
383
+ ? infrastructureErrorCode
384
+ : "eval_has_invalid_tasks",
278
385
  message: cancelled
279
386
  ? "eval was cancelled"
280
387
  : localSourceFailure
281
388
  ? "Harbor rejected the transported local Git source before candidate execution"
282
- : backendRun.rawResult === null
283
- ? `Harbor exited without a result (code ${backendRun.backend.process_exit_code ?? "null"})`
284
- : `Harbor exited with code ${backendRun.backend.process_exit_code ?? "null"}`,
389
+ : !backendsSucceeded
390
+ ? `Harbor attempt shards completed ${backendRuns.length}/${normalized.attempts}`
391
+ : infrastructureFailures.length > 0
392
+ ? `${infrastructureErrorCode === "eval_infrastructure_retries_exhausted" ? "infrastructure retries exhausted" : "verifier infrastructure failure"}: ${infrastructureFailureSlots.map(trial => `${trial.task_id}#${trial.attempt}`).join(", ")}`
393
+ : `eval has invalid or missing trials: ${invalidTrials.map(trial => `${trial.task_id}#${trial.attempt}`).join(", ")}`,
285
394
  },
286
395
  }),
287
396
  started_at: startedAt.toISOString(),
@@ -321,6 +430,9 @@ function assertBackendTrialSet(rawResult, refs) {
321
430
  throw new Error("Harbor terminal trial set does not match published eval progress");
322
431
  }
323
432
  }
433
+ function attemptDirectoryName(attempt) {
434
+ return `attempt-${String(attempt).padStart(4, "0")}`;
435
+ }
324
436
  export function summarizeTrialRefs(trials) {
325
437
  const valid = trials.filter((trial) => trial.observation_status === "valid" && typeof trial.reward === "number");
326
438
  const rewards = valid.map((trial) => trial.reward);
@@ -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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"}
@@ -4,6 +4,8 @@ import { atomicWriteJSON, ensureDir, readJSON, statePaths, writePrivateFile } fr
4
4
  import { validateRunContext } from "../domain/index.js";
5
5
  import { newRunId, safeAgentArgsForPersistence } from "../runs/index.js";
6
6
  import { benchmarkTaskDigest, benchmarkVerifierIdentity, defaultModelIdentity, loadRunRecord, projectRunRecord, sha256JSON, } from "../runs/index.js";
7
+ import { readHarborBridgeError } from "./harbor-bridge-error.js";
8
+ import { detectVerifierInfrastructureFailure, primaryVerifierReward, verifierObservation, verifierResult, writeVerifierInfrastructureDiagnostic } from "./verifier-diagnostics.js";
7
9
  /** Import every Harbor trial into the authoritative runs/ store. */
8
10
  export async function importEvalTrialRuns(options, existingRefs = []) {
9
11
  const trials = Array.isArray(options.rawResult?.trial_results)
@@ -24,7 +26,9 @@ export async function importEvalTrialRun(options, trial, index = 0, existingRefs
24
26
  // canonical task id used by the in-container bridge and exported run.
25
27
  const fallbackTaskId = nonEmpty(trial.task_name) || `trial-${index + 1}`;
26
28
  const trialId = nonEmpty(trial.trial_name) || `${fallbackTaskId}__${index + 1}`;
27
- const attempt = trialAttempt(trialId);
29
+ const attempt = options.expectedAttempt ?? trialAttempt(trialId);
30
+ if (!Number.isSafeInteger(attempt) || attempt < 1)
31
+ throw new TypeError("expected eval attempt must be a positive safe integer");
28
32
  const trialDirectory = path.join(options.harborJobDirectory ?? path.join(options.evalDirectory, "harbor", "job"), trialId);
29
33
  const taskId = await lockedTaskId(trialDirectory) || fallbackTaskId;
30
34
  const existing = existingRefs.find((ref) => ref.trial_id === trialId);
@@ -43,8 +47,8 @@ export async function importEvalTrialRun(options, trial, index = 0, existingRefs
43
47
  if (options.requireCompleteMarker && !bundle && !options.allowMissingBundleDiagnostic)
44
48
  throw new TrialBundlePendingError(trialId);
45
49
  const ref = bundle
46
- ? await importRunBundle({ ...options, trial, taskId, trialId, attempt, bundle })
47
- : await createDiagnosticRun({ ...options, trial, taskId, trialId, attempt });
50
+ ? await importRunBundle({ ...options, trial, taskId, trialId, attempt, trialDirectory, bundle })
51
+ : await createDiagnosticRun({ ...options, trial, taskId, trialId, attempt, trialDirectory });
48
52
  published = bundle !== null;
49
53
  return ref;
50
54
  }
@@ -70,6 +74,7 @@ export async function importEvalTrialRun(options, trial, index = 0, existingRefs
70
74
  taskId,
71
75
  trialId,
72
76
  attempt,
77
+ trialDirectory,
73
78
  });
74
79
  }
75
80
  finally {
@@ -171,8 +176,19 @@ async function importRunBundle(input) {
171
176
  const verifierRef = verifier ? "verifier/result.json" : undefined;
172
177
  if (verifier)
173
178
  await atomicWriteJSON(path.join(staging, verifierRef), verifier);
179
+ const verifierInfrastructure = await detectVerifierInfrastructureFailure(input.trialDirectory, primaryVerifierReward(input.trial));
180
+ if (verifierInfrastructure)
181
+ await writeVerifierInfrastructureDiagnostic(staging, verifierInfrastructure);
182
+ await copyVerifierRetryHistory(input.trialDirectory, staging);
174
183
  const beforeObservation = await loadRunRecord(staging, { verifyTrajectory: true });
175
- const observation = trialObservation(input.trial, beforeObservation.record.status, beforeObservation.trajectory_status, beforeObservation.record_status, verifierRef);
184
+ const observation = verifierObservation({
185
+ trial: input.trial,
186
+ runStatus: beforeObservation.record.status,
187
+ trajectoryStatus: beforeObservation.trajectory_status,
188
+ recordStatus: beforeObservation.record_status,
189
+ verifierRef,
190
+ infrastructure: verifierInfrastructure,
191
+ });
176
192
  const manifest = await readJSON(path.join(staging, "manifest.json"));
177
193
  const portableManifest = withoutKeys(manifest, [
178
194
  "workspace", "source_workspace", "execution_workspace",
@@ -216,9 +232,23 @@ async function createDiagnosticRun(input) {
216
232
  const verifierRef = verifier ? "verifier/result.json" : undefined;
217
233
  if (verifier)
218
234
  await atomicWriteJSON(path.join(runDirectory, verifierRef), verifier);
219
- const reason = input.trial.exception_info
220
- ? "infrastructure_failure"
221
- : verifier ? "trajectory_missing_or_corrupt" : "verifier_result_missing";
235
+ const verifierInfrastructure = await detectVerifierInfrastructureFailure(input.trialDirectory, primaryVerifierReward(input.trial));
236
+ if (verifierInfrastructure)
237
+ await writeVerifierInfrastructureDiagnostic(runDirectory, verifierInfrastructure);
238
+ await copyVerifierRetryHistory(input.trialDirectory, runDirectory);
239
+ const bridgeError = input.trial.exception_info
240
+ ? await readHarborBridgeError(input.trialDirectory)
241
+ : null;
242
+ const bridgeErrorRef = bridgeError ? "diagnostics/harbor-bridge-error.json" : undefined;
243
+ if (bridgeError && bridgeErrorRef) {
244
+ await ensureDir(path.dirname(path.join(runDirectory, bridgeErrorRef)));
245
+ await writePrivateFile(path.join(runDirectory, bridgeErrorRef), bridgeError.raw.endsWith("\n") ? bridgeError.raw : `${bridgeError.raw}\n`);
246
+ }
247
+ const reason = verifierInfrastructure
248
+ ? "verifier_infrastructure_failure"
249
+ : input.trial.exception_info
250
+ ? "infrastructure_failure"
251
+ : verifier ? "trajectory_missing_or_corrupt" : "verifier_result_missing";
222
252
  const observation = {
223
253
  status: "invalid",
224
254
  invalid_reason: reason,
@@ -253,13 +283,16 @@ async function createDiagnosticRun(input) {
253
283
  run_id: runId,
254
284
  type: "eval.trial.import_failed",
255
285
  reason,
286
+ ...(bridgeError ? { bridge_error_code: bridgeError.code } : {}),
256
287
  })}\n`);
257
288
  await atomicWriteJSON(path.join(runDirectory, "result.json"), {
258
289
  schema_version: "1",
259
290
  run_id: runId,
260
291
  status: "failed",
261
292
  exit_code: 12,
262
- error: { code: reason, message: "Harbor trial completed without an importable Hitch run bundle" },
293
+ error: bridgeError
294
+ ? { code: bridgeError.code, message: bridgeError.message }
295
+ : { code: reason, message: "Harbor trial completed without an importable Hitch run bundle" },
263
296
  completed_at: now,
264
297
  });
265
298
  await atomicWriteJSON(path.join(runDirectory, "manifest.json"), {
@@ -290,6 +323,7 @@ async function createDiagnosticRun(input) {
290
323
  created_at: now,
291
324
  completed_at: now,
292
325
  sealed: true,
326
+ ...(bridgeErrorRef ? { diagnostics: { harbor_bridge_error_ref: bridgeErrorRef } } : {}),
293
327
  });
294
328
  return evalTrialRef(input, runId, observation);
295
329
  }
@@ -305,34 +339,6 @@ function evalTrialRef(input, runId, observation) {
305
339
  ...(observation.invalid_reason ? { invalid_reason: observation.invalid_reason } : {}),
306
340
  };
307
341
  }
308
- function trialObservation(trial, runStatus, trajectoryStatus, recordStatus, verifierRef) {
309
- if (trial.exception_info)
310
- return { status: "invalid", invalid_reason: "infrastructure_failure", ...(verifierRef ? { verifier_result_ref: verifierRef } : {}) };
311
- if (runStatus === "cancelled")
312
- return { status: "invalid", invalid_reason: "cancelled", ...(verifierRef ? { verifier_result_ref: verifierRef } : {}) };
313
- if (runStatus !== "succeeded")
314
- return { status: "invalid", invalid_reason: "infrastructure_failure", ...(verifierRef ? { verifier_result_ref: verifierRef } : {}) };
315
- if (recordStatus !== "valid")
316
- return { status: "invalid", invalid_reason: "infrastructure_failure", ...(verifierRef ? { verifier_result_ref: verifierRef } : {}) };
317
- if (trajectoryStatus !== "valid")
318
- return { status: "invalid", invalid_reason: "trajectory_missing_or_corrupt", ...(verifierRef ? { verifier_result_ref: verifierRef } : {}) };
319
- const reward = primaryReward(trial);
320
- if (reward === undefined || !verifierRef)
321
- return { status: "invalid", invalid_reason: "verifier_result_missing" };
322
- return { status: "valid", reward, verifier_result_ref: verifierRef };
323
- }
324
- function verifierResult(trial) {
325
- return trial.verifier_result && typeof trial.verifier_result === "object" && !Array.isArray(trial.verifier_result)
326
- ? trial.verifier_result
327
- : null;
328
- }
329
- function primaryReward(trial) {
330
- const rewards = (verifierResult(trial)?.rewards || {});
331
- const preferred = rewards.reward;
332
- if (typeof preferred === "number" && Number.isFinite(preferred))
333
- return preferred;
334
- return Object.values(rewards).find((value) => typeof value === "number" && Number.isFinite(value));
335
- }
336
342
  async function findRunBundle(root, depth = 0, requireCompleteMarker = false) {
337
343
  if (depth > 5)
338
344
  return null;
@@ -407,6 +413,16 @@ function withoutKeys(record, keys) {
407
413
  delete result[key];
408
414
  return result;
409
415
  }
416
+ async function copyVerifierRetryHistory(trialDirectory, runDirectory) {
417
+ const source = path.join(trialDirectory, "verifier", "infrastructure-retry-history.json");
418
+ const history = await readJSON(source, null).catch(() => null);
419
+ if (history?.schema_version !== "1"
420
+ || history.code !== "verifier_infrastructure_retry_history"
421
+ || history.candidate_rerun !== false
422
+ || !Array.isArray(history.attempts))
423
+ return;
424
+ await atomicWriteJSON(path.join(runDirectory, "verifier", "infrastructure-retry-history.json"), history);
425
+ }
410
426
  async function validateJSONLines(file) {
411
427
  const content = await readFile(file, "utf8");
412
428
  for (const [index, line] of content.split(/\r?\n/).entries()) {