Skip to content

Search documentation and specifications for 0.3.0.

    0.3.0draft

    Schemas and release artifacts

    These artifacts belong to OSD contract set 0.3.0, pinned to ARD v0.91 at upstream revision aa3e598bb7752a9175897823234311216acfa864. Use the schemas, release manifest, and fixtures from the same contract set.

    The JSON Schemas define the OSD data and validation rules. The specified ARD version defines inherited fields and their meanings. If an OSD schema conflicts with ARD, the ARD definition is correct. The OSD 0.3.0 specification describes the contract profile, behavioral requirements, and compatibility rules. The contract does not define a resolver’s aggregation response envelope.

    The schemas cover the pinned ARD entry and manifest models, OSD entries and brand-domain manifests, registry search requests and complete OSD search results, error responses, and the contract release manifest.

    The OSD profile requires an entry-level @context mapping and top-level osd:brandName and osd:brandDomain terms. Brand identity is stored directly on each entry; the pinned ARD metadata constraints remain unchanged.

    SchemaDownload
    ARD entry and manifestard-entry
    OSD entryosd-catalog-entry
    OSD brand-domain manifestosd-ard-manifest
    Registry search requestregistry-search-request
    Registry search responseregistry-search-response
    Error responseerror-response
    Contract release manifestcontract-manifest

    Each schema has an immutable, versioned $id. Do not change a schema after its release. The pinned upstream ard-entry schema defines both ArdEntry and ArdManifest; the manifest requires an entries array.

    The OSD 0.3.0 release manifest identifies the OSD version and pins the upstream ARD version and revision.

    Publication status records whether the contract version is draft, rc, or released. A missing status defaults to draft. The website version selector reads this metadata: draft and rc display matching badges; released displays no badge.

    Publication status can change without changing the immutable contract manifest, schemas, or validation fixtures. To release a version, set its status to released and update the draft wording in its documentation.

    The OSD 0.3.0 fixture index links the valid and invalid documents and identifies the schema and expected validation result for each fixture. A validator must accept the valid fixtures and reject the invalid fixtures against their indexed versioned schemas.

    The registry directory schema describes the JSON list of registry operators and search endpoints. Its schemaVersion is 0.1.0, a separate format version from the OSD 0.3.0 contract used in registry searches. See the directory reference for the uniqueness and operator-consistency rules that clients also check.

    • schemas/<schema-name>/<schema-version>.schema.json contains the schemas. Each schema has a version in its $id. Do not change a schema after its release.
    • fixtures/<osd-version>/valid contains standard documents that the schemas must accept.
    • fixtures/<osd-version>/invalid contains documents that the schemas must reject. The fixture index identifies the applicable schema for each document.
    • releases/<osd-version>/manifest.json identifies the OSD version and the upstream contract versions for the release.
    • releases/<osd-version>/status.json records its publication status separately from the immutable contract artifacts.