{
  "$comment": "Generated from the Buildish Release Tooling Pydantic models. Do not edit by hand; regenerate with `make schemas`.",
  "$defs": {
    "GenericFileSecondaryArtifact": {
      "additionalProperties": false,
      "description": "A standalone file artifact tracked in the signed vote manifest.",
      "properties": {
        "artifact_id": {
          "description": "Stable identifier for one source, secondary, or emitted artifact within Buildish release tooling.",
          "minLength": 1,
          "title": "Artifact Id",
          "type": "string"
        },
        "artifact_origin": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Origin classification describing whether the artifact came from a source build, registry, or repository staging area.",
          "title": "Artifact Origin"
        },
        "checksums": {
          "$ref": "#/$defs/Sha512Checksums",
          "description": "Declared checksum sidecars or signed checksum values associated with this artifact."
        },
        "filename": {
          "description": "Artifact filename as seen in staging, manifests, or retained evidence.",
          "minLength": 1,
          "title": "Filename",
          "type": "string"
        },
        "git_commit_sha": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Git commit SHA recorded for the related artifact, manifest, or provenance block.",
          "title": "Git Commit Sha"
        },
        "inventory": {
          "anyOf": [
            {
              "$ref": "#/$defs/SupplementalInventoryReference"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Signed inventory or supplemental staging metadata associated with the related artifact."
        },
        "kind": {
          "const": "generic-file",
          "default": "generic-file",
          "description": "Declared artifact or report kind discriminator.",
          "title": "Kind",
          "type": "string"
        },
        "reproducibility": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReproducibilitySelector"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Reproducibility policy or result block associated with the related source or secondary artifact."
        },
        "role": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Artifact role within the RC manifest, such as source artifact, vote-manifest supplement, or convenience artifact.",
          "title": "Role"
        },
        "signatures": {
          "description": "Declared detached signature references associated with the related artifact or manifest.",
          "items": {
            "$ref": "#/$defs/SignatureReference"
          },
          "title": "Signatures",
          "type": "array"
        },
        "uri": {
          "description": "Canonical artifact or signature URI recorded in a Buildish manifest or verification report.",
          "minLength": 1,
          "title": "Uri",
          "type": "string"
        }
      },
      "required": [
        "artifact_id",
        "filename",
        "uri",
        "checksums"
      ],
      "title": "GenericFileSecondaryArtifact",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "GenericFileWithOpenPgpSecondaryArtifact": {
      "additionalProperties": false,
      "description": "A standalone file artifact that requires at least one detached signature.",
      "properties": {
        "artifact_id": {
          "description": "Stable identifier for one source, secondary, or emitted artifact within Buildish release tooling.",
          "minLength": 1,
          "title": "Artifact Id",
          "type": "string"
        },
        "artifact_origin": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Origin classification describing whether the artifact came from a source build, registry, or repository staging area.",
          "title": "Artifact Origin"
        },
        "checksums": {
          "$ref": "#/$defs/Sha512Checksums",
          "description": "Declared checksum sidecars or signed checksum values associated with this artifact."
        },
        "filename": {
          "description": "Artifact filename as seen in staging, manifests, or retained evidence.",
          "minLength": 1,
          "title": "Filename",
          "type": "string"
        },
        "git_commit_sha": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Git commit SHA recorded for the related artifact, manifest, or provenance block.",
          "title": "Git Commit Sha"
        },
        "inventory": {
          "anyOf": [
            {
              "$ref": "#/$defs/SupplementalInventoryReference"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Signed inventory or supplemental staging metadata associated with the related artifact."
        },
        "kind": {
          "const": "generic-file-with-openpgp",
          "default": "generic-file-with-openpgp",
          "description": "Declared artifact or report kind discriminator.",
          "title": "Kind",
          "type": "string"
        },
        "reproducibility": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReproducibilitySelector"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Reproducibility policy or result block associated with the related source or secondary artifact."
        },
        "role": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Artifact role within the RC manifest, such as source artifact, vote-manifest supplement, or convenience artifact.",
          "title": "Role"
        },
        "signatures": {
          "description": "Declared detached signature references associated with the related artifact or manifest.",
          "items": {
            "$ref": "#/$defs/SignatureReference"
          },
          "title": "Signatures",
          "type": "array"
        },
        "uri": {
          "description": "Canonical artifact or signature URI recorded in a Buildish manifest or verification report.",
          "minLength": 1,
          "title": "Uri",
          "type": "string"
        }
      },
      "required": [
        "artifact_id",
        "filename",
        "uri",
        "checksums"
      ],
      "title": "GenericFileWithOpenPgpSecondaryArtifact",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "MavenRepositorySecondaryArtifact": {
      "additionalProperties": false,
      "description": "A staged Maven repository validated through a signed inventory.",
      "properties": {
        "artifact_id": {
          "description": "Stable identifier for one source, secondary, or emitted artifact within Buildish release tooling.",
          "minLength": 1,
          "title": "Artifact Id",
          "type": "string"
        },
        "artifact_origin": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Origin classification describing whether the artifact came from a source build, registry, or repository staging area.",
          "title": "Artifact Origin"
        },
        "base_url": {
          "description": "Base URL used to discover or publish the related artifact or service resource.",
          "minLength": 1,
          "title": "Base Url",
          "type": "string"
        },
        "git_commit_sha": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Git commit SHA recorded for the related artifact, manifest, or provenance block.",
          "title": "Git Commit Sha"
        },
        "inventory": {
          "$ref": "#/$defs/SupplementalInventoryReference",
          "description": "Signed inventory or supplemental staging metadata associated with the related artifact."
        },
        "kind": {
          "const": "maven-repository",
          "default": "maven-repository",
          "description": "Declared artifact or report kind discriminator.",
          "title": "Kind",
          "type": "string"
        },
        "reproducibility": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReproducibilitySelector"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Reproducibility policy or result block associated with the related source or secondary artifact."
        },
        "role": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Artifact role within the RC manifest, such as source artifact, vote-manifest supplement, or convenience artifact.",
          "title": "Role"
        },
        "staging_repository_id": {
          "description": "Repository identifier of the staged Maven repository under verification.",
          "minLength": 1,
          "title": "Staging Repository Id",
          "type": "string"
        }
      },
      "required": [
        "artifact_id",
        "inventory",
        "staging_repository_id",
        "base_url"
      ],
      "title": "MavenRepositorySecondaryArtifact",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "NpmChecksums": {
      "additionalProperties": false,
      "description": "A checksum block for npm artifacts, which may use sha256 or sha512.",
      "properties": {
        "sha256": {
          "anyOf": [
            {
              "$ref": "#/$defs/Sha256ChecksumPayload"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "SHA-256 checksum payload associated with the related artifact."
        },
        "sha512": {
          "anyOf": [
            {
              "$ref": "#/$defs/Sha512ChecksumPayload"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "SHA-512 checksum payload associated with the related artifact."
        }
      },
      "title": "NpmChecksums",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "NpmPackageSecondaryArtifact": {
      "additionalProperties": false,
      "description": "A published npm package tarball.",
      "properties": {
        "artifact_id": {
          "description": "Stable identifier for one source, secondary, or emitted artifact within Buildish release tooling.",
          "minLength": 1,
          "title": "Artifact Id",
          "type": "string"
        },
        "artifact_origin": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Origin classification describing whether the artifact came from a source build, registry, or repository staging area.",
          "title": "Artifact Origin"
        },
        "authenticity": {
          "anyOf": [
            {
              "$ref": "#/$defs/NpmProvenanceAuth"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Authenticity metadata, such as provenance or attestation references, associated with the related package artifact."
        },
        "checksums": {
          "$ref": "#/$defs/NpmChecksums",
          "description": "Declared checksum sidecars or signed checksum values associated with this artifact."
        },
        "filename": {
          "description": "Artifact filename as seen in staging, manifests, or retained evidence.",
          "minLength": 1,
          "title": "Filename",
          "type": "string"
        },
        "git_commit_sha": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Git commit SHA recorded for the related artifact, manifest, or provenance block.",
          "title": "Git Commit Sha"
        },
        "integrity": {
          "description": "Integrity verification details derived from registry metadata or sidecar checksums.",
          "minLength": 1,
          "title": "Integrity",
          "type": "string"
        },
        "inventory": {
          "anyOf": [
            {
              "$ref": "#/$defs/SupplementalInventoryReference"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Signed inventory or supplemental staging metadata associated with the related artifact."
        },
        "kind": {
          "const": "npm-package",
          "default": "npm-package",
          "description": "Declared artifact or report kind discriminator.",
          "title": "Kind",
          "type": "string"
        },
        "package_name": {
          "description": "Normalized npm package name associated with the related package artifact or registry lookup.",
          "minLength": 1,
          "title": "Package Name",
          "type": "string"
        },
        "registry_url": {
          "description": "Registry metadata URL used for npm package verification.",
          "minLength": 1,
          "title": "Registry Url",
          "type": "string"
        },
        "reproducibility": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReproducibilitySelector"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Reproducibility policy or result block associated with the related source or secondary artifact."
        },
        "role": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Artifact role within the RC manifest, such as source artifact, vote-manifest supplement, or convenience artifact.",
          "title": "Role"
        },
        "uri": {
          "description": "Canonical artifact or signature URI recorded in a Buildish manifest or verification report.",
          "minLength": 1,
          "title": "Uri",
          "type": "string"
        },
        "version": {
          "description": "Release version string without a leading `v` prefix.",
          "minLength": 1,
          "title": "Version",
          "type": "string"
        }
      },
      "required": [
        "artifact_id",
        "filename",
        "uri",
        "registry_url",
        "package_name",
        "version",
        "integrity",
        "checksums"
      ],
      "title": "NpmPackageSecondaryArtifact",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "NpmProvenanceAuth": {
      "additionalProperties": false,
      "description": "Explicit npm provenance metadata.",
      "properties": {
        "repository": {
          "description": "Repository identifier or repository name associated with the related provenance or external-auth record.",
          "minLength": 1,
          "title": "Repository",
          "type": "string"
        },
        "scheme": {
          "const": "npm-provenance",
          "default": "npm-provenance",
          "description": "Stable scheme identifier that names the authenticity or provenance mechanism represented by the related payload.",
          "title": "Scheme",
          "type": "string"
        }
      },
      "required": [
        "repository"
      ],
      "title": "NpmProvenanceAuth",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "OciImageSecondaryArtifact": {
      "additionalProperties": false,
      "description": "An immutable OCI image reference.",
      "properties": {
        "artifact_id": {
          "description": "Stable identifier for one source, secondary, or emitted artifact within Buildish release tooling.",
          "minLength": 1,
          "title": "Artifact Id",
          "type": "string"
        },
        "artifact_origin": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Origin classification describing whether the artifact came from a source build, registry, or repository staging area.",
          "title": "Artifact Origin"
        },
        "digest": {
          "description": "OCI content digest or similar immutable digest string for the related artifact.",
          "title": "Digest",
          "type": "string"
        },
        "git_commit_sha": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Git commit SHA recorded for the related artifact, manifest, or provenance block.",
          "title": "Git Commit Sha"
        },
        "inventory": {
          "anyOf": [
            {
              "$ref": "#/$defs/SupplementalInventoryReference"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Signed inventory or supplemental staging metadata associated with the related artifact."
        },
        "kind": {
          "const": "oci-image",
          "default": "oci-image",
          "description": "Declared artifact or report kind discriminator.",
          "title": "Kind",
          "type": "string"
        },
        "platform_digests": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/OciPlatformDigest"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Per-platform OCI digests declared or observed for a multi-platform image.",
          "title": "Platform Digests"
        },
        "registry": {
          "description": "Container registry host or namespace that serves the related OCI image.",
          "minLength": 1,
          "title": "Registry",
          "type": "string"
        },
        "repository": {
          "description": "Repository identifier or repository name associated with the related provenance or external-auth record.",
          "minLength": 1,
          "title": "Repository",
          "type": "string"
        },
        "reproducibility": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReproducibilitySelector"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Reproducibility policy or result block associated with the related source or secondary artifact."
        },
        "role": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Artifact role within the RC manifest, such as source artifact, vote-manifest supplement, or convenience artifact.",
          "title": "Role"
        },
        "uri": {
          "description": "Canonical artifact or signature URI recorded in a Buildish manifest or verification report.",
          "minLength": 1,
          "title": "Uri",
          "type": "string"
        }
      },
      "required": [
        "artifact_id",
        "uri",
        "registry",
        "repository",
        "digest"
      ],
      "title": "OciImageSecondaryArtifact",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "OciPlatformDigest": {
      "additionalProperties": false,
      "description": "One platform-specific digest declared for an OCI image.",
      "properties": {
        "digest": {
          "description": "OCI content digest or similar immutable digest string for the related artifact.",
          "title": "Digest",
          "type": "string"
        },
        "platform": {
          "description": "OCI platform identifier in `os/arch[/variant]` form.",
          "minLength": 1,
          "title": "Platform",
          "type": "string"
        }
      },
      "required": [
        "platform",
        "digest"
      ],
      "title": "OciPlatformDigest",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "PyPiAttestationAuth": {
      "additionalProperties": false,
      "description": "Explicit PyPI attestation metadata.",
      "properties": {
        "repository": {
          "description": "Repository identifier or repository name associated with the related provenance or external-auth record.",
          "minLength": 1,
          "title": "Repository",
          "type": "string"
        },
        "scheme": {
          "const": "pypi-attestation",
          "default": "pypi-attestation",
          "description": "Stable scheme identifier that names the authenticity or provenance mechanism represented by the related payload.",
          "title": "Scheme",
          "type": "string"
        }
      },
      "required": [
        "repository"
      ],
      "title": "PyPiAttestationAuth",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "PythonDistributionSecondaryArtifact": {
      "additionalProperties": false,
      "description": "A published Python distribution file.",
      "properties": {
        "artifact_id": {
          "description": "Stable identifier for one source, secondary, or emitted artifact within Buildish release tooling.",
          "minLength": 1,
          "title": "Artifact Id",
          "type": "string"
        },
        "artifact_origin": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Origin classification describing whether the artifact came from a source build, registry, or repository staging area.",
          "title": "Artifact Origin"
        },
        "authenticity": {
          "anyOf": [
            {
              "$ref": "#/$defs/PyPiAttestationAuth"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Authenticity metadata, such as provenance or attestation references, associated with the related package artifact."
        },
        "checksums": {
          "$ref": "#/$defs/Sha256Checksums",
          "description": "Declared checksum sidecars or signed checksum values associated with this artifact."
        },
        "filename": {
          "description": "Artifact filename as seen in staging, manifests, or retained evidence.",
          "minLength": 1,
          "title": "Filename",
          "type": "string"
        },
        "git_commit_sha": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Git commit SHA recorded for the related artifact, manifest, or provenance block.",
          "title": "Git Commit Sha"
        },
        "index_url": {
          "description": "Base Python simple-index URL that Buildish used for package verification.",
          "minLength": 1,
          "title": "Index Url",
          "type": "string"
        },
        "inventory": {
          "anyOf": [
            {
              "$ref": "#/$defs/SupplementalInventoryReference"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Signed inventory or supplemental staging metadata associated with the related artifact."
        },
        "kind": {
          "const": "python-distribution",
          "default": "python-distribution",
          "description": "Declared artifact or report kind discriminator.",
          "title": "Kind",
          "type": "string"
        },
        "project_name": {
          "description": "Python package project name associated with the related distribution artifact.",
          "minLength": 1,
          "title": "Project Name",
          "type": "string"
        },
        "reproducibility": {
          "anyOf": [
            {
              "$ref": "#/$defs/ReproducibilitySelector"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Reproducibility policy or result block associated with the related source or secondary artifact."
        },
        "role": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Artifact role within the RC manifest, such as source artifact, vote-manifest supplement, or convenience artifact.",
          "title": "Role"
        },
        "uri": {
          "description": "Canonical artifact or signature URI recorded in a Buildish manifest or verification report.",
          "minLength": 1,
          "title": "Uri",
          "type": "string"
        },
        "version": {
          "description": "Release version string without a leading `v` prefix.",
          "minLength": 1,
          "title": "Version",
          "type": "string"
        }
      },
      "required": [
        "artifact_id",
        "filename",
        "uri",
        "index_url",
        "project_name",
        "version",
        "checksums"
      ],
      "title": "PythonDistributionSecondaryArtifact",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "ReproducibilitySelector": {
      "additionalProperties": false,
      "description": "Signed manifest selector for one canonical local reproducibility profile.",
      "properties": {
        "profile_id": {
          "description": "Reproducibility profile identifier selected for the related artifact or source verification.",
          "minLength": 1,
          "title": "Profile Id",
          "type": "string"
        }
      },
      "required": [
        "profile_id"
      ],
      "title": "ReproducibilitySelector",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "Sha256ChecksumPayload": {
      "additionalProperties": false,
      "description": "One sha256 checksum value and optional detached sidecar URI.",
      "properties": {
        "uri": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Canonical artifact or signature URI recorded in a Buildish manifest or verification report.",
          "title": "Uri"
        },
        "value": {
          "description": "Declared checksum or digest value recorded in the related payload.",
          "title": "Value",
          "type": "string"
        }
      },
      "required": [
        "value"
      ],
      "title": "Sha256ChecksumPayload",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "Sha256Checksums": {
      "additionalProperties": false,
      "description": "A checksum block containing one sha256 entry.",
      "properties": {
        "sha256": {
          "$ref": "#/$defs/Sha256ChecksumPayload",
          "description": "SHA-256 checksum payload associated with the related artifact."
        }
      },
      "required": [
        "sha256"
      ],
      "title": "Sha256Checksums",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "Sha512ChecksumPayload": {
      "additionalProperties": false,
      "description": "One sha512 checksum value and optional detached sidecar URI.",
      "properties": {
        "uri": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Canonical artifact or signature URI recorded in a Buildish manifest or verification report.",
          "title": "Uri"
        },
        "value": {
          "description": "Declared checksum or digest value recorded in the related payload.",
          "title": "Value",
          "type": "string"
        }
      },
      "required": [
        "value"
      ],
      "title": "Sha512ChecksumPayload",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "Sha512Checksums": {
      "additionalProperties": false,
      "description": "A checksum block containing one sha512 entry.",
      "properties": {
        "sha512": {
          "$ref": "#/$defs/Sha512ChecksumPayload",
          "description": "SHA-512 checksum payload associated with the related artifact."
        }
      },
      "required": [
        "sha512"
      ],
      "title": "Sha512Checksums",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "SignatureReference": {
      "additionalProperties": false,
      "description": "One detached OpenPGP signature reference.",
      "properties": {
        "type": {
          "const": "openpgp-detached-ascii-armored",
          "default": "openpgp-detached-ascii-armored",
          "description": "Stable subtype discriminator or signature-reference type for the related payload.",
          "title": "Type",
          "type": "string"
        },
        "uri": {
          "description": "Canonical artifact or signature URI recorded in a Buildish manifest or verification report.",
          "minLength": 1,
          "title": "Uri",
          "type": "string"
        }
      },
      "required": [
        "uri"
      ],
      "title": "SignatureReference",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    },
    "SupplementalInventoryReference": {
      "additionalProperties": false,
      "description": "One staged supplemental inventory attachment.",
      "properties": {
        "entry_count": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Number of entries recorded in the related inventory, repository snapshot, or artifact collection.",
          "title": "Entry Count"
        },
        "filename": {
          "description": "Artifact filename as seen in staging, manifests, or retained evidence.",
          "minLength": 1,
          "title": "Filename",
          "type": "string"
        },
        "sha512": {
          "description": "SHA-512 checksum payload associated with the related artifact.",
          "title": "Sha512",
          "type": "string"
        },
        "total_size_bytes": {
          "anyOf": [
            {
              "minimum": 0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Total size, in bytes, recorded for the related artifact collection or inventory.",
          "title": "Total Size Bytes"
        },
        "uri": {
          "anyOf": [
            {
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Canonical artifact or signature URI recorded in a Buildish manifest or verification report.",
          "title": "Uri"
        }
      },
      "required": [
        "filename",
        "sha512"
      ],
      "title": "SupplementalInventoryReference",
      "type": "object",
      "x-buildish-contract": {
        "category": "emitted",
        "ownership": "tooling-derived"
      }
    }
  },
  "$id": "https://buildish.org/components/release-tooling/schemas/secondary-artifact-manifest-v1.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "A reusable secondary-artifact manifest fragment.",
  "properties": {
    "secondary_artifacts": {
      "description": "Declared secondary artifacts retained in the RC vote manifest or secondary-artifact manifest.",
      "items": {
        "discriminator": {
          "mapping": {
            "generic-file": "#/$defs/GenericFileSecondaryArtifact",
            "generic-file-with-openpgp": "#/$defs/GenericFileWithOpenPgpSecondaryArtifact",
            "maven-repository": "#/$defs/MavenRepositorySecondaryArtifact",
            "npm-package": "#/$defs/NpmPackageSecondaryArtifact",
            "oci-image": "#/$defs/OciImageSecondaryArtifact",
            "python-distribution": "#/$defs/PythonDistributionSecondaryArtifact"
          },
          "propertyName": "kind"
        },
        "oneOf": [
          {
            "$ref": "#/$defs/GenericFileSecondaryArtifact"
          },
          {
            "$ref": "#/$defs/GenericFileWithOpenPgpSecondaryArtifact"
          },
          {
            "$ref": "#/$defs/MavenRepositorySecondaryArtifact"
          },
          {
            "$ref": "#/$defs/NpmPackageSecondaryArtifact"
          },
          {
            "$ref": "#/$defs/OciImageSecondaryArtifact"
          },
          {
            "$ref": "#/$defs/PythonDistributionSecondaryArtifact"
          }
        ]
      },
      "title": "Secondary Artifacts",
      "type": "array"
    }
  },
  "required": [
    "secondary_artifacts"
  ],
  "title": "Buildish Release Tooling SecondaryArtifactManifestV1",
  "type": "object",
  "x-buildish-contract": {
    "category": "emitted",
    "filePath": "artifact-manifest.json",
    "ownership": "tooling-derived",
    "summary": "Typed secondary-artifact registration manifest fragment written by `record-artifact`."
  }
}
