{
  "$id": "mokili.review/1",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "A person's decision on a proposal. Accepting stores the proposed record.",
  "properties": {
    "created_at": {
      "title": "Created At",
      "type": "string"
    },
    "decision": {
      "enum": [
        "accept",
        "reject"
      ],
      "title": "Decision",
      "type": "string"
    },
    "proposal": {
      "pattern": "^sha256:[0-9a-f]{64}$",
      "title": "Proposal",
      "type": "string"
    },
    "reason": {
      "minLength": 1,
      "title": "Reason",
      "type": "string"
    },
    "reviewer": {
      "description": "Who decided, as they declared it",
      "minLength": 1,
      "title": "Reviewer",
      "type": "string"
    },
    "schema": {
      "const": "mokili.review/1",
      "title": "Schema",
      "type": "string"
    },
    "stored": {
      "anyOf": [
        {
          "pattern": "^sha256:[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "The accepted record's digest",
      "title": "Stored"
    }
  },
  "required": [
    "schema",
    "created_at",
    "proposal",
    "reviewer",
    "decision",
    "reason"
  ],
  "title": "Review",
  "type": "object"
}
