{ "lexicon": 1, "id": "software.release.defs", "defs": { "blobArtifact": { "type": "object", "description": "A named downloadable file stored as a blob in the manifest publisher's PDS. Consumers MUST verify downloaded bytes against the blob CID. Target metadata is optional and describes coarse runtime compatibility, not installation instructions.", "required": [ "fileName", "blob" ], "properties": { "fileName": { "type": "string", "minLength": 1, "description": "Suggested download filename, not a path. MUST NOT contain slashes, backslashes, or control characters, and MUST NOT be dot or dot-dot. Consumers MUST handle it as untrusted input and ensure it is safe for the destination filesystem. Filenames do not define target compatibility.", "maxLength": 255 }, "blob": { "type": "blob", "accept": [ "*/*" ], "description": "The artifact bytes. The blob reference supplies the content CID, MIME type, and size. No artifact-specific size limit is imposed; hosting services may impose their own limits." }, "target": { "type": "ref", "ref": "#target", "description": "Intended runtime target. Omission means compatibility is unspecified, not universal." }, "metadata": { "type": "array", "items": { "type": "union", "refs": [], "closed": false }, "description": "Typed ecosystem-specific metadata fragments. Metadata supplements core artifact fields and MUST NOT override or contradict them. Consumers may display or offer downloads of artifacts with unknown fragment types, but MUST NOT assume those fragments impose no additional requirements for automated installation. Unknown fragment types do not establish compatibility or suitability for automated installation." } } }, "target": { "type": "object", "description": "Coarse runtime compatibility for an artifact, not its build host. This is not a complete compatibility guarantee: OS versions, ABI, libc, and CPU features may impose additional requirements. Unknown values MUST NOT be treated as compatibility matches by consumers that do not understand them.", "properties": { "os": { "type": "string", "minLength": 1, "knownValues": [ "linux", "macos", "windows", "android", "ios" ], "description": "Intended runtime operating system. Use canonical known values where applicable, such as macos rather than darwin. Omission means unspecified, not support for every OS." }, "architectures": { "type": "array", "minLength": 1, "items": { "type": "string", "minLength": 1, "knownValues": [ "x86_64", "arm64", "x86" ] }, "description": "Supported runtime CPU architectures, with no duplicates. Each entry is an alternative supported architecture, not a simultaneous requirement. Use canonical known values where applicable, such as x86_64 rather than amd64. Omission means unspecified, not architecture-independent." } } } } }