{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "manni:structure-strict:1.0.0",
  "title": "manni structure strict overlay v1.0.0",
  "description": "The strict overlay for manni:structure:1.0.0. Stack it beside the open vocabulary. It narrows the form of values the open vocabulary already claims and requires no key. `concepts` is unchanged, because a glossary label may contain spaces.",
  "additionalProperties": true,
  "type": "object",
  "properties": {
    "applies-to": {
      "$ref": "#/$defs/applicability",
      "description": "Strict holds each label to lowercase letters, digits, dots and hyphens, in the string form and the list form alike. One prefix such as `deploy:` may lead it."
    },
    "not-applicable-to": {
      "$ref": "#/$defs/applicability",
      "description": "Strict holds each label to lowercase letters, digits, dots and hyphens, in the string form and the list form alike. One prefix such as `deploy:` may lead it."
    },
    "prerequisites": {
      "$ref": "#/$defs/refs",
      "description": "Strict holds each prerequisite to one id, path or URL on one line with no surrounding space, in the string form and the list form alike."
    },
    "next-steps": {
      "$ref": "#/$defs/refs",
      "description": "Strict holds each next step to one id, path or URL on one line with no surrounding space, in the string form and the list form alike."
    },
    "related-pages": {
      "$ref": "#/$defs/refs",
      "description": "Strict holds each related page to one id, path or URL on one line with no surrounding space, in the string form and the list form alike."
    }
  },
  "$defs": {
    "applicability": {
      "pattern": "^(?:[a-z0-9-]+:)?[a-z0-9][a-z0-9.-]*$",
      "items": {
        "pattern": "^(?:[a-z0-9-]+:)?[a-z0-9][a-z0-9.-]*$"
      },
      "description": "A flat applicability label, as a string or as each member of a list. `operator-1.4` and `deploy:k8s-1.30` pass."
    },
    "refs": {
      "pattern": "^\\S(?:.*\\S)?$",
      "items": {
        "pattern": "^\\S(?:.*\\S)?$"
      },
      "description": "An id, path or URL on one line with no surrounding space, as a string or as each member of a list."
    }
  }
}
