agent-hitch 0.2.5 → 0.2.7
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.
- package/README.md +14 -1
- package/dist/scripts/canary-buildkit-secrets.js +166 -0
- package/dist/scripts/canary-buildkit-secrets.js.map +1 -0
- package/dist/scripts/canary-collision-domains.js +77 -0
- package/dist/scripts/canary-collision-domains.js.map +1 -0
- package/dist/scripts/canary-docker-image-observation.js +181 -0
- package/dist/scripts/canary-docker-image-observation.js.map +1 -0
- package/dist/scripts/canary-gpu-hardware.js +95 -0
- package/dist/scripts/canary-gpu-hardware.js.map +1 -0
- package/dist/scripts/canary-harbor-load.js +365 -0
- package/dist/scripts/canary-harbor-load.js.map +1 -0
- package/dist/scripts/canary-packaged-harness.js +75 -0
- package/dist/scripts/canary-packaged-harness.js.map +1 -0
- package/dist/scripts/canary-resource-load.js +188 -0
- package/dist/scripts/canary-resource-load.js.map +1 -0
- package/dist/scripts/check-architecture.js +8 -4
- package/dist/scripts/check-architecture.js.map +1 -1
- package/dist/scripts/docker-reaper-crash-child.js +21 -0
- package/dist/scripts/docker-reaper-crash-child.js.map +1 -0
- package/dist/src/adapters/catalog.js +1 -0
- package/dist/src/adapters/catalog.js.map +1 -1
- package/dist/src/adapters/discovery.js +1 -1
- package/dist/src/adapters/discovery.js.map +1 -1
- package/dist/src/adapters/providers/claude.js +6 -0
- package/dist/src/adapters/providers/claude.js.map +1 -1
- package/dist/src/adapters/providers/codex.js +6 -0
- package/dist/src/adapters/providers/codex.js.map +1 -1
- package/dist/src/adapters/providers/deepseek.js +6 -0
- package/dist/src/adapters/providers/deepseek.js.map +1 -1
- package/dist/src/adapters/providers/opencode.js +6 -0
- package/dist/src/adapters/providers/opencode.js.map +1 -1
- package/dist/src/adapters/providers/pi.js +6 -0
- package/dist/src/adapters/providers/pi.js.map +1 -1
- package/dist/src/artifacts/index.js +1 -0
- package/dist/src/artifacts/index.js.map +1 -1
- package/dist/src/backends/harbor/backend.js +55 -104
- package/dist/src/backends/harbor/backend.js.map +1 -1
- package/dist/src/backends/harbor/environment-config.js +92 -0
- package/dist/src/backends/harbor/environment-config.js.map +1 -0
- package/dist/src/backends/harbor/index.js +5 -1
- package/dist/src/backends/harbor/index.js.map +1 -1
- package/dist/src/backends/harbor/model-proxy-config.js +23 -0
- package/dist/src/backends/harbor/model-proxy-config.js.map +1 -0
- package/dist/src/backends/harbor/process.js +177 -0
- package/dist/src/backends/harbor/process.js.map +1 -0
- package/dist/src/backends/harbor/runtime-toolchain.js +30 -0
- package/dist/src/backends/harbor/runtime-toolchain.js.map +1 -0
- package/dist/src/backends/harbor/supervisor.js +74 -0
- package/dist/src/backends/harbor/supervisor.js.map +1 -0
- package/dist/src/backends/harbor/task-resources.js +206 -0
- package/dist/src/backends/harbor/task-resources.js.map +1 -0
- package/dist/src/backends/harbor/tools.js +6 -29
- package/dist/src/backends/harbor/tools.js.map +1 -1
- package/dist/src/backends/harbor/verifier-config.js +11 -0
- package/dist/src/backends/harbor/verifier-config.js.map +1 -0
- package/dist/src/backends/index.js +4 -1
- package/dist/src/backends/index.js.map +1 -1
- package/dist/src/cli/arguments.js +14 -0
- package/dist/src/cli/arguments.js.map +1 -1
- package/dist/src/cli/commands/daemon.js +135 -8
- package/dist/src/cli/commands/daemon.js.map +1 -1
- package/dist/src/cli/commands/eval.js +214 -4
- package/dist/src/cli/commands/eval.js.map +1 -1
- package/dist/src/cli/commands/images.js +40 -0
- package/dist/src/cli/commands/images.js.map +1 -0
- package/dist/src/cli/commands/run.js +6 -3
- package/dist/src/cli/commands/run.js.map +1 -1
- package/dist/src/cli/commands/runs.js +25 -3
- package/dist/src/cli/commands/runs.js.map +1 -1
- package/dist/src/cli/commands/worker.js +79 -0
- package/dist/src/cli/commands/worker.js.map +1 -0
- package/dist/src/cli/main.js +4 -0
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/cli/output.js +72 -3
- package/dist/src/cli/output.js.map +1 -1
- package/dist/src/control-plane/build-admission.js +69 -0
- package/dist/src/control-plane/build-admission.js.map +1 -0
- package/dist/src/control-plane/build-records.js +6 -0
- package/dist/src/control-plane/build-records.js.map +1 -0
- package/dist/src/control-plane/collisions.js +40 -0
- package/dist/src/control-plane/collisions.js.map +1 -0
- package/dist/src/control-plane/eval-control-state.js +22 -0
- package/dist/src/control-plane/eval-control-state.js.map +1 -0
- package/dist/src/control-plane/eval-control-work.js +39 -0
- package/dist/src/control-plane/eval-control-work.js.map +1 -0
- package/dist/src/control-plane/eval-image-resolution.js +52 -0
- package/dist/src/control-plane/eval-image-resolution.js.map +1 -0
- package/dist/src/control-plane/eval-image-services.js +30 -0
- package/dist/src/control-plane/eval-image-services.js.map +1 -0
- package/dist/src/control-plane/eval-records.js +252 -0
- package/dist/src/control-plane/eval-records.js.map +1 -0
- package/dist/src/control-plane/eval-recovery.js +181 -0
- package/dist/src/control-plane/eval-recovery.js.map +1 -0
- package/dist/src/control-plane/eval-scheduler.js +447 -0
- package/dist/src/control-plane/eval-scheduler.js.map +1 -0
- package/dist/src/control-plane/index.js +20 -0
- package/dist/src/control-plane/index.js.map +1 -0
- package/dist/src/control-plane/local-worker.js +49 -0
- package/dist/src/control-plane/local-worker.js.map +1 -0
- package/dist/src/control-plane/model-capture-planning.js +12 -0
- package/dist/src/control-plane/model-capture-planning.js.map +1 -0
- package/dist/src/control-plane/remote-result-transport.js +172 -0
- package/dist/src/control-plane/remote-result-transport.js.map +1 -0
- package/dist/src/control-plane/remote-work-coordinator.js +332 -0
- package/dist/src/control-plane/remote-work-coordinator.js.map +1 -0
- package/dist/src/control-plane/remote-work-inputs.js +266 -0
- package/dist/src/control-plane/remote-work-inputs.js.map +1 -0
- package/dist/src/control-plane/remote-work-recovery.js +181 -0
- package/dist/src/control-plane/remote-work-recovery.js.map +1 -0
- package/dist/src/control-plane/remote-worker-artifacts.js +135 -0
- package/dist/src/control-plane/remote-worker-artifacts.js.map +1 -0
- package/dist/src/control-plane/remote-worker-client.js +202 -0
- package/dist/src/control-plane/remote-worker-client.js.map +1 -0
- package/dist/src/control-plane/remote-worker-configuration.js +34 -0
- package/dist/src/control-plane/remote-worker-configuration.js.map +1 -0
- package/dist/src/control-plane/remote-worker-credentials.js +58 -0
- package/dist/src/control-plane/remote-worker-credentials.js.map +1 -0
- package/dist/src/control-plane/remote-worker-protocol.js +510 -0
- package/dist/src/control-plane/remote-worker-protocol.js.map +1 -0
- package/dist/src/control-plane/remote-worker-runner.js +214 -0
- package/dist/src/control-plane/remote-worker-runner.js.map +1 -0
- package/dist/src/control-plane/remote-workers.js +377 -0
- package/dist/src/control-plane/remote-workers.js.map +1 -0
- package/dist/src/control-plane/rerun-scheduler.js +411 -0
- package/dist/src/control-plane/rerun-scheduler.js.map +1 -0
- package/dist/src/control-plane/rerun-submission.js +56 -0
- package/dist/src/control-plane/rerun-submission.js.map +1 -0
- package/dist/src/control-plane/resources.js +182 -0
- package/dist/src/control-plane/resources.js.map +1 -0
- package/dist/src/control-plane/scheduler-eval-entry.js +32 -0
- package/dist/src/control-plane/scheduler-eval-entry.js.map +1 -0
- package/dist/src/control-plane/synthetic-result.js +21 -0
- package/dist/src/control-plane/synthetic-result.js.map +1 -0
- package/dist/src/control-plane/work-admission.js +21 -0
- package/dist/src/control-plane/work-admission.js.map +1 -0
- package/dist/src/control-plane/work-dispatcher.js +229 -0
- package/dist/src/control-plane/work-dispatcher.js.map +1 -0
- package/dist/src/controller-runtime/hash.js +12 -1
- package/dist/src/controller-runtime/hash.js.map +1 -1
- package/dist/src/controller-runtime/index.js +1 -1
- package/dist/src/controller-runtime/index.js.map +1 -1
- package/dist/src/controller-runtime/store.js +15 -6
- package/dist/src/controller-runtime/store.js.map +1 -1
- package/dist/src/daemon/client.js.map +1 -1
- package/dist/src/daemon/event-stream.js +46 -0
- package/dist/src/daemon/event-stream.js.map +1 -0
- package/dist/src/daemon/health.js +66 -0
- package/dist/src/daemon/health.js.map +1 -0
- package/dist/src/daemon/launcher.js +28 -1
- package/dist/src/daemon/launcher.js.map +1 -1
- package/dist/src/daemon/logging.js +23 -0
- package/dist/src/daemon/logging.js.map +1 -0
- package/dist/src/daemon/scheduler.js +26 -5
- package/dist/src/daemon/scheduler.js.map +1 -1
- package/dist/src/daemon/server.js +255 -98
- package/dist/src/daemon/server.js.map +1 -1
- package/dist/src/daemon/telemetry.js +163 -0
- package/dist/src/daemon/telemetry.js.map +1 -0
- package/dist/src/daemon/worker-routes.js +219 -0
- package/dist/src/daemon/worker-routes.js.map +1 -0
- package/dist/src/domain/bundles.js +2 -0
- package/dist/src/domain/bundles.js.map +1 -0
- package/dist/src/domain/control-plane.js +2 -0
- package/dist/src/domain/control-plane.js.map +1 -0
- package/dist/src/domain/execution-evidence.js +2 -0
- package/dist/src/domain/execution-evidence.js.map +1 -0
- package/dist/src/domain/execution-plan.js +2 -0
- package/dist/src/domain/execution-plan.js.map +1 -0
- package/dist/src/domain/images.js +2 -0
- package/dist/src/domain/images.js.map +1 -0
- package/dist/src/domain/index.js +9 -0
- package/dist/src/domain/index.js.map +1 -1
- package/dist/src/domain/interactions.js +2 -0
- package/dist/src/domain/interactions.js.map +1 -0
- package/dist/src/domain/providers.js +2 -0
- package/dist/src/domain/providers.js.map +1 -0
- package/dist/src/domain/resources.js +2 -0
- package/dist/src/domain/resources.js.map +1 -0
- package/dist/src/domain/workers.js +2 -0
- package/dist/src/domain/workers.js.map +1 -0
- package/dist/src/evals/collect-only-rerun.js +182 -0
- package/dist/src/evals/collect-only-rerun.js.map +1 -0
- package/dist/src/evals/directory.js +30 -0
- package/dist/src/evals/directory.js.map +1 -0
- package/dist/src/evals/docker-engine-stats.js +89 -0
- package/dist/src/evals/docker-engine-stats.js.map +1 -0
- package/dist/src/evals/docker-ownership.js +51 -0
- package/dist/src/evals/docker-ownership.js.map +1 -0
- package/dist/src/evals/docker-reaper.js +144 -0
- package/dist/src/evals/docker-reaper.js.map +1 -0
- package/dist/src/evals/docker-resource-observer.js +207 -0
- package/dist/src/evals/docker-resource-observer.js.map +1 -0
- package/dist/src/evals/environment-image-planning.js +164 -0
- package/dist/src/evals/environment-image-planning.js.map +1 -0
- package/dist/src/evals/eval-artifact-planning.js +56 -0
- package/dist/src/evals/eval-artifact-planning.js.map +1 -0
- package/dist/src/evals/eval-finalization.js +10 -0
- package/dist/src/evals/eval-finalization.js.map +1 -0
- package/dist/src/evals/eval-lifecycle-events.js +16 -0
- package/dist/src/evals/eval-lifecycle-events.js.map +1 -0
- package/dist/src/evals/events.js +53 -5
- package/dist/src/evals/events.js.map +1 -1
- package/dist/src/evals/execution-evidence.js +116 -0
- package/dist/src/evals/execution-evidence.js.map +1 -0
- package/dist/src/evals/execution-leases.js +342 -0
- package/dist/src/evals/execution-leases.js.map +1 -0
- package/dist/src/evals/execution-plan-artifacts.js +72 -0
- package/dist/src/evals/execution-plan-artifacts.js.map +1 -0
- package/dist/src/evals/execution-plan-images.js +69 -0
- package/dist/src/evals/execution-plan-images.js.map +1 -0
- package/dist/src/evals/execution-plan-resources.js +174 -0
- package/dist/src/evals/execution-plan-resources.js.map +1 -0
- package/dist/src/evals/execution-plan.js +415 -0
- package/dist/src/evals/execution-plan.js.map +1 -0
- package/dist/src/evals/harbor-artifact-builder-image.js +99 -0
- package/dist/src/evals/harbor-artifact-builder-image.js.map +1 -0
- package/dist/src/evals/harbor-artifact-builder.js +354 -0
- package/dist/src/evals/harbor-artifact-builder.js.map +1 -0
- package/dist/src/evals/harbor-bridge-error.js +39 -3
- package/dist/src/evals/harbor-bridge-error.js.map +1 -1
- package/dist/src/evals/harbor-phase-timings.js +60 -0
- package/dist/src/evals/harbor-phase-timings.js.map +1 -0
- package/dist/src/evals/index.js +26 -3
- package/dist/src/evals/index.js.map +1 -1
- package/dist/src/evals/infrastructure-retry.js +218 -0
- package/dist/src/evals/infrastructure-retry.js.map +1 -0
- package/dist/src/evals/interaction-capture-import.js +49 -0
- package/dist/src/evals/interaction-capture-import.js.map +1 -0
- package/dist/src/evals/local-docker-provider.js +372 -0
- package/dist/src/evals/local-docker-provider.js.map +1 -0
- package/dist/src/evals/local-eval-planning.js +80 -0
- package/dist/src/evals/local-eval-planning.js.map +1 -0
- package/dist/src/evals/model-capture-plan.js +22 -0
- package/dist/src/evals/model-capture-plan.js.map +1 -0
- package/dist/src/evals/model-capture-runtime.js +114 -0
- package/dist/src/evals/model-capture-runtime.js.map +1 -0
- package/dist/src/evals/model-proxy-runtime-state.js +53 -0
- package/dist/src/evals/model-proxy-runtime-state.js.map +1 -0
- package/dist/src/evals/planned-execution-support.js +54 -0
- package/dist/src/evals/planned-execution-support.js.map +1 -0
- package/dist/src/evals/planned-execution.js +461 -0
- package/dist/src/evals/planned-execution.js.map +1 -0
- package/dist/src/evals/planned-remote-execution.js +40 -0
- package/dist/src/evals/planned-remote-execution.js.map +1 -0
- package/dist/src/evals/planned-retry-lifecycle.js +186 -0
- package/dist/src/evals/planned-retry-lifecycle.js.map +1 -0
- package/dist/src/evals/prepared-harness.js +76 -0
- package/dist/src/evals/prepared-harness.js.map +1 -0
- package/dist/src/evals/progress.js +4 -4
- package/dist/src/evals/progress.js.map +1 -1
- package/dist/src/evals/records.js +20 -3
- package/dist/src/evals/records.js.map +1 -1
- package/dist/src/evals/recovery.js +192 -0
- package/dist/src/evals/recovery.js.map +1 -0
- package/dist/src/evals/remote-infrastructure-retry.js +99 -0
- package/dist/src/evals/remote-infrastructure-retry.js.map +1 -0
- package/dist/src/evals/request.js +14 -1
- package/dist/src/evals/request.js.map +1 -1
- package/dist/src/evals/rerun-inputs.js +89 -0
- package/dist/src/evals/rerun-inputs.js.map +1 -0
- package/dist/src/evals/rerun-slots.js +12 -3
- package/dist/src/evals/rerun-slots.js.map +1 -1
- package/dist/src/evals/rerun-types.js +49 -0
- package/dist/src/evals/rerun-types.js.map +1 -0
- package/dist/src/evals/rerun.js +113 -75
- package/dist/src/evals/rerun.js.map +1 -1
- package/dist/src/evals/result-helpers.js +65 -0
- package/dist/src/evals/result-helpers.js.map +1 -0
- package/dist/src/evals/resume-state.js +36 -0
- package/dist/src/evals/resume-state.js.map +1 -0
- package/dist/src/evals/service-types.js +2 -0
- package/dist/src/evals/service-types.js.map +1 -0
- package/dist/src/evals/service.js +327 -237
- package/dist/src/evals/service.js.map +1 -1
- package/dist/src/evals/task-resources.js +209 -0
- package/dist/src/evals/task-resources.js.map +1 -0
- package/dist/src/evals/trial-environment-evidence.js +87 -0
- package/dist/src/evals/trial-environment-evidence.js.map +1 -0
- package/dist/src/evals/trial-execution-evidence.js +13 -0
- package/dist/src/evals/trial-execution-evidence.js.map +1 -0
- package/dist/src/evals/trial-import-identity.js +31 -0
- package/dist/src/evals/trial-import-identity.js.map +1 -0
- package/dist/src/evals/trial-import.js +166 -168
- package/dist/src/evals/trial-import.js.map +1 -1
- package/dist/src/evals/trial-publication-recovery.js +104 -0
- package/dist/src/evals/trial-publication-recovery.js.map +1 -0
- package/dist/src/evals/trial-publication.js +25 -0
- package/dist/src/evals/trial-publication.js.map +1 -0
- package/dist/src/evals/verifier-diagnostics.js +235 -0
- package/dist/src/evals/verifier-diagnostics.js.map +1 -0
- package/dist/src/evals/work-item-artifacts.js +23 -0
- package/dist/src/evals/work-item-artifacts.js.map +1 -0
- package/dist/src/foundation/config.js +17 -0
- package/dist/src/foundation/config.js.map +1 -1
- package/dist/src/foundation/credential-redaction.js +137 -0
- package/dist/src/foundation/credential-redaction.js.map +1 -0
- package/dist/src/foundation/environment-image-references.js +59 -0
- package/dist/src/foundation/environment-image-references.js.map +1 -0
- package/dist/src/foundation/executable.js +45 -5
- package/dist/src/foundation/executable.js.map +1 -1
- package/dist/src/foundation/index.js +5 -2
- package/dist/src/foundation/index.js.map +1 -1
- package/dist/src/foundation/process-identity.js +69 -0
- package/dist/src/foundation/process-identity.js.map +1 -0
- package/dist/src/images/context.js +47 -0
- package/dist/src/images/context.js.map +1 -0
- package/dist/src/images/docker-buildkit.js +137 -0
- package/dist/src/images/docker-buildkit.js.map +1 -0
- package/dist/src/images/dockerfile.js +67 -0
- package/dist/src/images/dockerfile.js.map +1 -0
- package/dist/src/images/gc.js +261 -0
- package/dist/src/images/gc.js.map +1 -0
- package/dist/src/images/index.js +10 -0
- package/dist/src/images/index.js.map +1 -0
- package/dist/src/images/manifest.js +109 -0
- package/dist/src/images/manifest.js.map +1 -0
- package/dist/src/images/ownership.js +5 -0
- package/dist/src/images/ownership.js.map +1 -0
- package/dist/src/images/records.js +32 -0
- package/dist/src/images/records.js.map +1 -0
- package/dist/src/images/registry.js +154 -0
- package/dist/src/images/registry.js.map +1 -0
- package/dist/src/images/service.js +224 -0
- package/dist/src/images/service.js.map +1 -0
- package/dist/src/model-access/capture.js +255 -0
- package/dist/src/model-access/capture.js.map +1 -0
- package/dist/src/model-access/index.js +5 -0
- package/dist/src/model-access/index.js.map +1 -0
- package/dist/src/model-access/policy.js +49 -0
- package/dist/src/model-access/policy.js.map +1 -0
- package/dist/src/model-access/proxy.js +336 -0
- package/dist/src/model-access/proxy.js.map +1 -0
- package/dist/src/model-access/records.js +167 -0
- package/dist/src/model-access/records.js.map +1 -0
- package/dist/src/runs/bundle.js +450 -0
- package/dist/src/runs/bundle.js.map +1 -0
- package/dist/src/runs/events.js +12 -1
- package/dist/src/runs/events.js.map +1 -1
- package/dist/src/runs/executor.js +24 -17
- package/dist/src/runs/executor.js.map +1 -1
- package/dist/src/runs/index.js +3 -1
- package/dist/src/runs/index.js.map +1 -1
- package/dist/src/runs/manifest.js +5 -5
- package/dist/src/runs/manifest.js.map +1 -1
- package/dist/src/runs/request.js +6 -1
- package/dist/src/runs/request.js.map +1 -1
- package/dist/src/runs/training-candidate.js +161 -0
- package/dist/src/runs/training-candidate.js.map +1 -0
- package/dist/src/trajectories/provider-capture.js +15 -24
- package/dist/src/trajectories/provider-capture.js.map +1 -1
- package/dist/src/trajectories/providers/deepseek.js +3 -3
- package/dist/src/trajectories/providers/deepseek.js.map +1 -1
- package/dist/src/workers/index.js +3 -0
- package/dist/src/workers/index.js.map +1 -0
- package/dist/src/workers/remote-harbor-work-spec.js +97 -0
- package/dist/src/workers/remote-harbor-work-spec.js.map +1 -0
- package/dist/src/workers/remote-harbor-worker.js +220 -0
- package/dist/src/workers/remote-harbor-worker.js.map +1 -0
- package/docs/schemas/environment-build-index.schema.json +13 -0
- package/docs/schemas/environment-build-record.schema.json +25 -0
- package/docs/schemas/environment-image-manifest.schema.json +62 -0
- package/docs/schemas/eval-control.schema.json +36 -0
- package/docs/schemas/eval-execution-plan.schema.json +216 -0
- package/docs/schemas/eval-request.schema.json +2 -0
- package/docs/schemas/eval-rerun-result.schema.json +53 -0
- package/docs/schemas/eval-rerun-state.schema.json +61 -0
- package/docs/schemas/eval-rerun-submission.schema.json +58 -0
- package/docs/schemas/eval-result.schema.json +34 -1
- package/docs/schemas/eval-submission-input.schema.json +14 -0
- package/docs/schemas/eval-submission.schema.json +68 -0
- package/docs/schemas/eval-trial-publication.schema.json +39 -0
- package/docs/schemas/execution-evidence.schema.json +96 -0
- package/docs/schemas/execution-lease.schema.json +50 -0
- package/docs/schemas/execution-provider-status.schema.json +65 -0
- package/docs/schemas/execution-worker.schema.json +53 -0
- package/docs/schemas/harbor-process-exit.schema.json +14 -0
- package/docs/schemas/interaction-capture-ref.schema.json +45 -0
- package/docs/schemas/local-provider-execution.schema.json +33 -0
- package/docs/schemas/model-interaction.schema.json +41 -0
- package/docs/schemas/remote-result-envelope.schema.json +32 -0
- package/docs/schemas/remote-tree-envelope.schema.json +25 -0
- package/docs/schemas/remote-work-offer.schema.json +58 -0
- package/docs/schemas/remote-work-receipt.schema.json +50 -0
- package/docs/schemas/remote-worker-artifact.schema.json +17 -0
- package/docs/schemas/remote-worker-event.schema.json +18 -0
- package/docs/schemas/remote-worker-heartbeat.schema.json +37 -0
- package/docs/schemas/remote-worker-registration.schema.json +52 -0
- package/docs/schemas/result-bundle-index.schema.json +133 -0
- package/docs/schemas/run-environment-images.schema.json +39 -0
- package/docs/schemas/training-data-candidate.schema.json +46 -0
- package/integrations/harbor/hitch_harbor_agent.py +300 -547
- package/integrations/harbor/hitch_harbor_environment.py +331 -0
- package/integrations/harbor/hitch_harbor_task_resources.py +275 -0
- package/integrations/harbor/hitch_harbor_verifier.py +337 -0
- package/package.json +16 -2
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-hitch.local/schemas/environment-image-manifest.schema.json",
|
|
4
|
+
"title": "Hitch environment image manifest V1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["schema_version", "image_id", "source", "platform", "build", "output", "base_images", "created_at"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schema_version": { "const": "1" },
|
|
10
|
+
"image_id": { "$ref": "#/$defs/sha256" },
|
|
11
|
+
"source": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"additionalProperties": false,
|
|
14
|
+
"required": ["kind", "benchmark_id", "benchmark_revision"],
|
|
15
|
+
"properties": {
|
|
16
|
+
"kind": { "enum": ["registry", "build-context", "compose-build"] },
|
|
17
|
+
"benchmark_id": { "type": "string", "minLength": 1 },
|
|
18
|
+
"benchmark_revision": { "type": "string", "minLength": 1 },
|
|
19
|
+
"task_id": { "type": "string", "minLength": 1 },
|
|
20
|
+
"context_digest": { "$ref": "#/$defs/sha256" },
|
|
21
|
+
"dockerfile_digest": { "$ref": "#/$defs/sha256" }
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"platform": { "type": "string", "minLength": 1 },
|
|
25
|
+
"build": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"additionalProperties": false,
|
|
28
|
+
"required": ["builder", "secret_names", "cache_key"],
|
|
29
|
+
"properties": {
|
|
30
|
+
"builder": { "const": "buildkit" },
|
|
31
|
+
"buildkit_version": { "type": "string", "minLength": 1 },
|
|
32
|
+
"builder_id": { "type": "string", "minLength": 1 },
|
|
33
|
+
"frontend": { "type": "string", "minLength": 1 },
|
|
34
|
+
"target": { "type": "string", "minLength": 1 },
|
|
35
|
+
"build_args_sha256": { "$ref": "#/$defs/sha256" },
|
|
36
|
+
"secret_names": { "type": "array", "items": { "type": "string", "pattern": "^[A-Za-z_][A-Za-z0-9_]*$" }, "uniqueItems": true },
|
|
37
|
+
"cache_key": { "$ref": "#/$defs/sha256" }
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"output": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"additionalProperties": false,
|
|
43
|
+
"required": ["reference", "manifest_digest"],
|
|
44
|
+
"properties": {
|
|
45
|
+
"reference": { "type": "string", "minLength": 1 },
|
|
46
|
+
"manifest_digest": { "$ref": "#/$defs/sha256" },
|
|
47
|
+
"config_digest": { "$ref": "#/$defs/sha256" }
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"base_images": {
|
|
51
|
+
"type": "array",
|
|
52
|
+
"items": {
|
|
53
|
+
"type": "object",
|
|
54
|
+
"additionalProperties": false,
|
|
55
|
+
"required": ["reference", "digest"],
|
|
56
|
+
"properties": { "reference": { "type": "string", "minLength": 1 }, "digest": { "$ref": "#/$defs/sha256" } }
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"created_at": { "type": "string", "format": "date-time" }
|
|
60
|
+
},
|
|
61
|
+
"$defs": { "sha256": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" } }
|
|
62
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-hitch.local/schemas/eval-control.schema.json",
|
|
4
|
+
"title": "Hitch control-plane eval state V1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["schema_version", "eval_id", "generation", "state", "requested_parallelism", "admitted_parallelism", "active_leases", "queued_work_items", "terminal_work_items", "created_at", "updated_at"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schema_version": { "const": "1" },
|
|
10
|
+
"eval_id": { "type": "string", "pattern": "^eval_[a-f0-9]{32}$" },
|
|
11
|
+
"generation": { "type": "integer", "minimum": 0 },
|
|
12
|
+
"state": { "enum": ["queued", "planning", "preparing", "running", "finalizing", "cancelling", "succeeded", "failed", "cancelled"] },
|
|
13
|
+
"requested_parallelism": { "type": "integer", "minimum": 1 },
|
|
14
|
+
"admitted_parallelism": { "type": "integer", "minimum": 0 },
|
|
15
|
+
"active_leases": { "$ref": "#/$defs/leases" },
|
|
16
|
+
"queued_work_items": { "$ref": "#/$defs/workItems" },
|
|
17
|
+
"terminal_work_items": { "$ref": "#/$defs/workItems" },
|
|
18
|
+
"allocation_id": { "type": "string", "pattern": "^allocation_[a-f0-9]{32}$" },
|
|
19
|
+
"cancel_requested_at": { "type": "string", "format": "date-time" },
|
|
20
|
+
"error": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"additionalProperties": false,
|
|
23
|
+
"required": ["code", "message"],
|
|
24
|
+
"properties": {
|
|
25
|
+
"code": { "type": "string", "minLength": 1, "maxLength": 256 },
|
|
26
|
+
"message": { "type": "string", "maxLength": 4096 }
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"created_at": { "type": "string", "format": "date-time" },
|
|
30
|
+
"updated_at": { "type": "string", "format": "date-time" }
|
|
31
|
+
},
|
|
32
|
+
"$defs": {
|
|
33
|
+
"leases": { "type": "array", "items": { "type": "string", "pattern": "^lease_[a-f0-9]{32}$" }, "uniqueItems": true },
|
|
34
|
+
"workItems": { "type": "array", "items": { "type": "string", "pattern": "^work_[a-f0-9]{32}$" }, "uniqueItems": true }
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-hitch.local/schemas/eval-execution-plan.schema.json",
|
|
4
|
+
"title": "Hitch eval execution plan V1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"schema_version", "planner", "eval_id", "membership", "candidate_identity", "benchmark",
|
|
9
|
+
"provider", "max_parallelism", "default_trial_resources", "slots", "work_items", "retry_policy", "created_at"
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"schema_version": { "const": "1" },
|
|
13
|
+
"planner": { "const": "hitch-local-v1" },
|
|
14
|
+
"eval_id": { "$ref": "#/$defs/evalId" },
|
|
15
|
+
"membership": { "enum": ["known", "opaque"] },
|
|
16
|
+
"candidate_identity": { "$ref": "#/$defs/sha256" },
|
|
17
|
+
"benchmark": {
|
|
18
|
+
"type": "object",
|
|
19
|
+
"additionalProperties": false,
|
|
20
|
+
"required": ["id", "revision", "verifier_identity"],
|
|
21
|
+
"properties": {
|
|
22
|
+
"id": { "type": "string", "minLength": 1 },
|
|
23
|
+
"revision": { "type": "string", "minLength": 1 },
|
|
24
|
+
"verifier_identity": { "$ref": "#/$defs/sha256" }
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"provider": { "type": "string", "minLength": 1 },
|
|
28
|
+
"model_capture": { "$ref": "#/$defs/modelCapture" },
|
|
29
|
+
"max_parallelism": { "type": "integer", "minimum": 1 },
|
|
30
|
+
"default_trial_resources": { "$ref": "#/$defs/resources" },
|
|
31
|
+
"task_resources": {
|
|
32
|
+
"type": "array",
|
|
33
|
+
"items": { "$ref": "#/$defs/taskResources" }
|
|
34
|
+
},
|
|
35
|
+
"image_fallbacks": {
|
|
36
|
+
"type": "array",
|
|
37
|
+
"items": { "$ref": "#/$defs/imageFallback" }
|
|
38
|
+
},
|
|
39
|
+
"slots": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"items": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"additionalProperties": false,
|
|
44
|
+
"required": ["schema_version", "slot_id", "eval_id", "task_id", "attempt", "candidate_identity", "state", "physical_execution"],
|
|
45
|
+
"properties": {
|
|
46
|
+
"schema_version": { "const": "1" },
|
|
47
|
+
"slot_id": { "type": "string", "pattern": "^slot_[a-f0-9]{32}$" },
|
|
48
|
+
"eval_id": { "$ref": "#/$defs/evalId" },
|
|
49
|
+
"task_id": { "type": "string", "minLength": 1 },
|
|
50
|
+
"task_digest": { "$ref": "#/$defs/sha256" },
|
|
51
|
+
"attempt": { "type": "integer", "minimum": 1 },
|
|
52
|
+
"candidate_identity": { "$ref": "#/$defs/sha256" },
|
|
53
|
+
"state": { "enum": ["pending", "blocked", "ready", "leased", "running", "collecting", "succeeded", "invalid", "failed", "cancelled"] },
|
|
54
|
+
"physical_execution": { "type": "integer", "minimum": 1 },
|
|
55
|
+
"authoritative_run_id": { "type": "string", "pattern": "^run_[a-f0-9]{32}$" },
|
|
56
|
+
"invalid_reason": { "type": "string", "minLength": 1 }
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"work_items": {
|
|
61
|
+
"type": "array",
|
|
62
|
+
"items": {
|
|
63
|
+
"type": "object",
|
|
64
|
+
"additionalProperties": false,
|
|
65
|
+
"required": [
|
|
66
|
+
"schema_version", "work_id", "eval_id", "backend", "logical_attempt", "task_ids", "slots",
|
|
67
|
+
"opaque_membership", "requested_parallelism", "reservation", "provider"
|
|
68
|
+
],
|
|
69
|
+
"properties": {
|
|
70
|
+
"schema_version": { "const": "1" },
|
|
71
|
+
"work_id": { "type": "string", "pattern": "^work_[a-f0-9]{32}$" },
|
|
72
|
+
"eval_id": { "$ref": "#/$defs/evalId" },
|
|
73
|
+
"backend": { "const": "harbor" },
|
|
74
|
+
"logical_attempt": { "type": ["integer", "null"], "minimum": 1 },
|
|
75
|
+
"task_ids": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
|
|
76
|
+
"slots": { "type": "array", "items": { "type": "string", "pattern": "^slot_[a-f0-9]{32}$" }, "uniqueItems": true },
|
|
77
|
+
"opaque_membership": { "type": "boolean" },
|
|
78
|
+
"requested_parallelism": { "type": "integer", "minimum": 1 },
|
|
79
|
+
"reservation": { "$ref": "#/$defs/resources" },
|
|
80
|
+
"provider": { "type": "string", "minLength": 1 },
|
|
81
|
+
"image_refs": {
|
|
82
|
+
"type": "array",
|
|
83
|
+
"items": { "$ref": "#/$defs/imageUse" }
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"retry_policy": {
|
|
89
|
+
"type": "object",
|
|
90
|
+
"additionalProperties": false,
|
|
91
|
+
"required": ["infrastructure_retries", "infrastructure_retry_backoff_ms", "verifier_execution", "candidate_rerun_on_verifier_failure"],
|
|
92
|
+
"properties": {
|
|
93
|
+
"infrastructure_retries": { "type": "integer", "minimum": 0 },
|
|
94
|
+
"infrastructure_retry_backoff_ms": { "type": "number", "minimum": 0 },
|
|
95
|
+
"verifier_execution": { "const": "same-trial-verifier-only" },
|
|
96
|
+
"candidate_rerun_on_verifier_failure": { "const": false }
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"created_at": { "type": "string", "format": "date-time" }
|
|
100
|
+
},
|
|
101
|
+
"$defs": {
|
|
102
|
+
"evalId": { "type": "string", "pattern": "^eval_[a-f0-9]{32}$" },
|
|
103
|
+
"sha256": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
|
|
104
|
+
"modelCapture": {
|
|
105
|
+
"type": "object",
|
|
106
|
+
"additionalProperties": false,
|
|
107
|
+
"required": ["requested_mode", "effective_mode", "required"],
|
|
108
|
+
"properties": {
|
|
109
|
+
"requested_mode": { "enum": ["off", "native", "proxy", "hybrid"] },
|
|
110
|
+
"effective_mode": { "enum": ["off", "native", "proxy", "hybrid"] },
|
|
111
|
+
"required": { "type": "boolean" },
|
|
112
|
+
"topology": { "enum": ["host-side", "in-sandbox"] },
|
|
113
|
+
"degraded_reason": { "type": "string", "minLength": 1 }
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"resources": {
|
|
117
|
+
"type": "object",
|
|
118
|
+
"additionalProperties": false,
|
|
119
|
+
"required": ["cpu_millis", "memory_bytes", "container_slots", "build_slots"],
|
|
120
|
+
"properties": {
|
|
121
|
+
"cpu_millis": { "type": "integer", "minimum": 0 },
|
|
122
|
+
"memory_bytes": { "type": "integer", "minimum": 0 },
|
|
123
|
+
"container_slots": { "type": "integer", "minimum": 0 },
|
|
124
|
+
"build_slots": { "type": "integer", "minimum": 0 },
|
|
125
|
+
"gpu_count": { "type": "integer", "minimum": 0 },
|
|
126
|
+
"ephemeral_disk_bytes": { "type": "integer", "minimum": 0 }
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"resourceField": {
|
|
130
|
+
"type": "object",
|
|
131
|
+
"additionalProperties": false,
|
|
132
|
+
"required": ["value", "source", "estimated"],
|
|
133
|
+
"properties": {
|
|
134
|
+
"value": { "type": "integer", "minimum": 0 },
|
|
135
|
+
"source": { "enum": ["task", "compose", "submission-default", "operator-default", "provider-policy", "derived-components"] },
|
|
136
|
+
"estimated": { "type": "boolean" }
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"imageUse": {
|
|
140
|
+
"type": "object",
|
|
141
|
+
"additionalProperties": false,
|
|
142
|
+
"required": ["task_ids", "image_id", "requested_reference", "reference", "manifest_digest", "platform", "resolution", "cache_hit"],
|
|
143
|
+
"properties": {
|
|
144
|
+
"task_ids": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
|
|
145
|
+
"image_id": { "$ref": "#/$defs/sha256" },
|
|
146
|
+
"requested_reference": { "type": "string", "minLength": 1, "maxLength": 1024 },
|
|
147
|
+
"reference": { "type": "string", "minLength": 1, "maxLength": 1024 },
|
|
148
|
+
"manifest_digest": { "$ref": "#/$defs/sha256" },
|
|
149
|
+
"platform": { "type": "string", "minLength": 1 },
|
|
150
|
+
"resolution": { "enum": ["registry", "prebuilt", "backend-build"] },
|
|
151
|
+
"cache_hit": { "type": "boolean" }
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
"imageFallback": {
|
|
155
|
+
"type": "object",
|
|
156
|
+
"additionalProperties": false,
|
|
157
|
+
"required": ["task_id", "source", "service", "code"],
|
|
158
|
+
"properties": {
|
|
159
|
+
"task_id": { "type": "string", "minLength": 1 },
|
|
160
|
+
"source": { "enum": ["task", "verifier", "compose"] },
|
|
161
|
+
"service": { "type": "string", "minLength": 1 },
|
|
162
|
+
"code": { "enum": ["backend-build", "dynamic-image", "policy-backend", "resolver-unavailable", "resolution-failed"] }
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"taskResources": {
|
|
166
|
+
"type": "object",
|
|
167
|
+
"additionalProperties": false,
|
|
168
|
+
"required": ["task_id", "reservation", "main_limits", "fields", "components", "diagnostics"],
|
|
169
|
+
"properties": {
|
|
170
|
+
"task_id": { "type": "string", "minLength": 1 },
|
|
171
|
+
"reservation": { "$ref": "#/$defs/resources" },
|
|
172
|
+
"main_limits": { "$ref": "#/$defs/resources" },
|
|
173
|
+
"fields": {
|
|
174
|
+
"type": "object",
|
|
175
|
+
"additionalProperties": false,
|
|
176
|
+
"required": ["cpu_millis", "memory_bytes", "container_slots", "build_slots"],
|
|
177
|
+
"properties": {
|
|
178
|
+
"cpu_millis": { "$ref": "#/$defs/resourceField" },
|
|
179
|
+
"memory_bytes": { "$ref": "#/$defs/resourceField" },
|
|
180
|
+
"container_slots": { "$ref": "#/$defs/resourceField" },
|
|
181
|
+
"build_slots": { "$ref": "#/$defs/resourceField" },
|
|
182
|
+
"gpu_count": { "$ref": "#/$defs/resourceField" },
|
|
183
|
+
"ephemeral_disk_bytes": { "$ref": "#/$defs/resourceField" }
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"components": {
|
|
187
|
+
"type": "array",
|
|
188
|
+
"minItems": 1,
|
|
189
|
+
"items": {
|
|
190
|
+
"type": "object",
|
|
191
|
+
"additionalProperties": false,
|
|
192
|
+
"required": ["name", "role", "replicas", "resources", "fields"],
|
|
193
|
+
"properties": {
|
|
194
|
+
"name": { "type": "string", "minLength": 1 },
|
|
195
|
+
"role": { "enum": ["main", "task-sidecar", "verifier", "provider-sidecar"] },
|
|
196
|
+
"replicas": { "type": "integer", "minimum": 1 },
|
|
197
|
+
"resources": { "$ref": "#/$defs/resources" },
|
|
198
|
+
"fields": {
|
|
199
|
+
"type": "object",
|
|
200
|
+
"additionalProperties": false,
|
|
201
|
+
"required": ["cpu_millis", "memory_bytes"],
|
|
202
|
+
"properties": {
|
|
203
|
+
"cpu_millis": { "$ref": "#/$defs/resourceField" },
|
|
204
|
+
"memory_bytes": { "$ref": "#/$defs/resourceField" },
|
|
205
|
+
"gpu_count": { "$ref": "#/$defs/resourceField" },
|
|
206
|
+
"ephemeral_disk_bytes": { "$ref": "#/$defs/resourceField" }
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
"diagnostics": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true }
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}
|
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
"model": { "type": "string" },
|
|
16
16
|
"attempts": { "type": "integer", "minimum": 1 },
|
|
17
17
|
"max_concurrent": { "type": "integer", "minimum": 1 },
|
|
18
|
+
"infrastructure_retries": { "type": "integer", "minimum": 0 },
|
|
19
|
+
"infrastructure_retry_backoff_ms": { "type": "number", "minimum": 0 },
|
|
18
20
|
"timeout_ms": { "type": "number", "minimum": 0 },
|
|
19
21
|
"setup_timeout_ms": { "type": "number", "minimum": 0 },
|
|
20
22
|
"agent_args": { "type": "array", "items": { "type": "string" } },
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-hitch.local/schemas/eval-rerun-result.schema.json",
|
|
4
|
+
"title": "Hitch eval rerun result V1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"schema_version", "kind", "rerun_id", "rerun_type", "semantics", "eval_id", "status",
|
|
9
|
+
"selected_tasks", "repaired_tasks", "remaining_invalid_tasks", "selected_trials", "repaired_trials",
|
|
10
|
+
"remaining_invalid_trials", "eval_status", "started_at", "completed_at"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"schema_version": { "const": "1" },
|
|
14
|
+
"kind": { "const": "eval-rerun" },
|
|
15
|
+
"rerun_id": { "type": "string", "pattern": "^rerun_[a-f0-9]{32}$" },
|
|
16
|
+
"rerun_type": { "enum": ["candidate-restart", "candidate-resume", "trajectory-replay", "verifier-only", "collect-only"] },
|
|
17
|
+
"semantics": { "$ref": "eval-rerun-submission.schema.json#/$defs/semantics" },
|
|
18
|
+
"eval_id": { "type": "string", "pattern": "^eval_[a-f0-9]{32}$" },
|
|
19
|
+
"status": { "const": "completed" },
|
|
20
|
+
"selected_tasks": { "type": "array", "items": { "type": "string" } },
|
|
21
|
+
"repaired_tasks": { "type": "array", "items": { "type": "string" } },
|
|
22
|
+
"remaining_invalid_tasks": { "type": "array", "items": { "type": "string" } },
|
|
23
|
+
"selected_trials": { "type": "array", "items": { "$ref": "#/$defs/trial" } },
|
|
24
|
+
"repaired_trials": { "type": "array", "items": { "$ref": "#/$defs/trial" } },
|
|
25
|
+
"remaining_invalid_trials": { "type": "array", "items": { "$ref": "#/$defs/trial" } },
|
|
26
|
+
"sources": { "type": "array", "items": { "$ref": "#/$defs/source" } },
|
|
27
|
+
"eval_status": { "enum": ["succeeded", "failed"] },
|
|
28
|
+
"started_at": { "type": "string", "format": "date-time" },
|
|
29
|
+
"completed_at": { "type": "string", "format": "date-time" }
|
|
30
|
+
},
|
|
31
|
+
"$defs": {
|
|
32
|
+
"trial": {
|
|
33
|
+
"type": "object",
|
|
34
|
+
"additionalProperties": false,
|
|
35
|
+
"required": ["task_id", "attempt"],
|
|
36
|
+
"properties": {
|
|
37
|
+
"task_id": { "type": "string", "minLength": 1 },
|
|
38
|
+
"attempt": { "type": "integer", "minimum": 1 }
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"source": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"additionalProperties": false,
|
|
44
|
+
"required": ["source_trial_id", "source_run_id", "source_work_id", "source_backend_directory"],
|
|
45
|
+
"properties": {
|
|
46
|
+
"source_trial_id": { "type": "string", "minLength": 1 },
|
|
47
|
+
"source_run_id": { "type": "string", "pattern": "^run_[a-f0-9]{32}$" },
|
|
48
|
+
"source_work_id": { "type": "string", "pattern": "^work_[a-f0-9]{32}$" },
|
|
49
|
+
"source_backend_directory": { "type": "string", "pattern": "^harbor/work-items/work_[a-f0-9]{32}/epoch-[0-9]{6}$" }
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-hitch.local/schemas/eval-rerun-state.schema.json",
|
|
4
|
+
"title": "Hitch eval rerun state V1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["schema_version", "rerun_id", "eval_id", "rerun_type", "semantics", "status", "tasks", "repaired_tasks", "updated_at"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schema_version": { "const": "1" },
|
|
10
|
+
"rerun_id": { "type": "string", "pattern": "^rerun_[a-f0-9]{32}$" },
|
|
11
|
+
"eval_id": { "type": "string", "pattern": "^eval_[a-f0-9]{32}$" },
|
|
12
|
+
"rerun_type": { "enum": ["candidate-restart", "candidate-resume", "trajectory-replay", "verifier-only", "collect-only"] },
|
|
13
|
+
"semantics": { "$ref": "eval-rerun-submission.schema.json#/$defs/semantics" },
|
|
14
|
+
"status": { "enum": ["queued", "running", "completed", "failed", "cancelled"] },
|
|
15
|
+
"tasks": { "type": "array", "items": { "type": "string" } },
|
|
16
|
+
"trials": { "type": "array", "items": { "$ref": "#/$defs/trial" } },
|
|
17
|
+
"repaired_tasks": { "type": "array", "items": { "type": "string" } },
|
|
18
|
+
"repaired_trials": { "type": "array", "items": { "$ref": "#/$defs/trial" } },
|
|
19
|
+
"remaining_invalid_tasks": { "type": "array", "items": { "type": "string" } },
|
|
20
|
+
"remaining_invalid_trials": { "type": "array", "items": { "$ref": "#/$defs/trial" } },
|
|
21
|
+
"sources": { "type": "array", "items": { "$ref": "#/$defs/source" } },
|
|
22
|
+
"eval_status": { "enum": ["succeeded", "failed"] },
|
|
23
|
+
"admitted_parallelism": { "type": "integer", "minimum": 1 },
|
|
24
|
+
"allocation_id": { "type": "string", "pattern": "^allocation_[a-f0-9]{32}$" },
|
|
25
|
+
"error": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"additionalProperties": false,
|
|
28
|
+
"required": ["code"],
|
|
29
|
+
"properties": {
|
|
30
|
+
"code": { "type": "string", "minLength": 1 },
|
|
31
|
+
"message": { "type": "string", "maxLength": 4096 }
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"submitted_at": { "type": "string", "format": "date-time" },
|
|
35
|
+
"started_at": { "type": "string", "format": "date-time" },
|
|
36
|
+
"completed_at": { "type": "string", "format": "date-time" },
|
|
37
|
+
"updated_at": { "type": "string", "format": "date-time" }
|
|
38
|
+
},
|
|
39
|
+
"$defs": {
|
|
40
|
+
"trial": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"additionalProperties": false,
|
|
43
|
+
"required": ["task_id", "attempt"],
|
|
44
|
+
"properties": {
|
|
45
|
+
"task_id": { "type": "string", "minLength": 1 },
|
|
46
|
+
"attempt": { "type": "integer", "minimum": 1 }
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"source": {
|
|
50
|
+
"type": "object",
|
|
51
|
+
"additionalProperties": false,
|
|
52
|
+
"required": ["source_trial_id", "source_run_id", "source_work_id", "source_backend_directory"],
|
|
53
|
+
"properties": {
|
|
54
|
+
"source_trial_id": { "type": "string", "minLength": 1 },
|
|
55
|
+
"source_run_id": { "type": "string", "pattern": "^run_[a-f0-9]{32}$" },
|
|
56
|
+
"source_work_id": { "type": "string", "pattern": "^work_[a-f0-9]{32}$" },
|
|
57
|
+
"source_backend_directory": { "type": "string", "pattern": "^harbor/work-items/work_[a-f0-9]{32}/epoch-[0-9]{6}$" }
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-hitch.local/schemas/eval-rerun-submission.schema.json",
|
|
4
|
+
"title": "Hitch eval rerun submission V1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["schema_version", "rerun_id", "eval_id", "rerun_type", "semantics", "selector", "submitted_at"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schema_version": { "const": "1" },
|
|
10
|
+
"rerun_id": { "type": "string", "pattern": "^rerun_[a-f0-9]{32}$" },
|
|
11
|
+
"eval_id": { "type": "string", "pattern": "^eval_[a-f0-9]{32}$" },
|
|
12
|
+
"rerun_type": { "$ref": "#/$defs/rerunType" },
|
|
13
|
+
"semantics": { "$ref": "#/$defs/semantics" },
|
|
14
|
+
"selector": { "$ref": "#/$defs/selector" },
|
|
15
|
+
"submitted_at": { "type": "string", "format": "date-time" }
|
|
16
|
+
},
|
|
17
|
+
"$defs": {
|
|
18
|
+
"rerunType": {
|
|
19
|
+
"enum": ["candidate-restart", "candidate-resume", "trajectory-replay", "verifier-only", "collect-only"]
|
|
20
|
+
},
|
|
21
|
+
"semantics": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"additionalProperties": false,
|
|
24
|
+
"required": ["candidate_action", "conversation_source", "sandbox_source", "candidate_executes"],
|
|
25
|
+
"properties": {
|
|
26
|
+
"candidate_action": { "enum": ["restart", "resume", "replay", "none"] },
|
|
27
|
+
"conversation_source": { "enum": ["original-instruction", "native-session", "canonical-trajectory", "none"] },
|
|
28
|
+
"sandbox_source": { "enum": ["clean", "checkpoint", "retained", "none"] },
|
|
29
|
+
"candidate_executes": { "type": "boolean" }
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"selector": {
|
|
33
|
+
"oneOf": [
|
|
34
|
+
{
|
|
35
|
+
"type": "object",
|
|
36
|
+
"additionalProperties": false,
|
|
37
|
+
"required": ["mode"],
|
|
38
|
+
"properties": { "mode": { "const": "invalid" } }
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"type": "object",
|
|
42
|
+
"additionalProperties": false,
|
|
43
|
+
"required": ["mode", "task_names"],
|
|
44
|
+
"properties": {
|
|
45
|
+
"mode": { "const": "tasks" },
|
|
46
|
+
"task_names": {
|
|
47
|
+
"type": "array",
|
|
48
|
+
"minItems": 1,
|
|
49
|
+
"maxItems": 10000,
|
|
50
|
+
"uniqueItems": true,
|
|
51
|
+
"items": { "type": "string", "minLength": 1, "maxLength": 1024 }
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -37,10 +37,43 @@
|
|
|
37
37
|
"harness_id": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" },
|
|
38
38
|
"revision_identity": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
39
39
|
"platform": { "type": "string", "pattern": "^(?:linux|darwin|win32)-[a-z0-9_]+$" },
|
|
40
|
-
"
|
|
40
|
+
"node_version": { "type": "string", "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]+$" },
|
|
41
|
+
"source_type": { "enum": ["npm", "git"] },
|
|
42
|
+
"storage": { "enum": ["host-artifact-store-v1", "harbor-artifact-cache-v2"] }
|
|
41
43
|
},
|
|
42
44
|
"additionalProperties": false
|
|
43
45
|
},
|
|
46
|
+
"prepared_artifacts": {
|
|
47
|
+
"type": "array",
|
|
48
|
+
"minItems": 1,
|
|
49
|
+
"items": {
|
|
50
|
+
"type": "object",
|
|
51
|
+
"required": ["artifact_id", "artifact_integrity", "entrypoint_integrity", "harness_id", "revision_identity", "platform", "node_version", "source_type", "task_ids", "runtime_contract"],
|
|
52
|
+
"properties": {
|
|
53
|
+
"artifact_id": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
54
|
+
"artifact_integrity": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
55
|
+
"entrypoint_integrity": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
56
|
+
"harness_id": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" },
|
|
57
|
+
"revision_identity": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
58
|
+
"platform": { "type": "string", "pattern": "^(?:linux|darwin|win32)-[a-z0-9_]+$" },
|
|
59
|
+
"node_version": { "type": "string", "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]+$" },
|
|
60
|
+
"source_type": { "enum": ["npm", "git"] },
|
|
61
|
+
"storage": { "enum": ["host-artifact-store-v1", "harbor-artifact-cache-v2"] },
|
|
62
|
+
"task_ids": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
|
|
63
|
+
"runtime_contract": {
|
|
64
|
+
"type": "object",
|
|
65
|
+
"required": ["docker_platform", "artifact_platform", "node_version"],
|
|
66
|
+
"properties": {
|
|
67
|
+
"docker_platform": { "enum": ["linux/amd64", "linux/arm64"] },
|
|
68
|
+
"artifact_platform": { "enum": ["linux-x64", "linux-arm64"] },
|
|
69
|
+
"node_version": { "type": "string", "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]+$" }
|
|
70
|
+
},
|
|
71
|
+
"additionalProperties": false
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"additionalProperties": false
|
|
75
|
+
}
|
|
76
|
+
},
|
|
44
77
|
"trials": {
|
|
45
78
|
"type": "array",
|
|
46
79
|
"items": {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-hitch.local/schemas/eval-submission-input.schema.json",
|
|
4
|
+
"title": "Hitch control-plane eval submission input V1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["request"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schema_version": { "const": "1" },
|
|
10
|
+
"request": { "$ref": "eval-request.schema.json" },
|
|
11
|
+
"execution": { "$ref": "eval-submission.schema.json#/$defs/execution" },
|
|
12
|
+
"idempotency_key": { "type": "string", "minLength": 1, "maxLength": 256, "pattern": "^[!-~]+$" }
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agent-hitch.local/schemas/eval-submission.schema.json",
|
|
4
|
+
"title": "Hitch control-plane eval submission V1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["schema_version", "eval_id", "request", "submission_digest", "submitted_at"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schema_version": { "const": "1" },
|
|
10
|
+
"eval_id": { "type": "string", "pattern": "^eval_[a-f0-9]{32}$" },
|
|
11
|
+
"request": { "$ref": "eval-request.schema.json" },
|
|
12
|
+
"execution": { "$ref": "#/$defs/execution" },
|
|
13
|
+
"submission_digest": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
14
|
+
"idempotency_key_hash": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
|
|
15
|
+
"submitted_at": { "type": "string", "format": "date-time" }
|
|
16
|
+
},
|
|
17
|
+
"$defs": {
|
|
18
|
+
"resources": {
|
|
19
|
+
"type": "object",
|
|
20
|
+
"additionalProperties": false,
|
|
21
|
+
"required": ["cpu_millis", "memory_bytes", "container_slots", "build_slots"],
|
|
22
|
+
"properties": {
|
|
23
|
+
"cpu_millis": { "type": "integer", "minimum": 0 },
|
|
24
|
+
"memory_bytes": { "type": "integer", "minimum": 0 },
|
|
25
|
+
"container_slots": { "type": "integer", "minimum": 0 },
|
|
26
|
+
"build_slots": { "type": "integer", "minimum": 0 },
|
|
27
|
+
"gpu_count": { "type": "integer", "minimum": 0 },
|
|
28
|
+
"ephemeral_disk_bytes": { "type": "integer", "minimum": 0 }
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"execution": {
|
|
32
|
+
"type": "object",
|
|
33
|
+
"additionalProperties": false,
|
|
34
|
+
"required": ["provider", "max_parallelism", "resources", "build", "model_capture"],
|
|
35
|
+
"properties": {
|
|
36
|
+
"provider": { "type": "string", "minLength": 1 },
|
|
37
|
+
"max_parallelism": { "type": "integer", "minimum": 1 },
|
|
38
|
+
"resources": {
|
|
39
|
+
"type": "object",
|
|
40
|
+
"additionalProperties": false,
|
|
41
|
+
"required": ["default_trial"],
|
|
42
|
+
"properties": {
|
|
43
|
+
"default_trial": { "$ref": "#/$defs/resources" },
|
|
44
|
+
"setup": { "$ref": "#/$defs/resources" }
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"build": {
|
|
48
|
+
"type": "object",
|
|
49
|
+
"additionalProperties": false,
|
|
50
|
+
"required": ["mode"],
|
|
51
|
+
"properties": {
|
|
52
|
+
"mode": { "enum": ["backend", "prebuild-preferred", "prebuild-required"] },
|
|
53
|
+
"remote_cache": { "type": "string", "minLength": 1 }
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"model_capture": {
|
|
57
|
+
"type": "object",
|
|
58
|
+
"additionalProperties": false,
|
|
59
|
+
"required": ["mode", "required"],
|
|
60
|
+
"properties": {
|
|
61
|
+
"mode": { "enum": ["off", "native", "proxy", "hybrid"] },
|
|
62
|
+
"required": { "type": "boolean" }
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|