{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "gamecult.eve.runtime_capability.v1", "title": "Eve Runtime Capability Manifest", "type": "object", "required": [ "schema", "runtimeId", "title", "owner", "incubation", "supportedFeatures", "supportedPlugins", "unsupportedPlugins", "commandTransport", "lifecycle" ], "properties": { "schema": { "const": "gamecult.eve.runtime_capability.v1" }, "runtimeId": { "type": "string", "minLength": 1 }, "title": { "type": "string", "minLength": 1 }, "owner": { "type": "string", "minLength": 1 }, "incubation": { "type": "object", "required": [ "ownerRepo", "currentHostRepo", "splitTarget", "graduationTrigger" ], "properties": { "ownerRepo": { "type": "string", "minLength": 1 }, "currentHostRepo": { "type": "string", "minLength": 1 }, "splitTarget": { "type": "string", "minLength": 1 }, "graduationTrigger": { "type": "string", "minLength": 1 } }, "additionalProperties": true }, "supportedFeatures": { "type": "array", "items": { "type": "string", "minLength": 1 } }, "supportedPlugins": { "type": "array", "items": { "type": "object", "required": [ "pluginId", "capabilities" ], "properties": { "pluginId": { "type": "string", "minLength": 1 }, "capabilities": { "type": "array", "items": { "type": "string", "minLength": 1 } } }, "additionalProperties": true } }, "unsupportedPlugins": { "type": "array", "items": { "type": "object", "required": [ "pluginId", "reason" ], "properties": { "pluginId": { "type": "string", "minLength": 1 }, "reason": { "type": "string", "minLength": 1 } }, "additionalProperties": true } }, "commandTransport": { "type": "object", "required": [ "schema" ], "properties": { "schema": { "type": "string", "minLength": 1 } }, "additionalProperties": true }, "worldSurfaceLowering": { "type": "array", "items": { "type": "object", "required": [ "targetId", "surfaceKinds", "projectionKinds", "supportLevel", "ownership" ], "properties": { "targetId": { "type": "string", "minLength": 1 }, "surfaceKinds": { "type": "array", "items": { "type": "string", "minLength": 1 } }, "projectionKinds": { "type": "array", "items": { "type": "string", "minLength": 1 } }, "supportLevel": { "type": "string", "minLength": 1 }, "ownership": { "type": "string", "minLength": 1 }, "evidencePaths": { "type": "array", "items": { "type": "string", "minLength": 1 } } }, "additionalProperties": true } }, "lifecycle": { "type": "object", "required": [ "release", "test", "capture" ], "properties": { "release": { "type": "object", "required": [ "ownerRepo", "status", "evidencePaths" ], "properties": { "ownerRepo": { "type": "string", "minLength": 1 }, "status": { "type": "string", "minLength": 1 }, "command": { "type": "string" }, "releaseContract": { "type": "object", "required": [ "ownerRepo", "packageName", "packageRoot", "versionSource", "tagPattern", "artifactKind", "requestSchema", "requestBuilder", "artifactPattern", "publishProof" ], "properties": { "ownerRepo": { "type": "string", "minLength": 1 }, "packageName": { "type": "string", "minLength": 1 }, "packageRoot": { "type": "string", "minLength": 1 }, "versionSource": { "type": "string", "minLength": 1 }, "tagPattern": { "type": "string", "minLength": 1 }, "artifactKind": { "type": "string", "minLength": 1 }, "requestSchema": { "type": "string", "minLength": 1 }, "requestBuilder": { "type": "string", "minLength": 1 }, "artifactBuilder": { "type": "string", "minLength": 1 }, "artifactPattern": { "type": "string", "minLength": 1 }, "publishProof": { "type": "string", "minLength": 1 }, "requiredPackageDependencies": { "type": "array", "items": { "type": "object", "required": [ "packageName", "version", "packageManager", "ownerRepo" ], "properties": { "packageName": { "type": "string", "minLength": 1 }, "version": { "type": "string", "minLength": 1 }, "packageManager": { "type": "string", "minLength": 1 }, "ownerRepo": { "type": "string", "minLength": 1 }, "purpose": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true }, "evidencePaths": { "type": "array", "items": { "type": "string", "minLength": 1 } }, "pendingProofs": { "type": "array", "items": { "type": "string", "minLength": 1 } } }, "additionalProperties": true }, "test": { "type": "object", "required": [ "ownerRepo", "status", "evidencePaths" ], "properties": { "ownerRepo": { "type": "string", "minLength": 1 }, "status": { "type": "string", "minLength": 1 }, "command": { "type": "string" }, "testContract": { "type": "object", "required": [ "ownerRepo", "runnerKind", "runnerScript", "consumerProject", "packageName", "testAssembly", "testPlatform", "resultsArtifact", "logArtifact", "manifestMutation" ], "properties": { "ownerRepo": { "type": "string", "minLength": 1 }, "runnerKind": { "type": "string", "minLength": 1 }, "runnerScript": { "type": "string", "minLength": 1 }, "consumerProject": { "type": "string", "minLength": 1 }, "unityExeDefault": { "type": "string", "minLength": 1 }, "packageName": { "type": "string", "minLength": 1 }, "testAssembly": { "type": "string", "minLength": 1 }, "testPlatform": { "type": "string", "minLength": 1 }, "resultsArtifact": { "type": "string", "minLength": 1 }, "logArtifact": { "type": "string", "minLength": 1 }, "manifestMutation": { "type": "string", "minLength": 1 }, "managedAssemblyDependencies": { "type": "array", "items": { "type": "object", "required": [ "assemblyName", "packageId", "packageManager", "ownerRepo", "resolutionMode", "dependencyContract" ], "properties": { "assemblyName": { "type": "string", "minLength": 1 }, "packageId": { "type": "string", "minLength": 1 }, "packageManager": { "type": "string", "minLength": 1 }, "ownerRepo": { "type": "string", "minLength": 1 }, "resolutionMode": { "type": "string", "minLength": 1 }, "dependencyContract": { "type": "object", "required": [ "sourceAuthority", "packageSource", "packageId", "assemblyName", "versionPolicy", "unityResolution", "handoffRequirement" ], "properties": { "sourceAuthority": { "type": "string", "minLength": 1 }, "packageSource": { "type": "string", "minLength": 1 }, "packageId": { "type": "string", "minLength": 1 }, "assemblyName": { "type": "string", "minLength": 1 }, "versionPolicy": { "type": "string", "minLength": 1 }, "unityResolution": { "type": "string", "minLength": 1 }, "handoffRequirement": { "type": "string", "minLength": 1 } }, "additionalProperties": true } }, "additionalProperties": true } } }, "additionalProperties": true }, "evidencePaths": { "type": "array", "items": { "type": "string", "minLength": 1 } }, "pendingProofs": { "type": "array", "items": { "type": "string", "minLength": 1 } } }, "additionalProperties": true }, "capture": { "type": "object", "required": [ "ownerRepo", "status", "evidencePaths" ], "properties": { "ownerRepo": { "type": "string", "minLength": 1 }, "status": { "type": "string", "minLength": 1 }, "command": { "type": "string" }, "captureContract": { "type": "object", "required": [ "ownerRepo", "runtimeId", "targetId", "requestSchema", "requestBuilder", "advertisementPath", "captureKind", "artifactKind", "artifactPattern", "conformanceAttachment", "requiredProvider", "requiredSurface", "authority", "publishProof" ], "properties": { "ownerRepo": { "type": "string", "minLength": 1 }, "runtimeId": { "type": "string", "minLength": 1 }, "targetId": { "type": "string", "minLength": 1 }, "requestSchema": { "type": "string", "minLength": 1 }, "requestBuilder": { "type": "string", "minLength": 1 }, "advertisementPath": { "type": "string", "minLength": 1 }, "captureKind": { "type": "string", "minLength": 1 }, "artifactKind": { "type": "string", "minLength": 1 }, "artifactPattern": { "type": "string", "minLength": 1 }, "conformanceAttachment": { "type": "string", "minLength": 1 }, "requiredProvider": { "type": "string", "minLength": 1 }, "requiredSurface": { "type": "string", "minLength": 1 }, "additionalProviderSurfaces": { "type": "array", "items": { "type": "object", "required": ["providerId", "surfaceId"], "properties": { "providerId": { "type": "string", "minLength": 1 }, "surfaceId": { "type": "string", "minLength": 1 }, "purpose": { "type": "string" } }, "additionalProperties": true } }, "authority": { "type": "string", "minLength": 1 }, "publishProof": { "type": "string", "minLength": 1 } }, "additionalProperties": true }, "evidencePaths": { "type": "array", "items": { "type": "string", "minLength": 1 } }, "pendingProofs": { "type": "array", "items": { "type": "string", "minLength": 1 } } }, "additionalProperties": true } }, "additionalProperties": true }, "capture": { "type": "object", "properties": { "status": { "type": "string", "minLength": 1 }, "note": { "type": "string" }, "artifacts": { "type": "array", "items": { "type": "object", "required": [ "kind", "schema", "path", "providerId", "surfaceId" ], "properties": { "kind": { "type": "string", "minLength": 1 }, "schema": { "type": "string", "minLength": 1 }, "path": { "type": "string", "minLength": 1 }, "providerId": { "type": "string", "minLength": 1 }, "surfaceId": { "type": "string", "minLength": 1 }, "sourceSurfacePath": { "type": "string" }, "requestPath": { "type": "string" } }, "additionalProperties": true } } }, "additionalProperties": true } }, "additionalProperties": true }