{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Pangram CLI signed update manifest v1","description":"The signed update manifest after exact-byte signature verification.","type":"object","properties":{"schema_version":{"const":"1"},"channel":{"const":"stable"},"version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"},"published_at":{"$ref":"#/$defs/UtcTimestamp","pattern":"Z$"},"notes_url":{"type":"string","format":"uri","pattern":"^https://"},"minimum_updater_version":{"type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"},"artifacts":{"type":"array","items":{"$ref":"#/$defs/UpdateArtifact"},"minItems":1}},"additionalProperties":false,"required":["schema_version","channel","version","published_at","notes_url","minimum_updater_version","artifacts"],"$defs":{"UtcTimestamp":{"description":"An absolute UTC timestamp in the canonical `Z` form.","type":"string","format":"date-time","pattern":"Z$"},"UpdateArtifact":{"description":"One target-bound archive in a verified manifest.","type":"object","properties":{"target":{"$ref":"#/$defs/Target"},"archive_format":{"$ref":"#/$defs/ArchiveFormat"},"url":{"type":"string","format":"uri","pattern":"^https://"},"size_bytes":{"type":"integer","format":"uint64","minimum":1},"executable_size_bytes":{"type":"integer","format":"uint64","minimum":1},"sha256":{"$ref":"#/$defs/Sha256Hash"}},"additionalProperties":false,"required":["target","archive_format","url","size_bytes","executable_size_bytes","sha256"]},"Target":{"description":"Release target identifiers accepted by the signed manifest.","type":"string","enum":["x86_64-unknown-linux-gnu","aarch64-unknown-linux-gnu","x86_64-apple-darwin","aarch64-apple-darwin","x86_64-pc-windows-msvc"]},"ArchiveFormat":{"description":"Archive encodings emitted by the release workflow.","type":"string","enum":["tar.xz","zip"]},"Sha256Hash":{"description":"A lowercase SHA-256 digest.","type":"string","pattern":"^[0-9a-f]{64}$"}},"$id":"https://pangram.micr.dev/schemas/update-manifest-v1.json","x-contract-owner":"rust:microck_pangram_cli::contracts"}
