{
  "type": "object",
  "$schema": "http://json-schema.org/draft-04/schema",
  "id": "http://specsie.org/schema/foundation",
  "required": [
    "constraints",
    "description",
    "includes",
    "inherits",
    "specdoc"
  ],
  "properties": {
    "constraints": {
      "type": "array",
      "id": "http://specsie.org/schema/foundation/constraints",
      "items": {
        "type": "object",
        "id": "http://specsie.org/schema/foundation/constraints/0",
        "properties": {
          "constraint": {
            "type": [
              "string"
            ],
            "id": "http://specsie.org/schema/foundation/constraints/0/constraint"
          },
          "qualifiers": {
            "type": "array",
            "id": "http://specsie.org/schema/foundation/includes",
            "items": {
              "id": "http://specsie.org/schema/foundation/constraints/0/constraint"
            }
          }
        }
      }
    },
    "description": {
      "type": "array",
      "id": "http://specsie.org/schema/foundation/description",
      "items": {
        "type": "string",
        "id": "http://specsie.org/schema/foundation/description/0"
      }
    },
    "includes": {
      "type": "array",
      "id": "http://specsie.org/schema/foundation/includes",
      "items": {
        "type": "string",
        "id": "http://specsie.org/schema/foundation/includes/0"
      }
    },
    "inherits": {
      "type": "array",
      "id": "http://specsie.org/schema/foundation/inherits",
      "items": {
        "type": "object",
        "id": "http://specsie.org/schema/foundation/inherits0",
        "required": [
          "spec"
        ],
        "properties": {
          "spec": {
            "type": "string",
            "id": "http://specsie.org/schema/foundation/inherits0/spec"
          },
          "baseline": {
            "type": "string",
            "id": "http://specsie.org/schema/foundation/inherits0/baseline"
          }
        }
      }
    },
    "json-schema": {
      "type": "array",
      "id": "http://specsie.org/schema/foundation/json-schema",
      "items": {
        "type": "string",
        "id": "http://specsie.org/schema/foundation/json-schema/0"
      }
    },
    "specdoc": {
      "type": "object",
      "id": "http://specsie.org/schema/foundation/specdoc",
      "required": [
        "spec"
      ],
      "properties": {
        "spec": {
          "type": "string",
          "id": "http://specsie.org/schema/foundation/specdoc/spec"
        },
        "baseline": {
          "type": "string",
          "id": "http://specsie.org/schema/foundation/specdoc/baseline"
        }
      }
    }
  }
}