{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://stellaops.local/graph/analytics-bundle.schema.json", "title": "Graph Analytics Bundle (Offline)", "type": "object", "additionalProperties": false, "required": [ "bundleId", "tenant", "schemaVersion", "analyticsResults", "datasets", "manifest", "hashes", "createdAt" ], "properties": { "bundleId": { "type": "string", "pattern": "^analytics-bundle:[A-Za-z0-9._:-]+$" }, "tenant": { "type": "string", "minLength": 1 }, "schemaVersion": { "type": "string", "pattern": "^1\\.\\d+\\.\\d+$" }, "createdAt": { "type": "string", "format": "date-time" }, "analyticsResults": { "type": "array", "items": { "type": "object", "required": ["analysisId", "resultPath", "resultHash", "algorithmVersion", "schemaVersion"], "additionalProperties": false, "properties": { "analysisId": { "type": "string" }, "resultPath": { "type": "string" }, "resultHash": { "type": "string", "pattern": "^sha256:[A-Fa-f0-9]{64}$" }, "schemaVersion": { "type": "string" }, "algorithmVersion": { "type": "string" }, "rerunHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" } } }, "uniqueItems": true }, "datasets": { "type": "array", "items": { "type": "object", "required": ["id", "path", "hash"], "additionalProperties": false, "properties": { "id": { "type": "string" }, "path": { "type": "string" }, "hash": { "type": "string", "pattern": "^sha256:[A-Fa-f0-9]{64}$" }, "redactions": { "type": "array", "items": { "type": "string" }, "uniqueItems": true } } }, "uniqueItems": true }, "manifest": { "type": "array", "items": { "type": "object", "required": ["path", "sha256", "size"], "additionalProperties": false, "properties": { "path": { "type": "string" }, "sha256": { "type": "string", "pattern": "^[A-Fa-f0-9]{64}$" }, "size": { "type": "integer", "minimum": 0 }, "contentType": { "type": "string" } } }, "uniqueItems": true }, "hashes": { "type": "object", "additionalProperties": false, "properties": { "bundleSha256": { "type": "string", "pattern": "^[A-Fa-f0-9]{64}$" }, "manifestSha256": { "type": "string", "pattern": "^[A-Fa-f0-9]{64}$" } } }, "signatures": { "type": "array", "items": { "type": "object", "required": ["type", "keyId", "signature"], "additionalProperties": false, "properties": { "type": { "type": "string", "enum": ["dsse", "jws-detached"] }, "keyId": { "type": "string" }, "signature": { "type": "string" }, "envelopeDigest": { "type": "string", "pattern": "^sha256:[A-Fa-f0-9]{64}$" } } } }, "metadata": { "type": "object", "additionalProperties": false, "properties": { "budgets": { "type": "object", "additionalProperties": false, "properties": { "budgetSeconds": { "type": "number", "minimum": 0, "default": 30 }, "maxNodes": { "type": "integer", "minimum": 0, "default": 50000 }, "maxEdges": { "type": "integer", "minimum": 0, "default": 200000 } } }, "offline": { "type": "object", "additionalProperties": false, "properties": { "sealed": { "type": "boolean", "default": true }, "provenance": { "type": "string" } } } } } } }