agent-hitch 0.2.9 → 0.2.11
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 +208 -138
- package/README.zh-CN.md +195 -120
- package/dist/scripts/canary-native-training.js +221 -0
- package/dist/scripts/canary-native-training.js.map +1 -0
- package/dist/scripts/canary-remote-training.js +246 -0
- package/dist/scripts/canary-remote-training.js.map +1 -0
- package/dist/scripts/canary-remote-verifier.js +124 -0
- package/dist/scripts/canary-remote-verifier.js.map +1 -0
- package/dist/scripts/canary-worker-host.js +113 -0
- package/dist/scripts/canary-worker-host.js.map +1 -0
- package/dist/scripts/canary-worker-peer.js +188 -0
- package/dist/scripts/canary-worker-peer.js.map +1 -0
- package/dist/scripts/check-architecture.js +4 -3
- package/dist/scripts/check-architecture.js.map +1 -1
- package/dist/src/adapters/catalog.js +2 -1
- package/dist/src/adapters/catalog.js.map +1 -1
- package/dist/src/adapters/providers/codex.js +65 -2
- package/dist/src/adapters/providers/codex.js.map +1 -1
- package/dist/src/adapters/providers/model-call.js +17 -1
- package/dist/src/adapters/providers/model-call.js.map +1 -1
- package/dist/src/adapters/providers/training-tool.js +29 -0
- package/dist/src/adapters/providers/training-tool.js.map +1 -0
- package/dist/src/artifacts/index.js +1 -1
- package/dist/src/artifacts/index.js.map +1 -1
- package/dist/src/artifacts/store.js +15 -10
- package/dist/src/artifacts/store.js.map +1 -1
- package/dist/src/backends/harbor/backend.js +24 -15
- package/dist/src/backends/harbor/backend.js.map +1 -1
- package/dist/src/backends/harbor/bridge-environment.js +12 -0
- package/dist/src/backends/harbor/bridge-environment.js.map +1 -0
- package/dist/src/backends/harbor/environment-config.js +2 -2
- package/dist/src/backends/harbor/environment-config.js.map +1 -1
- package/dist/src/backends/harbor/host-credential-helper.js +81 -0
- package/dist/src/backends/harbor/host-credential-helper.js.map +1 -0
- package/dist/src/backends/harbor/index.js +3 -0
- package/dist/src/backends/harbor/index.js.map +1 -1
- package/dist/src/backends/harbor/model-proxy-config.js +18 -1
- package/dist/src/backends/harbor/model-proxy-config.js.map +1 -1
- package/dist/src/backends/harbor/observation.js +61 -0
- package/dist/src/backends/harbor/observation.js.map +1 -0
- package/dist/src/backends/harbor/portable-regrade.js +150 -0
- package/dist/src/backends/harbor/portable-regrade.js.map +1 -0
- package/dist/src/backends/harbor/process.js +26 -5
- package/dist/src/backends/harbor/process.js.map +1 -1
- package/dist/src/backends/harbor/regrade.js +4 -1
- package/dist/src/backends/harbor/regrade.js.map +1 -1
- package/dist/src/backends/harbor/supervisor.js +22 -0
- package/dist/src/backends/harbor/supervisor.js.map +1 -1
- package/dist/src/backends/harbor/tools.js +2 -0
- package/dist/src/backends/harbor/tools.js.map +1 -1
- package/dist/src/backends/index.js +3 -0
- package/dist/src/backends/index.js.map +1 -1
- package/dist/src/cli/arguments.js +33 -0
- package/dist/src/cli/arguments.js.map +1 -1
- package/dist/src/cli/commands/capabilities.js +15 -1
- package/dist/src/cli/commands/capabilities.js.map +1 -1
- package/dist/src/cli/commands/daemon.js +19 -0
- package/dist/src/cli/commands/daemon.js.map +1 -1
- package/dist/src/cli/commands/eval.js +38 -10
- package/dist/src/cli/commands/eval.js.map +1 -1
- package/dist/src/cli/commands/local.js +130 -0
- package/dist/src/cli/commands/local.js.map +1 -0
- package/dist/src/cli/commands/model-node.js +26 -0
- package/dist/src/cli/commands/model-node.js.map +1 -0
- package/dist/src/cli/commands/models.js +72 -0
- package/dist/src/cli/commands/models.js.map +1 -0
- package/dist/src/cli/commands/run.js +36 -1
- package/dist/src/cli/commands/run.js.map +1 -1
- package/dist/src/cli/commands/training.js +32 -0
- package/dist/src/cli/commands/training.js.map +1 -0
- package/dist/src/cli/commands/verifier.js +54 -3
- package/dist/src/cli/commands/verifier.js.map +1 -1
- package/dist/src/cli/commands/worker.js +30 -2
- package/dist/src/cli/commands/worker.js.map +1 -1
- package/dist/src/cli/main.js +8 -0
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/cli/output.js +26 -2
- package/dist/src/cli/output.js.map +1 -1
- package/dist/src/control-plane/eval-records.js +2 -0
- package/dist/src/control-plane/eval-records.js.map +1 -1
- package/dist/src/control-plane/eval-recovery.js +7 -1
- package/dist/src/control-plane/eval-recovery.js.map +1 -1
- package/dist/src/control-plane/eval-scheduler.js +24 -50
- package/dist/src/control-plane/eval-scheduler.js.map +1 -1
- package/dist/src/control-plane/eval-submission-persist.js +30 -0
- package/dist/src/control-plane/eval-submission-persist.js.map +1 -0
- package/dist/src/control-plane/execution-observation-contract.js +60 -0
- package/dist/src/control-plane/execution-observation-contract.js.map +1 -0
- package/dist/src/control-plane/index.js +10 -0
- package/dist/src/control-plane/index.js.map +1 -1
- package/dist/src/control-plane/inference-manager.js +357 -0
- package/dist/src/control-plane/inference-manager.js.map +1 -0
- package/dist/src/control-plane/managed-gateway-receipt.js +26 -0
- package/dist/src/control-plane/managed-gateway-receipt.js.map +1 -0
- package/dist/src/control-plane/managed-service-recovery.js +158 -0
- package/dist/src/control-plane/managed-service-recovery.js.map +1 -0
- package/dist/src/control-plane/model-capture-planning.js +15 -1
- package/dist/src/control-plane/model-capture-planning.js.map +1 -1
- package/dist/src/control-plane/ordered-eval-control.js +221 -0
- package/dist/src/control-plane/ordered-eval-control.js.map +1 -0
- package/dist/src/control-plane/remote-backend-result.js +18 -0
- package/dist/src/control-plane/remote-backend-result.js.map +1 -0
- package/dist/src/control-plane/remote-execution-lease.js +15 -0
- package/dist/src/control-plane/remote-execution-lease.js.map +1 -0
- package/dist/src/control-plane/remote-execution-observation.js +108 -0
- package/dist/src/control-plane/remote-execution-observation.js.map +1 -0
- package/dist/src/control-plane/remote-model-routes.js +107 -0
- package/dist/src/control-plane/remote-model-routes.js.map +1 -0
- package/dist/src/control-plane/remote-observation-reporter.js +37 -0
- package/dist/src/control-plane/remote-observation-reporter.js.map +1 -0
- package/dist/src/control-plane/remote-offer-contract.js +48 -0
- package/dist/src/control-plane/remote-offer-contract.js.map +1 -0
- package/dist/src/control-plane/remote-rerun-journal.js +61 -0
- package/dist/src/control-plane/remote-rerun-journal.js.map +1 -0
- package/dist/src/control-plane/remote-result-transport.js +55 -9
- package/dist/src/control-plane/remote-result-transport.js.map +1 -1
- package/dist/src/control-plane/remote-verifier-import.js +52 -0
- package/dist/src/control-plane/remote-verifier-import.js.map +1 -0
- package/dist/src/control-plane/remote-verifier-result.js +61 -0
- package/dist/src/control-plane/remote-verifier-result.js.map +1 -0
- package/dist/src/control-plane/remote-verifier-source-transport.js +68 -0
- package/dist/src/control-plane/remote-verifier-source-transport.js.map +1 -0
- package/dist/src/control-plane/remote-work-coordinator.js +103 -47
- package/dist/src/control-plane/remote-work-coordinator.js.map +1 -1
- package/dist/src/control-plane/remote-work-inputs.js +26 -5
- package/dist/src/control-plane/remote-work-inputs.js.map +1 -1
- package/dist/src/control-plane/remote-work-recovery.js +123 -34
- package/dist/src/control-plane/remote-work-recovery.js.map +1 -1
- package/dist/src/control-plane/remote-worker-artifacts.js +10 -7
- package/dist/src/control-plane/remote-worker-artifacts.js.map +1 -1
- package/dist/src/control-plane/remote-worker-cleanup.js +104 -0
- package/dist/src/control-plane/remote-worker-cleanup.js.map +1 -0
- package/dist/src/control-plane/remote-worker-client.js +156 -14
- package/dist/src/control-plane/remote-worker-client.js.map +1 -1
- package/dist/src/control-plane/remote-worker-codecs.js +160 -0
- package/dist/src/control-plane/remote-worker-codecs.js.map +1 -0
- package/dist/src/control-plane/remote-worker-generation-recovery.js +67 -0
- package/dist/src/control-plane/remote-worker-generation-recovery.js.map +1 -0
- package/dist/src/control-plane/remote-worker-ownership.js +51 -0
- package/dist/src/control-plane/remote-worker-ownership.js.map +1 -0
- package/dist/src/control-plane/remote-worker-protocol.js +85 -119
- package/dist/src/control-plane/remote-worker-protocol.js.map +1 -1
- package/dist/src/control-plane/remote-worker-runner.js +95 -18
- package/dist/src/control-plane/remote-worker-runner.js.map +1 -1
- package/dist/src/control-plane/remote-workers.js +33 -5
- package/dist/src/control-plane/remote-workers.js.map +1 -1
- package/dist/src/control-plane/rerun-recovery.js +89 -0
- package/dist/src/control-plane/rerun-recovery.js.map +1 -0
- package/dist/src/control-plane/rerun-scheduler.js +70 -96
- package/dist/src/control-plane/rerun-scheduler.js.map +1 -1
- package/dist/src/control-plane/rerun-source.js +57 -0
- package/dist/src/control-plane/rerun-source.js.map +1 -0
- package/dist/src/control-plane/worker-model-relay.js +76 -0
- package/dist/src/control-plane/worker-model-relay.js.map +1 -0
- package/dist/src/controller-runtime/hash.js +3 -0
- package/dist/src/controller-runtime/hash.js.map +1 -1
- package/dist/src/controller-runtime/index.js +2 -0
- package/dist/src/controller-runtime/index.js.map +1 -1
- package/dist/src/controller-runtime/observation.js +29 -0
- package/dist/src/controller-runtime/observation.js.map +1 -0
- package/dist/src/controller-runtime/resident.js +22 -0
- package/dist/src/controller-runtime/resident.js.map +1 -0
- package/dist/src/daemon/client.js +34 -1
- package/dist/src/daemon/client.js.map +1 -1
- package/dist/src/daemon/execution-observation.js +38 -0
- package/dist/src/daemon/execution-observation.js.map +1 -0
- package/dist/src/daemon/http.js +57 -0
- package/dist/src/daemon/http.js.map +1 -0
- package/dist/src/daemon/inference-prepare.js +47 -0
- package/dist/src/daemon/inference-prepare.js.map +1 -0
- package/dist/src/daemon/scheduler.js +4 -1
- package/dist/src/daemon/scheduler.js.map +1 -1
- package/dist/src/daemon/server.js +80 -82
- package/dist/src/daemon/server.js.map +1 -1
- package/dist/src/daemon/worker-observation.js +34 -0
- package/dist/src/daemon/worker-observation.js.map +1 -0
- package/dist/src/daemon/worker-ownership.js +71 -0
- package/dist/src/daemon/worker-ownership.js.map +1 -0
- package/dist/src/daemon/worker-routes.js +83 -15
- package/dist/src/daemon/worker-routes.js.map +1 -1
- package/dist/src/domain/execution-observation.js +2 -0
- package/dist/src/domain/execution-observation.js.map +1 -0
- package/dist/src/domain/index.js +1 -0
- package/dist/src/domain/index.js.map +1 -1
- package/dist/src/domain/inference.js +2 -0
- package/dist/src/domain/inference.js.map +1 -0
- package/dist/src/domain/runs.js.map +1 -1
- package/dist/src/domain/training.js +2 -0
- package/dist/src/domain/training.js.map +1 -0
- package/dist/src/domain/validation.js +11 -0
- package/dist/src/domain/validation.js.map +1 -1
- package/dist/src/domain/verifier-source.js +2 -0
- package/dist/src/domain/verifier-source.js.map +1 -0
- package/dist/src/domain/worker-recovery.js +2 -0
- package/dist/src/domain/worker-recovery.js.map +1 -0
- package/dist/src/evals/eval-logical-plan.js +8 -1
- package/dist/src/evals/eval-logical-plan.js.map +1 -1
- package/dist/src/evals/execution-leases.js +15 -2
- package/dist/src/evals/execution-leases.js.map +1 -1
- package/dist/src/evals/execution-plan.js +11 -1
- package/dist/src/evals/execution-plan.js.map +1 -1
- package/dist/src/evals/harbor-bridge-error.js +8 -0
- package/dist/src/evals/harbor-bridge-error.js.map +1 -1
- package/dist/src/evals/index.js +20 -0
- package/dist/src/evals/index.js.map +1 -1
- package/dist/src/evals/model-capture-plan.js +12 -0
- package/dist/src/evals/model-capture-plan.js.map +1 -1
- package/dist/src/evals/model-capture-runtime.js +25 -0
- package/dist/src/evals/model-capture-runtime.js.map +1 -1
- package/dist/src/evals/physical-work-plan.js +57 -0
- package/dist/src/evals/physical-work-plan.js.map +1 -0
- package/dist/src/evals/preparation-rerun.js +6 -0
- package/dist/src/evals/preparation-rerun.js.map +1 -1
- package/dist/src/evals/recovery.js +8 -1
- package/dist/src/evals/recovery.js.map +1 -1
- package/dist/src/evals/regrade-evidence.js +4 -4
- package/dist/src/evals/regrade-evidence.js.map +1 -1
- package/dist/src/evals/remote-execution-ownership.js +50 -0
- package/dist/src/evals/remote-execution-ownership.js.map +1 -0
- package/dist/src/evals/remote-infrastructure-retry.js +2 -0
- package/dist/src/evals/remote-infrastructure-retry.js.map +1 -1
- package/dist/src/evals/remote-lease-release.js +58 -0
- package/dist/src/evals/remote-lease-release.js.map +1 -0
- package/dist/src/evals/remote-rerun-execution.js +85 -0
- package/dist/src/evals/remote-rerun-execution.js.map +1 -0
- package/dist/src/evals/remote-trial.js +6 -0
- package/dist/src/evals/remote-trial.js.map +1 -0
- package/dist/src/evals/remote-verifier-assessment.js +85 -0
- package/dist/src/evals/remote-verifier-assessment.js.map +1 -0
- package/dist/src/evals/remote-verifier-contract.js +43 -0
- package/dist/src/evals/remote-verifier-contract.js.map +1 -0
- package/dist/src/evals/remote-verifier-execution.js +105 -0
- package/dist/src/evals/remote-verifier-execution.js.map +1 -0
- package/dist/src/evals/remote-verifier-journal.js +21 -0
- package/dist/src/evals/remote-verifier-journal.js.map +1 -0
- package/dist/src/evals/remote-verifier-outcome.js +51 -0
- package/dist/src/evals/remote-verifier-outcome.js.map +1 -0
- package/dist/src/evals/remote-verifier-rerun.js +134 -0
- package/dist/src/evals/remote-verifier-rerun.js.map +1 -0
- package/dist/src/evals/remote-verifier-selection.js +61 -0
- package/dist/src/evals/remote-verifier-selection.js.map +1 -0
- package/dist/src/evals/remote-verifier-source.js +33 -0
- package/dist/src/evals/remote-verifier-source.js.map +1 -0
- package/dist/src/evals/remote-worker-cleanup.js +46 -0
- package/dist/src/evals/remote-worker-cleanup.js.map +1 -0
- package/dist/src/evals/request.js +58 -1
- package/dist/src/evals/request.js.map +1 -1
- package/dist/src/evals/rerun-completion.js +39 -0
- package/dist/src/evals/rerun-completion.js.map +1 -0
- package/dist/src/evals/rerun-resume.js +70 -0
- package/dist/src/evals/rerun-resume.js.map +1 -0
- package/dist/src/evals/rerun-state.js +25 -0
- package/dist/src/evals/rerun-state.js.map +1 -0
- package/dist/src/evals/rerun-types.js.map +1 -1
- package/dist/src/evals/rerun.js +90 -46
- package/dist/src/evals/rerun.js.map +1 -1
- package/dist/src/evals/service.js +59 -5
- package/dist/src/evals/service.js.map +1 -1
- package/dist/src/evals/verifier-artifacts.js +98 -153
- package/dist/src/evals/verifier-artifacts.js.map +1 -1
- package/dist/src/evals/verifier-diagnostic-repair.js +276 -0
- package/dist/src/evals/verifier-diagnostic-repair.js.map +1 -0
- package/dist/src/evals/verifier-only-rerun.js +2 -16
- package/dist/src/evals/verifier-only-rerun.js.map +1 -1
- package/dist/src/evals/verifier-rerun-result.js +24 -0
- package/dist/src/evals/verifier-rerun-result.js.map +1 -0
- package/dist/src/evals/verifier-source-import.js +48 -0
- package/dist/src/evals/verifier-source-import.js.map +1 -0
- package/dist/src/evals/verifier-source.js +139 -0
- package/dist/src/evals/verifier-source.js.map +1 -0
- package/dist/src/foundation/base64.js +19 -0
- package/dist/src/foundation/base64.js.map +1 -0
- package/dist/src/foundation/config.js +10 -0
- package/dist/src/foundation/config.js.map +1 -1
- package/dist/src/foundation/credential-redaction.js +22 -9
- package/dist/src/foundation/credential-redaction.js.map +1 -1
- package/dist/src/foundation/index.js +1 -0
- package/dist/src/foundation/index.js.map +1 -1
- package/dist/src/foundation/process-identity.js +13 -9
- package/dist/src/foundation/process-identity.js.map +1 -1
- package/dist/src/inference/daemon-capacity.js +41 -0
- package/dist/src/inference/daemon-capacity.js.map +1 -0
- package/dist/src/inference/device-reservation.js +58 -0
- package/dist/src/inference/device-reservation.js.map +1 -0
- package/dist/src/inference/doctor.js +95 -0
- package/dist/src/inference/doctor.js.map +1 -0
- package/dist/src/inference/generation-recovery.js +83 -0
- package/dist/src/inference/generation-recovery.js.map +1 -0
- package/dist/src/inference/index.js +24 -0
- package/dist/src/inference/index.js.map +1 -0
- package/dist/src/inference/lock.js +331 -0
- package/dist/src/inference/lock.js.map +1 -0
- package/dist/src/inference/managed-launcher.js +35 -0
- package/dist/src/inference/managed-launcher.js.map +1 -0
- package/dist/src/inference/manifest.js +262 -0
- package/dist/src/inference/manifest.js.map +1 -0
- package/dist/src/inference/materialize.js +66 -0
- package/dist/src/inference/materialize.js.map +1 -0
- package/dist/src/inference/model-location.js +34 -0
- package/dist/src/inference/model-location.js.map +1 -0
- package/dist/src/inference/model-store.js +439 -0
- package/dist/src/inference/model-store.js.map +1 -0
- package/dist/src/inference/node-client.js +167 -0
- package/dist/src/inference/node-client.js.map +1 -0
- package/dist/src/inference/node-registry.js +79 -0
- package/dist/src/inference/node-registry.js.map +1 -0
- package/dist/src/inference/observation.js +79 -0
- package/dist/src/inference/observation.js.map +1 -0
- package/dist/src/inference/preflight.js +132 -0
- package/dist/src/inference/preflight.js.map +1 -0
- package/dist/src/inference/process-sglang.js +169 -0
- package/dist/src/inference/process-sglang.js.map +1 -0
- package/dist/src/inference/protocol-probe.js +29 -0
- package/dist/src/inference/protocol-probe.js.map +1 -0
- package/dist/src/inference/remote-model-store.js +24 -0
- package/dist/src/inference/remote-model-store.js.map +1 -0
- package/dist/src/inference/runtime-catalog.js +41 -0
- package/dist/src/inference/runtime-catalog.js.map +1 -0
- package/dist/src/inference/runtime-store.js +93 -0
- package/dist/src/inference/runtime-store.js.map +1 -0
- package/dist/src/inference/service-attachment.js +46 -0
- package/dist/src/inference/service-attachment.js.map +1 -0
- package/dist/src/inference/service-inspection.js +38 -0
- package/dist/src/inference/service-inspection.js.map +1 -0
- package/dist/src/inference/sglang.js +279 -0
- package/dist/src/inference/sglang.js.map +1 -0
- package/dist/src/inference/supervisor.js +460 -0
- package/dist/src/inference/supervisor.js.map +1 -0
- package/dist/src/model-access/environment.js +28 -0
- package/dist/src/model-access/environment.js.map +1 -0
- package/dist/src/model-access/index.js +4 -0
- package/dist/src/model-access/index.js.map +1 -1
- package/dist/src/model-access/local-gateway-request.js +139 -0
- package/dist/src/model-access/local-gateway-request.js.map +1 -0
- package/dist/src/model-access/local-gateway.js +323 -0
- package/dist/src/model-access/local-gateway.js.map +1 -0
- package/dist/src/model-access/proxy.js +90 -5
- package/dist/src/model-access/proxy.js.map +1 -1
- package/dist/src/model-access/remote-model.js +58 -0
- package/dist/src/model-access/remote-model.js.map +1 -0
- package/dist/src/model-access/training.js +115 -0
- package/dist/src/model-access/training.js.map +1 -0
- package/dist/src/runs/adapter-process.js +2 -2
- package/dist/src/runs/adapter-process.js.map +1 -1
- package/dist/src/runs/executor-types.js +2 -0
- package/dist/src/runs/executor-types.js.map +1 -0
- package/dist/src/runs/executor.js +54 -34
- package/dist/src/runs/executor.js.map +1 -1
- package/dist/src/runs/index.js +4 -2
- package/dist/src/runs/index.js.map +1 -1
- package/dist/src/runs/local-inference-environment.js +59 -0
- package/dist/src/runs/local-inference-environment.js.map +1 -0
- package/dist/src/runs/local-inference-run.js +53 -0
- package/dist/src/runs/local-inference-run.js.map +1 -0
- package/dist/src/runs/outcome.js +22 -0
- package/dist/src/runs/outcome.js.map +1 -1
- package/dist/src/runs/records.js +9 -0
- package/dist/src/runs/records.js.map +1 -1
- package/dist/src/runs/request.js +58 -3
- package/dist/src/runs/request.js.map +1 -1
- package/dist/src/runs/training-evidence.js +22 -0
- package/dist/src/runs/training-evidence.js.map +1 -0
- package/dist/src/runs/training-runtime.js +20 -0
- package/dist/src/runs/training-runtime.js.map +1 -0
- package/dist/src/runs/verifier-diagnostic-storage.js +237 -0
- package/dist/src/runs/verifier-diagnostic-storage.js.map +1 -0
- package/dist/src/runs/verifier-diagnostic-supplement.js +228 -0
- package/dist/src/runs/verifier-diagnostic-supplement.js.map +1 -0
- package/dist/src/runs/verifier-evidence.js +119 -118
- package/dist/src/runs/verifier-evidence.js.map +1 -1
- package/dist/src/trajectories/providers/deepseek.js +52 -38
- package/dist/src/trajectories/providers/deepseek.js.map +1 -1
- package/dist/src/trajectories/store.js +17 -0
- package/dist/src/trajectories/store.js.map +1 -1
- package/dist/src/workers/execution-observation.js +32 -0
- package/dist/src/workers/execution-observation.js.map +1 -0
- package/dist/src/workers/index.js +2 -0
- package/dist/src/workers/index.js.map +1 -1
- package/dist/src/workers/remote-harbor-ownership.js +266 -0
- package/dist/src/workers/remote-harbor-ownership.js.map +1 -0
- package/dist/src/workers/remote-harbor-verifier.js +76 -0
- package/dist/src/workers/remote-harbor-verifier.js.map +1 -0
- package/dist/src/workers/remote-harbor-work-spec.js +66 -10
- package/dist/src/workers/remote-harbor-work-spec.js.map +1 -1
- package/dist/src/workers/remote-harbor-worker.js +56 -49
- package/dist/src/workers/remote-harbor-worker.js.map +1 -1
- package/dist/src/workers/remote-worker-host.js +33 -0
- package/dist/src/workers/remote-worker-host.js.map +1 -0
- package/docs/local-model-inference-spec.zh-CN.md +666 -0
- package/docs/schemas/controller-runtime-observation.schema.json +21 -0
- package/docs/schemas/eval-execution-plan.schema.json +1 -0
- package/docs/schemas/eval-request.schema.json +3 -1
- package/docs/schemas/execution-lease.schema.json +95 -1
- package/docs/schemas/execution-provider-status.schema.json +162 -28
- package/docs/schemas/inference-execution-evidence.schema.json +487 -0
- package/docs/schemas/inference-lock.schema.json +487 -0
- package/docs/schemas/inference-runtime-manifest.schema.json +156 -0
- package/docs/schemas/inference-service-record.schema.json +227 -0
- package/docs/schemas/local-inference-selection.schema.json +98 -0
- package/docs/schemas/local-model-manifest.schema.json +43 -0
- package/docs/schemas/model-node-binding.schema.json +34 -0
- package/docs/schemas/model-node-generation-release.schema.json +46 -0
- package/docs/schemas/ordered-eval-control.schema.json +39 -0
- package/docs/schemas/remote-execution-lease-grant.schema.json +45 -0
- package/docs/schemas/remote-harbor-work-spec.schema.json +325 -0
- package/docs/schemas/remote-model-binding.schema.json +21 -0
- package/docs/schemas/remote-physical-execution.schema.json +108 -0
- package/docs/schemas/remote-result-envelope.schema.json +9 -3
- package/docs/schemas/remote-tree-envelope.schema.json +17 -3
- package/docs/schemas/remote-verifier-result.schema.json +203 -0
- package/docs/schemas/remote-verifier-source.schema.json +52 -0
- package/docs/schemas/remote-verifier-work.schema.json +125 -0
- package/docs/schemas/remote-work-offer.schema.json +170 -34
- package/docs/schemas/remote-worker-execution-admission.schema.json +214 -0
- package/docs/schemas/remote-worker-generation-cleanup.schema.json +199 -0
- package/docs/schemas/remote-worker-registration.schema.json +226 -25
- package/docs/schemas/run-manifest.schema.json +211 -44
- package/docs/schemas/run-request.schema.json +2 -1
- package/docs/schemas/training-external-binding.schema.json +26 -0
- package/docs/schemas/verifier-diagnostic-page.schema.json +97 -0
- package/integrations/harbor/hitch_harbor_agent.py +241 -13
- package/integrations/harbor/hitch_harbor_environment.py +22 -1
- package/integrations/harbor/hitch_host_credentials.py +354 -0
- package/integrations/harbor/hitch_private_exec.py +150 -0
- package/integrations/model-call/cli.js +13 -5
- package/integrations/training-tool/cli.js +72 -0
- package/package.json +8 -2
package/README.md
CHANGED
|
@@ -1,215 +1,285 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
1
3
|
# Hitch
|
|
2
4
|
|
|
5
|
+
### The execution layer for model and agent evaluation
|
|
6
|
+
|
|
3
7
|
[](https://www.npmjs.com/package/agent-hitch)
|
|
4
8
|
[](https://github.com/rsi-gear/agent-hitch/releases)
|
|
9
|
+
[](LICENSE)
|
|
5
10
|
[](https://discord.gg/cZ4NBbHDk)
|
|
6
11
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
**Reproducible runs for agent harnesses.**
|
|
10
|
-
|
|
11
|
-
Hitch runs Codex, Claude Code, Pi, OpenCode, and DeepSeek Harness from exact
|
|
12
|
-
versions or Git commits. Every run links the harness revision, immutable
|
|
13
|
-
artifact, workspace, trajectory, logs, and evaluation evidence.
|
|
14
|
-
|
|
15
|
-
```text
|
|
16
|
-
version or commit -> immutable artifact -> run or eval -> verifiable evidence
|
|
17
|
-
```
|
|
12
|
+
English | [简体中文](README.zh-CN.md)
|
|
18
13
|
|
|
19
|
-
|
|
20
|
-
npm install --global agent-hitch
|
|
14
|
+
**[User Guide](https://rsigear.xyz/docs/hitch/) · [Quick Start](#quick-start) · [How It Works](#how-it-works) · [Hitch & Harbor](#hitch-and-harbor) · [Parallelism & Recovery](#parallel-execution-and-recovery)**
|
|
21
15
|
|
|
22
|
-
|
|
23
|
-
--harness codex@version:0.92.0 \
|
|
24
|
-
--prompt "Inspect this repository"
|
|
25
|
-
```
|
|
16
|
+
</div>
|
|
26
17
|
|
|
27
|
-
|
|
28
|
-
|
|
18
|
+
Evaluating models and agent harnesses means coordinating image builds,
|
|
19
|
+
sandboxes, harness versions, model endpoints, retries, and evidence. That work
|
|
20
|
+
grows as experiments run in parallel or move across machines.
|
|
29
21
|
|
|
30
|
-
|
|
22
|
+
**Hitch manages the path from a task definition to a verifiable result bundle.**
|
|
23
|
+
Submit Harbor-compatible tasks with your chosen model and harness; Hitch
|
|
24
|
+
prepares, schedules, executes, and collects the results. Fix the harness to
|
|
25
|
+
compare models, or fix the model to compare harnesses.
|
|
31
26
|
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
- [x] **Build and cache.** Pin harness versions and reuse verified artifacts and environment images.
|
|
28
|
+
- [x] **Adapt the harness.** Run Codex, Claude Code, and other supported harnesses through one interface.
|
|
29
|
+
- [x] **Connect the model.** Use hosted APIs or managed local and remote SGLang inference.
|
|
30
|
+
- [x] **Place the work.** Execute task sandboxes on local Docker or registered remote workers.
|
|
31
|
+
- [x] **Run and recover.** Share resource budgets, run trials in parallel, and preserve completed work through supported recovery paths.
|
|
32
|
+
- [x] **Collect the evidence.** Keep scores, trajectories, verifier evidence, and provenance in one result bundle.
|
|
34
33
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
- **Audit** results with immutable artifacts, native events, canonical
|
|
38
|
-
trajectories, logs, feedback, and eval records.
|
|
34
|
+
> **Status:** pre-alpha. Setup and support limits are covered in the
|
|
35
|
+
> [User Guide](https://rsigear.xyz/docs/hitch/).
|
|
39
36
|
|
|
40
|
-
|
|
41
|
-
agent infrastructure, and automated promotion pipelines.
|
|
37
|
+
## Quick Start
|
|
42
38
|
|
|
43
|
-
|
|
39
|
+
You need **Node.js 22+**, Git, and model access. Local runs do not require Docker.
|
|
44
40
|
|
|
45
|
-
Hitch
|
|
41
|
+
**1. Install Hitch and Codex, then authenticate.** Complete the Codex login
|
|
42
|
+
flow before continuing; Hitch will use this installed executable.
|
|
46
43
|
|
|
47
44
|
```bash
|
|
48
|
-
npm install --global agent-hitch
|
|
49
|
-
|
|
45
|
+
npm install --global agent-hitch @openai/codex
|
|
46
|
+
codex login
|
|
50
47
|
```
|
|
51
48
|
|
|
52
|
-
Run
|
|
49
|
+
**2. Run from a clean Git repository.** `git status --short` must show no changes
|
|
50
|
+
for worktree mode. To include uncommitted files, choose
|
|
51
|
+
[`--workspace-mode copy`](docs/guide/en/versions-and-workspaces.md).
|
|
53
52
|
|
|
54
53
|
```bash
|
|
54
|
+
git status --short
|
|
55
55
|
hitch run \
|
|
56
|
-
--harness codex@
|
|
56
|
+
--harness codex@installed \
|
|
57
57
|
--workspace-mode worktree \
|
|
58
|
-
--prompt "
|
|
59
|
-
--
|
|
58
|
+
--prompt "Summarize this repository and its test commands. Do not modify files." \
|
|
59
|
+
--timeout 5m \
|
|
60
|
+
--output json
|
|
60
61
|
```
|
|
61
62
|
|
|
62
|
-
|
|
63
|
-
|
|
63
|
+
**3. Inspect the result.** Replace `RUN_ID` with the returned `run_id`. Check its
|
|
64
|
+
status, exit code, and answer, then inspect the available trajectory.
|
|
64
65
|
|
|
65
66
|
```bash
|
|
67
|
+
hitch runs inspect RUN_ID --json
|
|
66
68
|
hitch trajectory project RUN_ID --profile analysis --json
|
|
67
|
-
hitch trajectory events RUN_ID --types tool/call,tool/result --limit 100 --json
|
|
68
|
-
hitch trajectory inspect RUN_ID
|
|
69
|
-
hitch verifier inspect RUN_ID --json
|
|
70
69
|
```
|
|
71
70
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
71
|
+
Records live under `~/.hitch/runs/RUN_ID/`. Managed workspaces are retained;
|
|
72
|
+
Hitch does not automatically merge agent changes into your source repository.
|
|
73
|
+
See the [complete Quick Start](https://rsigear.xyz/docs/hitch/quickstart) for
|
|
74
|
+
authentication options, model selection, and parallel submission examples.
|
|
75
|
+
|
|
76
|
+
## How it works
|
|
77
|
+
|
|
78
|
+
```mermaid
|
|
79
|
+
flowchart LR
|
|
80
|
+
tasks["Harbor-compatible tasks<br/>Model + harness"] --> prepare
|
|
81
|
+
subgraph hitch["Hitch execution layer"]
|
|
82
|
+
prepare["Build & cache<br/>Harness adapters"] --> execute["Task sandboxes<br/>Scheduling & recovery"]
|
|
83
|
+
execute <--> access["Model access<br/>Optional interaction capture"]
|
|
84
|
+
end
|
|
85
|
+
access <--> models["Hosted APIs<br/>Local / remote SGLang"]
|
|
86
|
+
execute --> bundle["Result bundle<br/>Trajectory · verifier evidence · provenance"]
|
|
87
|
+
access -.-> bundle
|
|
88
|
+
bundle -.-> candidate["Training-data candidate<br/>Optional export"]
|
|
89
|
+
```
|
|
79
90
|
|
|
80
|
-
|
|
81
|
-
|
|
91
|
+
The CLI and daemon HTTP API drive the same execution layer. Tasks define the
|
|
92
|
+
instructions, environment, and verifier; Hitch manages preparation, execution,
|
|
93
|
+
and evidence publication. Each bundle links the result to its harness revision,
|
|
94
|
+
model identity, environment images, and execution records.
|
|
82
95
|
|
|
83
|
-
|
|
96
|
+
Model interaction capture depends on the harness, endpoint, and capture policy.
|
|
97
|
+
Training-data candidates carry eligibility and provenance for downstream review.
|
|
84
98
|
|
|
85
|
-
|
|
99
|
+
[Build and cache](docs/environment-images.md) ·
|
|
100
|
+
[Execution and evidence contracts](docs/hitch-harbor-control-plane-implementation-status.md)
|
|
86
101
|
|
|
87
|
-
|
|
88
|
-
# Fingerprint and use the executable already installed on this machine.
|
|
89
|
-
hitch run --harness codex@installed --prompt "Inspect this repository"
|
|
102
|
+
## Hitch and Harbor
|
|
90
103
|
|
|
91
|
-
|
|
92
|
-
|
|
104
|
+
Hitch adopts **Harbor's task definition format** for existing benchmarks and
|
|
105
|
+
custom tasks. Its [benchmark packages](docs/benchmark-packages.md) define task
|
|
106
|
+
inputs, tools, lifecycle hooks, and grading. Hitch manages experiment versions,
|
|
107
|
+
execution orchestration, recovery, and results.
|
|
93
108
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
109
|
+
| Capability | Harbor CLI | Hitch |
|
|
110
|
+
| --- | :---: | :---: |
|
|
111
|
+
| **Shared resource budget across evaluations** | — | ✅ |
|
|
112
|
+
| **Fair scheduling across evaluations** | — | ✅ |
|
|
113
|
+
| **Reattach live trials after a controller crash** | — | ✅ |
|
|
114
|
+
| Parallel trials, retries, and regrading | ✅ | ✅ |
|
|
115
|
+
| Resume interrupted evaluations | ✅ | ✅ |
|
|
97
116
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
| DeepSeek Harness | ✓ | ✓ | ✓ |
|
|
117
|
+
Local CLI workflows. **—** = requires additional orchestration.
|
|
118
|
+
Fair scheduling requires known tasks; live recovery requires POSIX and retained
|
|
119
|
+
execution evidence. [Support details →](docs/guide/en/daemon.md)
|
|
120
|
+
|
|
121
|
+
<details>
|
|
122
|
+
<summary>Evidence and comparison scope</summary>
|
|
105
123
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
124
|
+
The recorded 2026-09-01 offline Harbor canary ran 20 trials with one environment
|
|
125
|
+
build, 19 cache hits, and zero OOMs. This validates that workload's cache reuse
|
|
126
|
+
and resource admission; it is not a speed or cost comparison against native Harbor.
|
|
127
|
+
[Validation record](docs/hitch-harbor-control-plane-implementation-status.md) ·
|
|
128
|
+
[Harness build reuse](docs/evals.md)
|
|
109
129
|
|
|
110
|
-
|
|
130
|
+
[Harbor evaluations](https://www.harborframework.com/docs/run-jobs/run-evals) ·
|
|
131
|
+
[Harbor retry/resume](https://github.com/harbor-framework/harbor/blob/main/src/harbor/cli/jobs.py) ·
|
|
132
|
+
[Harbor regrade](https://www.harborframework.com/docs/run-jobs/regrade) ·
|
|
133
|
+
[Hitch scheduling and recovery](docs/daemon.md)
|
|
111
134
|
|
|
112
|
-
|
|
135
|
+
</details>
|
|
113
136
|
|
|
114
|
-
|
|
115
|
-
- validated, content-addressed runnable artifact;
|
|
116
|
-
- workspace, model identity, lifecycle, and terminal result;
|
|
117
|
-
- normalized control-plane events and raw process logs;
|
|
118
|
-
- redacted provider-native events where supported;
|
|
119
|
-
- DSH-compatible canonical trajectory with SHA-256-bound files; and
|
|
120
|
-
- versioned message feedback and bounded verifier/evaluation evidence.
|
|
137
|
+
## Local and remote model inference
|
|
121
138
|
|
|
122
|
-
|
|
139
|
+
Import a complete Hugging Face safetensors checkpoint once, then use the same
|
|
140
|
+
run and eval commands with a `local/<name>` model. Hitch chooses a pinned
|
|
141
|
+
CPU or CUDA preview runtime, starts the daemon and SGLang service when needed, and
|
|
142
|
+
records the immutable model/runtime/inference identities automatically.
|
|
123
143
|
|
|
124
144
|
```bash
|
|
125
|
-
hitch
|
|
126
|
-
|
|
127
|
-
hitch
|
|
128
|
-
|
|
129
|
-
--
|
|
130
|
-
--
|
|
131
|
-
--note "Kept the change focused"
|
|
145
|
+
hitch models add /models/coder-checkpoint --name coder
|
|
146
|
+
|
|
147
|
+
hitch run \
|
|
148
|
+
--harness codex@version:0.145.0 \
|
|
149
|
+
--model local/coder \
|
|
150
|
+
--prompt "Inspect this repository"
|
|
132
151
|
```
|
|
133
152
|
|
|
134
|
-
|
|
153
|
+
The local preview targets Linux/amd64 Docker with an Intel Xeon AMX CPU or a
|
|
154
|
+
compatible single NVIDIA CUDA GPU. Managed Codex requires the exact version above
|
|
155
|
+
and a supported model tool parser. Unsupported hardware never falls back to a cloud model.
|
|
156
|
+
|
|
157
|
+
For remote inference, use your Harness’s model API configuration or register a
|
|
158
|
+
managed model node. Node-bound models also use `local/<name>`; the binding selects
|
|
159
|
+
the remote GPU host. See the [model inference guide](https://rsigear.xyz/docs/hitch/model-inference)
|
|
160
|
+
for setup, Docker access, parallel capacity, and service recovery.
|
|
135
161
|
|
|
136
|
-
##
|
|
162
|
+
## Parallel execution and recovery
|
|
137
163
|
|
|
138
|
-
|
|
139
|
-
|
|
164
|
+
Submit once. Follow the same Eval ID through execution and recovery.
|
|
165
|
+
|
|
166
|
+
- [x] Share CPU, memory, and GPU budgets across evaluations.
|
|
167
|
+
- [x] Give smaller evaluations a turn as task slots become available.
|
|
168
|
+
- [x] Reattach supported live trials after a daemon crash.
|
|
169
|
+
- [x] Collect finished results and continue unstarted tasks.
|
|
170
|
+
- [x] Repair selected failures while preserving valid results.
|
|
171
|
+
|
|
172
|
+
Live process recovery requires POSIX and retained execution evidence. Ordinary
|
|
173
|
+
Harness runs are not automatically resumed after a daemon crash.
|
|
174
|
+
|
|
175
|
+
[Setup, examples, and recovery limits →](https://rsigear.xyz/docs/hitch/daemon)
|
|
176
|
+
|
|
177
|
+
## Evaluate models and harnesses
|
|
178
|
+
|
|
179
|
+
- [x] **Compare models:** keep the harness, tasks, and evaluation settings fixed.
|
|
180
|
+
- [x] **Compare harnesses:** keep the model and tasks fixed; change the harness or its revision.
|
|
181
|
+
- [x] **Evaluate without tools:** use the trusted `model-call` driver for compatible benchmark tasks.
|
|
182
|
+
|
|
183
|
+
The current execution backend is Harbor. The Docker example below requires
|
|
184
|
+
Python 3.12+, a running Docker daemon, and model credentials available to the
|
|
185
|
+
container. See [benchmark packages](docs/benchmark-packages.md) for custom tasks
|
|
186
|
+
and driver requirements.
|
|
140
187
|
|
|
141
188
|
```bash
|
|
142
189
|
hitch eval setup harbor
|
|
143
190
|
hitch eval doctor
|
|
144
|
-
|
|
145
|
-
hitch eval run \
|
|
146
|
-
--backend harbor \
|
|
147
|
-
--dataset terminal-bench@2.0 \
|
|
148
|
-
--harness codex@version:0.92.0 \
|
|
149
|
-
--model openai/gpt-5.6
|
|
150
191
|
```
|
|
151
192
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
193
|
+
Start with the [one-task evaluation tutorial](https://rsigear.xyz/docs/hitch/evaluations)
|
|
194
|
+
and its bundled [Hello Hitch task](docs/guide/examples/hello-hitch). It covers
|
|
195
|
+
container authentication, execution, and result inspection before moving to a
|
|
196
|
+
larger benchmark. If a Hitch daemon owns your state root, use
|
|
197
|
+
`hitch eval run --daemon` or `hitch eval submit` as described in the guide.
|
|
198
|
+
|
|
199
|
+
Every trial publishes a Hitch run with its model identity, harness revision,
|
|
200
|
+
controller runtime, backend configuration, rewards, logs, and trajectory. Valid zero scores remain
|
|
201
|
+
distinct from invalid observations. See the [Harbor reference](docs/evals.md)
|
|
202
|
+
for benchmark, resource, and portability contracts.
|
|
203
|
+
|
|
204
|
+
## Supported harnesses
|
|
156
205
|
|
|
157
|
-
|
|
206
|
+
| Harness | Installed executable | Exact package version | Source commit |
|
|
207
|
+
| --- | :---: | :---: | :---: |
|
|
208
|
+
| Codex | ✓ | ✓ | ✓ |
|
|
209
|
+
| Claude Code | ✓ | ✓ | — |
|
|
210
|
+
| Pi | ✓ | ✓ | ✓ |
|
|
211
|
+
| OpenCode | ✓ | ✓ | — |
|
|
212
|
+
| DeepSeek Harness | ✓ | ✓ | ✓ |
|
|
158
213
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
214
|
+
Use `codex@installed` for a local executable, `codex@version:VERSION` for an exact
|
|
215
|
+
package, or `codex@commit:COMMIT` with a real upstream commit. Replace `VERSION`
|
|
216
|
+
with the exact published version you want to run. Evaluations require a portable
|
|
217
|
+
version or commit reference. See
|
|
218
|
+
[versions and workspaces](docs/guide/en/versions-and-workspaces.md) for reference
|
|
219
|
+
selection, artifact preparation, and workspace modes.
|
|
164
220
|
|
|
165
|
-
|
|
221
|
+
## User Guide
|
|
166
222
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
--max-concurrent 4 \
|
|
170
|
-
--capacity-cpu-millis 4000 \
|
|
171
|
-
--capacity-memory-mib 8192 \
|
|
172
|
-
--container-slots 4 \
|
|
173
|
-
--capacity-gpus 1 \
|
|
174
|
-
--eval-gpus 1
|
|
175
|
-
hitch run --daemon --harness codex@version:0.92.0 --prompt-file task.md
|
|
176
|
-
```
|
|
223
|
+
**[Read the User Guide online](https://rsigear.xyz/docs/hitch/)** or browse the
|
|
224
|
+
[same Markdown in this repository](docs/guide/en/index.md).
|
|
177
225
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
226
|
+
| Guide | What you will learn |
|
|
227
|
+
| --- | --- |
|
|
228
|
+
| [Quick Start](docs/guide/en/quickstart.md) | Install, authenticate, run a task, and submit parallel work |
|
|
229
|
+
| [Local and remote model inference](docs/guide/en/model-inference.md) | Use remote APIs, managed local SGLang, and remote model nodes |
|
|
230
|
+
| [Versions and workspaces](docs/guide/en/versions-and-workspaces.md) | Pin the executable and choose worktree, copy, or shared mode |
|
|
231
|
+
| [Runs and evidence](docs/guide/en/runs-and-evidence.md) | Query results, trajectories, verifier evidence, and feedback |
|
|
232
|
+
| [First evaluation](docs/guide/en/evaluations.md) | Run a small Docker task and interpret valid and invalid results |
|
|
233
|
+
| [Daemon: parallelism and recovery](docs/guide/en/daemon.md) | Budget resources, share capacity, and recover interrupted evaluations |
|
|
234
|
+
| [Operations and troubleshooting](docs/guide/en/operations.md) | Inspect queues, cancel work, select state roots, and diagnose failures |
|
|
235
|
+
| [CLI reference](docs/guide/en/cli-reference.md) | Look up all commands, options, filters, and integration entry points |
|
|
184
236
|
|
|
185
|
-
|
|
237
|
+
<details>
|
|
238
|
+
<summary><strong>Technical references and platform notes</strong></summary>
|
|
186
239
|
|
|
187
240
|
- [Design and architecture](docs/design.md)
|
|
188
|
-
- [
|
|
241
|
+
- [Benchmark packages and task protocols](docs/benchmark-packages.md)
|
|
242
|
+
- [Harbor-backed evaluations](docs/evals.md)
|
|
189
243
|
- [Verifier evidence](docs/verifier-evidence.md)
|
|
190
244
|
- [Workspace isolation](docs/workspaces.md)
|
|
191
245
|
- [Daemon design](docs/daemon.md)
|
|
246
|
+
- [Versioned machine-interface schemas](docs/schemas)
|
|
192
247
|
- [Hitch 0.2 development spec](docs/hitch-0.2-development-spec.md)
|
|
193
248
|
- [Release process](docs/releasing.md)
|
|
249
|
+
- [Contributing](CONTRIBUTING.md)
|
|
194
250
|
|
|
195
|
-
|
|
251
|
+
Automation can use JSON/JSONL output, typed errors, bounded evidence queries,
|
|
252
|
+
timeouts, cancellation, and process-tree cleanup. Select a separate state root
|
|
253
|
+
with `--root` or `HITCH_ROOT` and use it consistently across commands.
|
|
254
|
+
|
|
255
|
+
Windows is covered on Node 22 and 24, including npm/agent `.cmd` shims and the
|
|
256
|
+
packaged-harness cache/integrity path. Live local Harbor process adoption after
|
|
257
|
+
a hard daemon crash is POSIX-only.
|
|
196
258
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
259
|
+
GPU-backed Harbor trials require a compatible Docker host and explicit
|
|
260
|
+
`--capacity-gpus` plus `--eval-gpus`; Hitch never guesses GPU capacity.
|
|
261
|
+
Maintainers can run the `NVIDIA GPU hardware canary` workflow on a compatible
|
|
262
|
+
self-hosted runner.
|
|
263
|
+
|
|
264
|
+
</details>
|
|
265
|
+
|
|
266
|
+
## Project status
|
|
200
267
|
|
|
201
|
-
|
|
202
|
-
harness adapters
|
|
268
|
+
Hitch is a pre-alpha execution layer for model and harness evaluation. Remote artifact
|
|
269
|
+
synchronization, named candidates, promotion records, and more harness adapters
|
|
270
|
+
are planned. It complements Git and currently provides no remote artifact
|
|
271
|
+
registry, branches, tags, candidate promotion, or rollback policy.
|
|
203
272
|
|
|
204
273
|
## Community
|
|
205
274
|
|
|
206
|
-
Join
|
|
207
|
-
|
|
275
|
+
Join [Discord](https://discord.gg/cZ4NBbHDk) to ask questions, share feedback,
|
|
276
|
+
and discuss model and agent evaluation infrastructure.
|
|
208
277
|
|
|
209
|
-
Hitch draws inspiration from [Multica](https://github.com/multica-ai/multica)
|
|
210
|
-
|
|
211
|
-
|
|
278
|
+
Hitch draws inspiration from [Multica](https://github.com/multica-ai/multica),
|
|
279
|
+
adopts [Harbor](https://github.com/harbor-framework/harbor)'s task definition format,
|
|
280
|
+
and integrates [SGLang](https://github.com/sgl-project/sglang) for managed local
|
|
281
|
+
and remote model inference.
|
|
212
282
|
|
|
213
283
|
## License
|
|
214
284
|
|
|
215
|
-
|
|
285
|
+
[Apache License 2.0](LICENSE).
|