{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$defs": {
    "Artifact": {
      "properties": {
        "bytes": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "bytes",
        "type"
      ],
      "description": "Artifact is exact retained content with a selected interpretation: the hash of the bytes and the hash of the interpretation descriptor the bytes are read under (order 0002 D4)."
    },
    "EntryRef": {
      "properties": {
        "root_id": {
          "type": "string"
        },
        "space_id": {
          "type": "string"
        },
        "position": {
          "type": "integer"
        }
      },
      "type": "object",
      "required": [
        "root_id",
        "space_id",
        "position"
      ],
      "description": "EntryRef is the occurrence identity of one entry: a position in one journal."
    },
    "OutputEntry": {
      "properties": {
        "role": {
          "type": "string"
        },
        "ordinal": {
          "type": "integer"
        },
        "artifact": {
          "$ref": "#/$defs/Artifact"
        },
        "entry": {
          "$ref": "#/$defs/EntryRef"
        }
      },
      "type": "object",
      "required": [
        "role",
        "ordinal",
        "artifact",
        "entry"
      ],
      "description": "OutputEntry is one output of a completed application: its role, ordinal within that role, the retained artifact and its occurrence."
    }
  },
  "properties": {
    "application": {
      "$ref": "#/$defs/EntryRef"
    },
    "outputs": {
      "items": {
        "$ref": "#/$defs/OutputEntry"
      },
      "type": "array"
    },
    "counts": true,
    "coverage": true
  },
  "type": "object",
  "required": [
    "application",
    "outputs",
    "counts",
    "coverage"
  ],
  "title": "OutputManifest",
  "description": "OutputManifest is the retained manifest of a completed application's outputs: one entry per output occurrence in role order, the counts and the coverage the tool reported."
}
