{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$defs": {
    "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."
    }
  },
  "properties": {
    "application": {
      "$ref": "#/$defs/EntryRef"
    },
    "release": {
      "$ref": "#/$defs/EntryRef"
    },
    "bound": {
      "items": {
        "$ref": "#/$defs/EntryRef"
      },
      "type": "array"
    },
    "produced": {
      "items": {
        "$ref": "#/$defs/EntryRef"
      },
      "type": "array"
    },
    "outcome": {
      "type": "string"
    },
    "environment": {
      "type": "string"
    },
    "manifest": {
      "type": "string"
    },
    "resolution": {
      "type": "string"
    },
    "signed_at": {
      "type": "string"
    },
    "signature": {
      "type": "string"
    }
  },
  "type": "object",
  "required": [
    "application",
    "release",
    "bound",
    "produced",
    "outcome",
    "environment",
    "manifest",
    "resolution",
    "signed_at",
    "signature"
  ],
  "title": "ResultSeal",
  "description": "ResultSeal is the retained, signed envelope of a terminal application: the application and release, every bound and produced occurrence, the outcome, the retained environment, manifest and resolution, and the service root's signature over the canonical seal with the signature empty."
}
