244 lines
6.5 KiB
JSON
244 lines
6.5 KiB
JSON
|
|
{
|
||
|
|
"job_phases": [
|
||
|
|
"Queued",
|
||
|
|
"Running",
|
||
|
|
"RetryWait",
|
||
|
|
"Cancelling",
|
||
|
|
"Succeeded",
|
||
|
|
"Failed",
|
||
|
|
"Cancelled"
|
||
|
|
],
|
||
|
|
"runtime_failures": [
|
||
|
|
{ "class": "authorization", "disposition": "permanent" },
|
||
|
|
{ "class": "source_not_found", "disposition": "permanent" },
|
||
|
|
{ "class": "source_changed", "disposition": "permanent" },
|
||
|
|
{ "class": "transient_source", "disposition": "retryable" },
|
||
|
|
{ "class": "transient_target", "disposition": "retryable" },
|
||
|
|
{ "class": "integrity", "disposition": "retryable" },
|
||
|
|
{ "class": "capacity", "disposition": "retryable" },
|
||
|
|
{ "class": "internal", "disposition": "retryable" }
|
||
|
|
],
|
||
|
|
"buckets": {
|
||
|
|
"valid": ["abc", "archive-01", "one.two-three"],
|
||
|
|
"invalid": [
|
||
|
|
"ab",
|
||
|
|
"Uppercase",
|
||
|
|
"-leading",
|
||
|
|
"trailing-",
|
||
|
|
"two..dots",
|
||
|
|
"under_score"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"target_prefixes": {
|
||
|
|
"valid": [
|
||
|
|
{ "input": "", "canonical": "" },
|
||
|
|
{ "input": "models/current/", "canonical": "models/current" },
|
||
|
|
{ "input": "cafe\u0301/data", "canonical": "caf\u00e9/data" }
|
||
|
|
],
|
||
|
|
"invalid": [
|
||
|
|
"/",
|
||
|
|
"/leading",
|
||
|
|
"two//segments",
|
||
|
|
"trailing//",
|
||
|
|
"dot/./segment",
|
||
|
|
"parent/../segment",
|
||
|
|
"back\\slash",
|
||
|
|
"private/\ue000"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"reserved_target_prefixes": [
|
||
|
|
{ "input": "_remora/data", "reserved": ["_remora"] },
|
||
|
|
{
|
||
|
|
"input": "models/_internal/current",
|
||
|
|
"reserved": ["_internal", "_remora"]
|
||
|
|
},
|
||
|
|
{ "input": "caf\u00e9/data", "reserved": ["cafe\u0301"] }
|
||
|
|
],
|
||
|
|
"member_paths": {
|
||
|
|
"valid": [
|
||
|
|
{ "input": "result.bin", "canonical": "result.bin" },
|
||
|
|
{ "input": "cafe\u0301/model.bin", "canonical": "caf\u00e9/model.bin" }
|
||
|
|
],
|
||
|
|
"invalid": [
|
||
|
|
"",
|
||
|
|
"/leading",
|
||
|
|
"trailing/",
|
||
|
|
"two//segments",
|
||
|
|
".",
|
||
|
|
"../escape",
|
||
|
|
"back\\slash",
|
||
|
|
"private/\ue000"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"scope_coverage": [
|
||
|
|
{
|
||
|
|
"scope": ["target-main", "target-bucket", "models"],
|
||
|
|
"target": ["target-main", "target-bucket", "models/current"],
|
||
|
|
"covers": true
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"scope": ["target-main", "target-bucket", "model"],
|
||
|
|
"target": ["target-main", "target-bucket", "models/current"],
|
||
|
|
"covers": false
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"scope": ["target-main", "target-bucket", ""],
|
||
|
|
"target": ["target-main", "target-bucket", "anything"],
|
||
|
|
"covers": true
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"scope": ["target-main", "target-bucket", "models"],
|
||
|
|
"target": ["target-other", "target-bucket", "models"],
|
||
|
|
"covers": false
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"fingerprints": [
|
||
|
|
{
|
||
|
|
"value": { "b": 2, "a": 1 },
|
||
|
|
"canonical": "{\"a\":1,\"b\":2}",
|
||
|
|
"sha256": "43258cff783fe7036d8a43033f830adfc60ec037382473548ac742b888292777"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"value": { "null": null, "array": [3, { "x": "\u00e9" }] },
|
||
|
|
"canonical": "{\"array\":[3,{\"x\":\"\u00e9\"}],\"null\":null}",
|
||
|
|
"sha256": "25c443412e0460747f70c56aa9aebf017d0f03e7571a0fa0016050e846127b14"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"value": [333333333.33333329, 1e30, 4.5, 2e-3, 1e-27],
|
||
|
|
"canonical": "[333333333.3333333,1e+30,4.5,0.002,1e-27]",
|
||
|
|
"sha256": "7c6bc86d861387d823ae596b79ca0b26567dddc22a77acb1f4e06d441f555adf"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"job_submissions": [
|
||
|
|
{
|
||
|
|
"source": {
|
||
|
|
"kind": "http",
|
||
|
|
"url": "https://example.invalid/file",
|
||
|
|
"result_path": "file.bin"
|
||
|
|
},
|
||
|
|
"label": "HTTP transfer"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"source": {
|
||
|
|
"kind": "object_store",
|
||
|
|
"store": "source-main",
|
||
|
|
"bucket": "source-bucket",
|
||
|
|
"key": "models/model.bin",
|
||
|
|
"version_id": "version-1",
|
||
|
|
"result_path": "model.bin",
|
||
|
|
"credential_id": "credential_01"
|
||
|
|
},
|
||
|
|
"target": { "bucket": "target-bucket", "prefix": "models/current" }
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"source": {
|
||
|
|
"kind": "hugging_face",
|
||
|
|
"repository_type": "model",
|
||
|
|
"repository_id": "owner/model",
|
||
|
|
"revision": "main",
|
||
|
|
"selection": { "paths": ["config.json"], "prefixes": ["weights"] }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"event_frames": [
|
||
|
|
{
|
||
|
|
"schema_version": 1,
|
||
|
|
"kind": "job_changed",
|
||
|
|
"event_id": "event_0001",
|
||
|
|
"sequence": 1,
|
||
|
|
"cursor": "cursor-value-0001",
|
||
|
|
"occurred_at": "2026-07-15T00:00:00Z",
|
||
|
|
"job_id": "job_000001",
|
||
|
|
"job_revision": 3,
|
||
|
|
"phase": "Running",
|
||
|
|
"lifecycle": "visible",
|
||
|
|
"authoritative_attempt": {
|
||
|
|
"attempt_id": "attempt_0001",
|
||
|
|
"fence": 2
|
||
|
|
},
|
||
|
|
"progress": {
|
||
|
|
"attempt_id": "attempt_0001",
|
||
|
|
"fence": 2,
|
||
|
|
"completed_bytes": 1024,
|
||
|
|
"total_bytes": null,
|
||
|
|
"completed_members": 0
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"schema_version": 1,
|
||
|
|
"kind": "resync_required",
|
||
|
|
"event_id": "event_0002",
|
||
|
|
"sequence": 2,
|
||
|
|
"cursor": "cursor-value-0002",
|
||
|
|
"occurred_at": "2026-07-15T00:00:01Z",
|
||
|
|
"reason": "authorization_changed"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"schema_version": 1,
|
||
|
|
"kind": "deletion_changed",
|
||
|
|
"event_id": "event_0003",
|
||
|
|
"sequence": 3,
|
||
|
|
"cursor": "cursor-value-0003",
|
||
|
|
"occurred_at": "2026-07-15T00:00:02Z",
|
||
|
|
"job_id": "job_000001",
|
||
|
|
"operation_id": "operation_03",
|
||
|
|
"state": "running"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"schema_version": 1,
|
||
|
|
"kind": "heartbeat",
|
||
|
|
"event_id": "event_0004",
|
||
|
|
"sequence": 4,
|
||
|
|
"cursor": "cursor-value-0004",
|
||
|
|
"occurred_at": "2026-07-15T00:00:03Z"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"attempt_outcomes": [
|
||
|
|
{
|
||
|
|
"operation_id": "operation_01",
|
||
|
|
"fence": 2,
|
||
|
|
"worker_incarnation": "worker_0001",
|
||
|
|
"outcome": {
|
||
|
|
"kind": "success",
|
||
|
|
"result": {
|
||
|
|
"kind": "manifest",
|
||
|
|
"manifest": {
|
||
|
|
"store": "target-main",
|
||
|
|
"bucket": "target-bucket",
|
||
|
|
"key": "_remora/results/manifest.json",
|
||
|
|
"version_id": "version-1",
|
||
|
|
"checksum": "sha256:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
|
||
|
|
},
|
||
|
|
"member_count": 1,
|
||
|
|
"total_bytes": 4096
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"operation_id": "operation_02",
|
||
|
|
"fence": 3,
|
||
|
|
"worker_incarnation": "worker_0001",
|
||
|
|
"outcome": {
|
||
|
|
"kind": "failure",
|
||
|
|
"failure": {
|
||
|
|
"class": "transient_source",
|
||
|
|
"message": "source temporarily unavailable",
|
||
|
|
"safe_details": { "status": 503, "retry_hint_used": true }
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"job_failures": [
|
||
|
|
{
|
||
|
|
"class": "source_not_found",
|
||
|
|
"message": "source does not exist",
|
||
|
|
"retryable": false
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"class": "transient_target",
|
||
|
|
"message": "target temporarily unavailable",
|
||
|
|
"retryable": true,
|
||
|
|
"safe_details": { "status": 503, "retry_hint_used": true }
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|