agent-hitch 0.2.13 → 0.2.14
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/benchmark-packages/automationbench/RESOURCES.md +27 -0
- package/benchmark-packages/automationbench/resources.mjs +86 -0
- package/benchmark-packages/shared-tree/README.md +14 -0
- package/benchmark-packages/shared-tree/import.mjs +39 -0
- package/dist/scripts/canary-automation-resources.js +86 -0
- package/dist/scripts/canary-automation-resources.js.map +1 -0
- package/dist/scripts/canary-resource-empty-daemon.js +195 -0
- package/dist/scripts/canary-resource-empty-daemon.js.map +1 -0
- package/dist/scripts/canary-resources.js +89 -0
- package/dist/scripts/canary-resources.js.map +1 -0
- package/dist/scripts/check-architecture.js +6 -5
- package/dist/scripts/check-architecture.js.map +1 -1
- package/dist/scripts/resource-space-sampler.js +83 -0
- package/dist/scripts/resource-space-sampler.js.map +1 -0
- package/dist/src/backends/harbor/backend.js +5 -1
- package/dist/src/backends/harbor/backend.js.map +1 -1
- package/dist/src/backends/harbor/resource-admission.js +23 -0
- package/dist/src/backends/harbor/resource-admission.js.map +1 -0
- package/dist/src/cli/commands/resources.js +23 -0
- package/dist/src/cli/commands/resources.js.map +1 -0
- package/dist/src/cli/main.js +2 -0
- package/dist/src/cli/main.js.map +1 -1
- package/dist/src/control-plane/remote-offer-contract.js +11 -2
- package/dist/src/control-plane/remote-offer-contract.js.map +1 -1
- package/dist/src/control-plane/remote-result-transport.js +10 -0
- package/dist/src/control-plane/remote-result-transport.js.map +1 -1
- package/dist/src/control-plane/remote-work-coordinator.js +4 -1
- package/dist/src/control-plane/remote-work-coordinator.js.map +1 -1
- package/dist/src/control-plane/remote-work-inputs.js +16 -4
- package/dist/src/control-plane/remote-work-inputs.js.map +1 -1
- package/dist/src/control-plane/remote-worker-client.js +22 -0
- package/dist/src/control-plane/remote-worker-client.js.map +1 -1
- package/dist/src/control-plane/remote-worker-codecs.js +1 -1
- package/dist/src/control-plane/remote-worker-codecs.js.map +1 -1
- package/dist/src/control-plane/remote-worker-protocol.js +12 -2
- package/dist/src/control-plane/remote-worker-protocol.js.map +1 -1
- package/dist/src/control-plane/remote-worker-runner.js +1 -1
- package/dist/src/control-plane/remote-worker-runner.js.map +1 -1
- package/dist/src/control-plane/remote-workers.js +2 -1
- package/dist/src/control-plane/remote-workers.js.map +1 -1
- package/dist/src/evals/benchmark-adapter-manifest.js +4 -0
- package/dist/src/evals/benchmark-adapter-manifest.js.map +1 -1
- package/dist/src/evals/benchmark-candidate.js +11 -3
- package/dist/src/evals/benchmark-candidate.js.map +1 -1
- package/dist/src/evals/eval-result-builder.js +22 -1
- package/dist/src/evals/eval-result-builder.js.map +1 -1
- package/dist/src/evals/index.js +1 -0
- package/dist/src/evals/index.js.map +1 -1
- package/dist/src/evals/planned-execution.js +5 -14
- package/dist/src/evals/planned-execution.js.map +1 -1
- package/dist/src/evals/request.js +9 -0
- package/dist/src/evals/request.js.map +1 -1
- package/dist/src/evals/resource-eval-lifecycle.js +31 -0
- package/dist/src/evals/resource-eval-lifecycle.js.map +1 -0
- package/dist/src/evals/resource-legacy-export.js +57 -0
- package/dist/src/evals/resource-legacy-export.js.map +1 -0
- package/dist/src/evals/service.js +5 -20
- package/dist/src/evals/service.js.map +1 -1
- package/dist/src/evals/task-resources.js +12 -4
- package/dist/src/evals/task-resources.js.map +1 -1
- package/dist/src/evals/trial-bundle-files.js +81 -0
- package/dist/src/evals/trial-bundle-files.js.map +1 -0
- package/dist/src/evals/trial-import.js +7 -78
- package/dist/src/evals/trial-import.js.map +1 -1
- package/dist/src/foundation/durable-json.js +33 -0
- package/dist/src/foundation/durable-json.js.map +1 -0
- package/dist/src/foundation/index.js +2 -0
- package/dist/src/foundation/index.js.map +1 -1
- package/dist/src/foundation/resource-image-references.js +52 -0
- package/dist/src/foundation/resource-image-references.js.map +1 -0
- package/dist/src/images/gc.js +2 -2
- package/dist/src/images/gc.js.map +1 -1
- package/dist/src/images/registry.js +27 -2
- package/dist/src/images/registry.js.map +1 -1
- package/dist/src/resources/api.js +207 -0
- package/dist/src/resources/api.js.map +1 -0
- package/dist/src/resources/bundle.js +117 -0
- package/dist/src/resources/bundle.js.map +1 -0
- package/dist/src/resources/evidence.js +93 -0
- package/dist/src/resources/evidence.js.map +1 -0
- package/dist/src/resources/gc.js +123 -0
- package/dist/src/resources/gc.js.map +1 -0
- package/dist/src/resources/index.js +14 -0
- package/dist/src/resources/index.js.map +1 -0
- package/dist/src/resources/materialize.js +143 -0
- package/dist/src/resources/materialize.js.map +1 -0
- package/dist/src/resources/object-store.js +191 -0
- package/dist/src/resources/object-store.js.map +1 -0
- package/dist/src/resources/oci-layer-validation.js +202 -0
- package/dist/src/resources/oci-layer-validation.js.map +1 -0
- package/dist/src/resources/oci-provider.js +101 -0
- package/dist/src/resources/oci-provider.js.map +1 -0
- package/dist/src/resources/oci-registry-bundle.js +253 -0
- package/dist/src/resources/oci-registry-bundle.js.map +1 -0
- package/dist/src/resources/protocol.js +222 -0
- package/dist/src/resources/protocol.js.map +1 -0
- package/dist/src/resources/result-retention.js +93 -0
- package/dist/src/resources/result-retention.js.map +1 -0
- package/dist/src/resources/role-context.js +54 -0
- package/dist/src/resources/role-context.js.map +1 -0
- package/dist/src/resources/stats.js +36 -0
- package/dist/src/resources/stats.js.map +1 -0
- package/dist/src/resources/store.js +310 -0
- package/dist/src/resources/store.js.map +1 -0
- package/dist/src/resources/tasks.js +153 -0
- package/dist/src/resources/tasks.js.map +1 -0
- package/dist/src/resources/transfer.js +162 -0
- package/dist/src/resources/transfer.js.map +1 -0
- package/dist/src/resources/views.js +130 -0
- package/dist/src/resources/views.js.map +1 -0
- package/dist/src/workers/remote-harbor-work-spec.js +9 -3
- package/dist/src/workers/remote-harbor-work-spec.js.map +1 -1
- package/dist/src/workers/remote-harbor-worker.js +24 -9
- package/dist/src/workers/remote-harbor-worker.js.map +1 -1
- package/docs/resource-storage.zh-CN.md +95 -0
- package/docs/schemas/execution-provider-status.schema.json +20 -0
- package/docs/schemas/hitch-resource-dataset-v2.schema.json +590 -0
- package/docs/schemas/hitch-resource-lock-v1.schema.json +341 -0
- package/docs/schemas/hitch-resource-plan-v1.schema.json +423 -0
- package/docs/schemas/hitch-resource-selection-v1.schema.json +608 -0
- package/docs/schemas/hitch-tree-v1.schema.json +75 -0
- package/docs/schemas/remote-harbor-work-spec.schema.json +47 -3
- package/docs/schemas/remote-work-offer.schema.json +2 -1
- package/docs/schemas/remote-worker-registration.schema.json +20 -0
- package/package.json +9 -3
- package/test-contracts/hitch-resources-v1.json +197 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { configuredResourceStore, parseResourceDelivery, receiveResourceDelivery, reclaimResourceExecution } from "../resources/index.js";
|
|
2
|
+
import { chmod, lstat, mkdir, readdir, rm, writeFile } from "node:fs/promises";
|
|
2
3
|
import path from "node:path";
|
|
3
4
|
import { verifyPreparedArtifact } from "../artifacts/index.js";
|
|
4
5
|
import { runHarborBackend } from "../backends/index.js";
|
|
@@ -15,27 +16,40 @@ export function remoteHarborWorker(options) {
|
|
|
15
16
|
throw new TypeError("remote Harbor worker root is required");
|
|
16
17
|
const root = path.resolve(options.root);
|
|
17
18
|
const env = options.env ?? process.env;
|
|
18
|
-
const execute = async ({ offer, inputs, credentials, signal, emit, relayModel, readExecutionLease, authorizeProcess }) => {
|
|
19
|
+
const execute = async ({ offer, inputs, credentials, signal, emit, relayModel, readExecutionLease, authorizeProcess, readResourceObject }) => {
|
|
19
20
|
const workspace = path.join(statePaths(root).workerStaging, offer.lease.lease_id, `epoch-${String(offer.lease.epoch).padStart(6, "0")}`);
|
|
20
21
|
await removeWorkerWorkspace(workspace);
|
|
21
22
|
await mkdir(workspace, { recursive: true, mode: 0o700 });
|
|
22
23
|
const spec = parseRemoteHarborWorkSpec(parseJSON(required(inputs, "work-spec")), offer);
|
|
23
|
-
if (spec.schema_version
|
|
24
|
+
if (spec.schema_version !== "1" && spec.verifier_only && !readExecutionLease)
|
|
24
25
|
throw new TypeError("remote verifier requires current controller execution lease grants");
|
|
25
26
|
if (JSON.stringify([...credentials.keys()].sort()) !== JSON.stringify(spec.credential_names)) {
|
|
26
27
|
throw new TypeError("remote credential envelope does not match its work spec");
|
|
27
28
|
}
|
|
28
|
-
const binding = spec.schema_version
|
|
29
|
+
const binding = spec.schema_version !== "1" ? spec.model_binding : undefined;
|
|
29
30
|
if (binding && !relayModel)
|
|
30
31
|
throw new TypeError("remote worker lacks the v2 model relay protocol");
|
|
31
|
-
const executionEnv = { ...(binding || spec.schema_version
|
|
32
|
+
const executionEnv = { ...(binding || spec.schema_version !== "1" && spec.verifier_only ? scrubLocalInferenceEnvironment(env) : env), ...Object.fromEntries(credentials) };
|
|
32
33
|
const harnessDirectory = path.join(workspace, "harness-artifact");
|
|
33
34
|
const runtimeDirectory = path.join(workspace, "controller-runtime");
|
|
34
|
-
|
|
35
|
+
let datasetDirectory = await ensureDir(path.join(workspace, "dataset"));
|
|
36
|
+
if (spec.schema_version === "3") {
|
|
37
|
+
if (!readResourceObject)
|
|
38
|
+
throw new Error("resource object streaming is unavailable");
|
|
39
|
+
const delivery = parseResourceDelivery(parseJSON(required(inputs, "task-input")));
|
|
40
|
+
if (delivery.digest !== spec.resource_delivery)
|
|
41
|
+
throw new Error("resource delivery differs from work spec");
|
|
42
|
+
const { store, config } = await configuredResourceStore(root);
|
|
43
|
+
if (config.platform !== delivery.selection.manifest.execution.platform)
|
|
44
|
+
throw new Error("worker resource platform mismatch");
|
|
45
|
+
await receiveResourceDelivery(store, delivery, readResourceObject, `worker:${offer.lease.lease_id}:${offer.lease.epoch}`, 1, signal);
|
|
46
|
+
datasetDirectory = path.join(workspace, "resource-selection.json");
|
|
47
|
+
await writeFile(datasetDirectory, JSON.stringify(delivery.selection), { flag: "wx" });
|
|
48
|
+
}
|
|
35
49
|
await Promise.all([
|
|
36
50
|
materializeRemoteTreeEnvelope(parseJSON(required(inputs, "harness-artifact")), harnessDirectory),
|
|
37
51
|
materializeRemoteTreeEnvelope(parseJSON(required(inputs, "controller-runtime")), runtimeDirectory),
|
|
38
|
-
materializeRemoteTreeEnvelope(parseJSON(required(inputs, "task-input")), path.join(datasetDirectory, spec.task.task_id)),
|
|
52
|
+
spec.schema_version === "3" ? Promise.resolve() : materializeRemoteTreeEnvelope(parseJSON(required(inputs, "task-input")), path.join(datasetDirectory, spec.task.task_id)),
|
|
39
53
|
]);
|
|
40
54
|
const prepared = await verifyPreparedArtifact(harnessDirectory, spec.harness_artifact);
|
|
41
55
|
if (JSON.stringify(prepared.resolved_revision) !== JSON.stringify(spec.resolution)
|
|
@@ -116,7 +130,7 @@ export function remoteHarborWorker(options) {
|
|
|
116
130
|
if (ref.run_group)
|
|
117
131
|
throw new Error("remote single-bundle transport cannot export native phase groups");
|
|
118
132
|
const bundleDirectory = path.join(statePaths(root).runs, ref.run_id);
|
|
119
|
-
const verifierSource = spec.schema_version
|
|
133
|
+
const verifierSource = spec.schema_version !== "1" && spec.verifier_source === "2" ? await captureRemoteVerifierSource({
|
|
120
134
|
taskId, taskDirectory: path.join(datasetDirectory, taskId), trialDirectory: path.join(backendDirectory, "job", ref.trial_id),
|
|
121
135
|
bundleDirectory, runId: ref.run_id, runtimeId: runtime.runtime_id, trial, destination: path.join(workspace, "verifier-source"),
|
|
122
136
|
}) : undefined;
|
|
@@ -141,7 +155,7 @@ export function remoteHarborWorker(options) {
|
|
|
141
155
|
};
|
|
142
156
|
const owned = async (input) => {
|
|
143
157
|
const spec = parseRemoteHarborWorkSpec(parseJSON(required(input.inputs, "work-spec")), input.offer);
|
|
144
|
-
if (spec.schema_version
|
|
158
|
+
if (spec.schema_version !== "1" && spec.verifier_only && !input.readExecutionLease)
|
|
145
159
|
throw new TypeError("remote verifier requires current controller execution lease grants");
|
|
146
160
|
// Also admit direct in-process callers. The packaged runner calls prepare
|
|
147
161
|
// before acceptance, so its crash window already has durable ownership.
|
|
@@ -164,6 +178,7 @@ export function remoteHarborWorker(options) {
|
|
|
164
178
|
export async function releaseRemoteHarborOffer(options, offer) {
|
|
165
179
|
const root = path.resolve(options.root);
|
|
166
180
|
await cleanRemoteHarborOffer(options, offer);
|
|
181
|
+
await reclaimResourceExecution((await configuredResourceStore(root)).store, path.join(statePaths(root).evals, offer.lease.eval_id, "remote-work", offer.work.work_id, `epoch-${String(offer.lease.epoch).padStart(6, "0")}`, "resource-evidence.json"), true);
|
|
167
182
|
const workspace = path.join(statePaths(root).workerStaging, offer.lease.lease_id, `epoch-${String(offer.lease.epoch).padStart(6, "0")}`);
|
|
168
183
|
await removeWorkerWorkspace(workspace);
|
|
169
184
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-harbor-worker.js","sourceRoot":"","sources":["../../../src/workers/remote-harbor-worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-harbor-worker.js","sourceRoot":"","sources":["../../../src/workers/remote-harbor-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# 通用 benchmark 资源存储
|
|
2
|
+
|
|
3
|
+
该功能显式启用。普通 task 与 `benchmark.adapter.json` v1 沿用原协议;资源任务使用 v2、`hitch-resource-lock@1` 和 `hitch-resource-selection@1`。公共 API 为 `agent-hitch/resources`,CLI 为 `hitch --root ROOT resources request OPERATION --input REQUEST.json`,均返回 JSON。schema 在 `docs/schemas/hitch-resource-*.schema.json`,跨仓库固定向量在 `test-contracts/hitch-resources-v1.json`。
|
|
4
|
+
|
|
5
|
+
## 配置与 producer
|
|
6
|
+
|
|
7
|
+
先通过 `configure` 写入宿主策略,例如(摘要应替换为实际平台 manifest):
|
|
8
|
+
|
|
9
|
+
```json
|
|
10
|
+
{
|
|
11
|
+
"protocol": "hitch-resource-host@1",
|
|
12
|
+
"transport": {"sha256:<64 hex>": "registry.example/runtime@sha256:<64 hex>"},
|
|
13
|
+
"imagePolicy": "cache-only",
|
|
14
|
+
"platform": "linux/amd64",
|
|
15
|
+
"workspace": {"mode": "auto", "maxCopyBytes": 8589934592, "maxWorkspaces": 4},
|
|
16
|
+
"offline": {"exportFormat": "registry-bundle"},
|
|
17
|
+
"limits": {"maxObjectBytes": 1073741824, "maxTotalBytes": 8589934592, "maxFiles": 100000, "minFreeBytes": 67108864, "maxViewBytes": 536870912}
|
|
18
|
+
}
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
正常准入的 `cache-only` 从不 pull;`cache-first` 仅在镜像缺失时 pull;`registry` 保留原注册表解析行为。首次在线准入还获取并按摘要校验原始平台 manifest,核对 Docker 实际 config 后持久保存证明;cache-only 要求该证明已存在或由离线包导入。transport 与凭据不进入 task/plan 内容身份。镜像必须按固定平台 manifest digest 解析;多平台 index 不能冒充平台 manifest,index membership 尚不支持。
|
|
22
|
+
|
|
23
|
+
Producer 先 `import` 公共文件或目录,获得 resource 与 producer lease;写小型 task、完整 lock、Dockerfile 和角色声明,再 `seal-dataset`。只有完成闭包校验、durable pin 和后端准入后才发布 v2 manifest,最后 `lease-end`。大输入必须使用 bindings;小型描述上限 32 MiB。两个实例:
|
|
24
|
+
|
|
25
|
+
- `benchmark-packages/shared-tree/import.mjs`:主要共享数据 tree,candidate 私有输入、verifier 专属答案。
|
|
26
|
+
- `benchmark-packages/automationbench/resources.mjs`:从只读 v4 数据集构建一次 simulator/verifier runtime;保留完整重建源码、锁文件、recipe 和来源 task digest。
|
|
27
|
+
|
|
28
|
+
所有导入源须受控且在导入期间静止;实现核对打开文件与路径指纹、最终目录清单,并拒绝符号链接、特殊文件和路径碰撞。这不是抵御同权限宿主进程持续竞争改写的安全边界。
|
|
29
|
+
|
|
30
|
+
## 执行与身份
|
|
31
|
+
|
|
32
|
+
`preflight` 请求为 `{"ref":"/absolute/dataset-or-selection","owner":"experiment:123","generation":1}`。返回已封存的 tasks、每任务语义 plan 及 aggregate digest。Gear 在 condition/cell/batch 身份建立前调用它,提交和恢复重新校验。copy/clone、transport 位置及缓存路径不进入语义 plan。
|
|
33
|
+
|
|
34
|
+
首版后端 `harbor-role-context@1` 要求:
|
|
35
|
+
|
|
36
|
+
- candidate Compose build context 为 `environment/candidate`,service 为 `environment/services/<id>`,verifier 为 `tests` 且 `environment_mode="separate"`。
|
|
37
|
+
- Compose 文件使用 JSON;只接受明确允许的字段,不接受宿主 volume、privileged 或外部 build context。
|
|
38
|
+
- 每个角色的 Dockerfile FROM 对应该角色显式绑定的固定 OCI `build-base`;运行时镜像槽、跨 stage COPY、ADD、外部 frontend、build mounts、需要网络的 RUN 均拒绝。
|
|
39
|
+
- 文件/tree 使用 `private-copy`,可以 CoW 或普通复制。`read-only` 需要真正强制只读的后端,当前后端明确拒绝。
|
|
40
|
+
- 一次物理执行一个 task/attempt;workspace 并发、复制字节、导入对象、视图缓存和剩余空间有界。
|
|
41
|
+
|
|
42
|
+
actual tree proof、plan、复制统计与容器实际 image config/platform/base layers 写入 sealed run 的 `resource.execution.json`。只有执行结束、结果封存、Docker/远程结束确认全部成立才回收 workspace;失联继续保留。Package-native phase 描述与 resource-aware verifier-only 远程重评分目前不在该后端能力内,提前拒绝;普通协议的既有支持范围不变。
|
|
43
|
+
|
|
44
|
+
正常结果和诊断结果均封存资源证据。远程结果的 `resource-proof` 仅携带相对原输入新增的物化证明对象,总量上限 32 MiB;控制端校验 task/plan、OCI config 与全部证明字节,持久 pin 完整闭包后才发布结果。公共文件输入不随结果重复传回,worker 的临时 workspace 可以在结束确认后回收。
|
|
45
|
+
|
|
46
|
+
显式兼容导出:
|
|
47
|
+
|
|
48
|
+
```sh
|
|
49
|
+
hitch --root ROOT resources legacy-export --ref /absolute/v2-dataset --output /absolute/new-v1-dataset
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
导出保留角色边界、来源和物化证明,生成新的 v1 dataset identity。不能复用原 frozen cell。新执行可使用已保留的原 plan 再次 `materialize`;历史 roots 保证全部重放输入仍受保护。
|
|
53
|
+
|
|
54
|
+
## 远程与离线
|
|
55
|
+
|
|
56
|
+
控制端与 worker 使用 work spec v3、`hitch-resource-delivery-v1` 输入和 worker feature `benchmark_resources: "1"`;该 feature 要求 Docker、BuildKit 和匹配平台。旧 worker 在派发前拒绝。harness/runtime 的旧 envelope 保留;task input 只携带描述和对象清单。对象走当前 lease/generation 授权的流式端点,验证长度和 SHA;不能通过知道摘要读取别的任务对象。
|
|
57
|
+
|
|
58
|
+
交付清单中的 OCI 身份必须与所选任务声明完全一致,并按身份排序去重;缺失、额外、重复、平台或 index 身份替换均在读取对象和调用镜像 provider 前拒绝。每个缺失对象的读取有 120 秒预算;即使 reader 或迭代器没有响应传入的取消信号,接收端也会中断等待、关闭暂存文件并释放 store 锁。失败导入已有的保护 lease 保留,按显式恢复流程处理。
|
|
59
|
+
|
|
60
|
+
`bundle-export` 请求为 `{"ref":"...","output":"/new/bundle","owner":"bundle:123"}`。文件对象唯一存放,OCI archive 经 provider 单独保存,不进入文件 CAS。导出过程中限制流量、磁盘剩余和时长。
|
|
61
|
+
|
|
62
|
+
默认 OCI 离线格式 `registry-bundle` 保存原始 manifest、config 和压缩 layer 字节,每一项按原摘要校验。导出需要访问来源 registry;首版支持公开访问/匿名 Bearer,私有 registry 认证不自动读取 Docker 凭据。`docker-archive` 不能保证原 manifest、RepoDigest 和展开预算,现在明确拒绝,不会直接调用 Docker load。
|
|
63
|
+
|
|
64
|
+
导入先扫描所有镜像 layer 的展开 tar,累计展开字节不超过 `limits.maxTotalBytes`、条目不超过 `limits.maxFiles`,并校验 config 中每层的 uncompressed diff ID。压缩 blob 仍受 `maxObjectBytes` 和总包大小限制。支持 gzip/普通 tar、常规文件/目录/链接、PAX 和 GNU 长文件名;稀疏文件、特殊节点、未知 PAX 语义及未知压缩 codec 明确拒绝。路径逃逸、重复条目、链接父路径和损坏 header 在任何 registry 写入或 Docker pull 前失败;不在宿主提取条目。首次在线 pull 也先在有界私有 staging 中下载并完成相同扫描,随后清理 staging;已在 daemon 中按摘要命中的镜像不会重新展开。
|
|
65
|
+
|
|
66
|
+
目标配置 `cache-only`、`offline.registry: "http://localhost:PORT"`,并将 transport 中的各摘要映射到该 registry 的目标 repository。registry 必须由操作方预先启动,且明确配置为 loopback;Hitch 不启动全局服务。以 `bundle-import` 请求 `{"directory":"/bundle","output":"/new/selection.json","owner":"offline:123"}`。先核对全部索引、manifest、config 平台和 blob,再向该本地 registry 写入原字节并按**原摘要**载入 Docker。不会访问源 registry,也不改用 tag。task 源描述保持原样,物化时仅将 Dockerfile 的固定摘要换成对应 transport repository;语义 plan 不变,实际物化字节另记证据。
|
|
67
|
+
|
|
68
|
+
重复导入只获取缺失文件对象/registry blobs。导入成功后执行仍为 cache-only;实测关闭源和目标 registry 后仍能构建并执行。验收从空文件 CAS、空目标 registry 和不存在的目标镜像引用开始;Docker daemon 的其他镜像层仍共享,没有清空用户整个 Docker 存储。
|
|
69
|
+
|
|
70
|
+
## 引用与显式回收
|
|
71
|
+
|
|
72
|
+
`inspect` 返回本 store 的对象、描述视图、视图 quarantine、普通 quarantine、workspace、staging 和引用记录统计。逻辑字节与 allocated blocks 分列;allocated blocks 可能在 CoW 下重叠,不代表独占物理字节。源 dataset、OCI/BuildKit 和 retained run 占用另计。
|
|
73
|
+
|
|
74
|
+
`pin` 请求包含 `owner`、正整数 `generation`、`purpose` 和完整 `lock`。相同 active generation 可幂等重试;released generation 不可复用。`release` 使用 `{"owner":"...","generation":1}`,旧 generation 不能释放新引用。producer、bundle、Gear 实验和 sealed run 的 owner 独立,释放一个不会释放其余 owner。
|
|
75
|
+
|
|
76
|
+
`audit` 默认 dry-run;`{"apply":true,"graceMs":86400000}` 显式启用两阶段 quarantine/删除。pin、acquire、发布、恢复与 GC 共用 store 锁;全部引用和对象校验完后才变更。损坏、缺失、未知状态会停止回收。OCI roots/leases 从首次使用起进入既有 image GC 可见的 protection fence;preparing fence 未解决时 image GC 保守停止。
|
|
77
|
+
|
|
78
|
+
崩溃后用 `inspect`/`audit` 检查引用;确认导入已经结束后 `lease-end {"leaseId":"...","confirmation":"ended"}` 清理该 UUID 的 staging 并结束保护。无法证明远程结束时使用 `unknown`,不得按 PID、年龄或超时释放。执行 workspace 通过 `workspace-end` 要求明确 `executionEnded:true` 和 `resultSealed:true`;CLI 确认由操作方负责,正常执行链自动提供实际结束证明。
|
|
79
|
+
|
|
80
|
+
## 验证
|
|
81
|
+
|
|
82
|
+
单元/集成覆盖共享对象、隔离写入、未知能力、摘要/路径/平台错误、预算、两进程发布与 GC、SIGKILL、旧 generation、view/quarantine 重获、旧 worker 和 lease 对象授权;`resource-transfer.test.ts` 另覆盖镜像清单与任务声明的完整对应,以及停滞 reader/迭代器的取消和锁释放。真实 Docker canary 单独运行,无模型调用:
|
|
83
|
+
|
|
84
|
+
```sh
|
|
85
|
+
npm run build
|
|
86
|
+
node dist/scripts/canary-resources.js
|
|
87
|
+
node dist/scripts/canary-automation-resources.js ROOT V2_DATASET V4_DATASET TASK_ID
|
|
88
|
+
node dist/scripts/canary-resource-empty-daemon.js SHARED_TREE_CANARY_BUNDLE
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
第一个 canary 的临时 registry 默认使用 loopback 端口 52989,可通过 `HITCH_RESOURCE_CANARY_REGISTRY_PORT` 指定其他空闲且 Docker daemon 可访问的端口。
|
|
92
|
+
|
|
93
|
+
空 daemon canary 需要预先缓存 `mirror.gcr.io/library/docker:27-dind` 和 `registry:2` 基础设施镜像。它新建隔离 VFS daemon,不挂载宿主 Docker socket 或用户目录,检查初始镜像/BuildKit 为空;导入后停止 registry、断开 daemon 外网再执行及评分。默认 loopback 52990;记录基础设施、导入和执行阶段的 Docker/BuildKit 快照,并连续采样源 dataset、selection、文件 CAS、视图、工作区、导入 staging、bundle 和封存证据。Docker 总项只计一次;allocated blocks 不作为 CoW 独占物理字节,短于采样间隔的瞬态可能遗漏。证据封存后确认 execution lease 和 workspace 回收,最后只删除自身容器及匿名卷。
|
|
94
|
+
|
|
95
|
+
后者运行 candidate 隔离检查、模拟器 API 调用和官方 verifier,并将同一 snapshot 交叉评分;初始化随机 ID/时间戳不当作存储语义变化。canary 只删除自身创建的容器和镜像 tag,保留证据目录,不 prune 现有缓存。
|
|
@@ -108,6 +108,9 @@
|
|
|
108
108
|
},
|
|
109
109
|
"verifier_only": {
|
|
110
110
|
"const": "2"
|
|
111
|
+
},
|
|
112
|
+
"benchmark_resources": {
|
|
113
|
+
"const": "1"
|
|
111
114
|
}
|
|
112
115
|
},
|
|
113
116
|
"allOf": [
|
|
@@ -130,6 +133,23 @@
|
|
|
130
133
|
}
|
|
131
134
|
}
|
|
132
135
|
}
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"if": {
|
|
139
|
+
"required": [
|
|
140
|
+
"benchmark_resources"
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
"then": {
|
|
144
|
+
"properties": {
|
|
145
|
+
"docker": {
|
|
146
|
+
"const": true
|
|
147
|
+
},
|
|
148
|
+
"buildkit": {
|
|
149
|
+
"const": true
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
133
153
|
}
|
|
134
154
|
]
|
|
135
155
|
},
|