{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://seminal.ai/principles/v0.1.0/charter.schema.json",
  "title": "Seminal AI coexistence profile 0.1.0",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "$schema": {
      "const": "https://seminal.ai/principles/v0.1.0/charter.schema.json"
    },
    "id": {
      "const": "org.seminalai.coexistence"
    },
    "version": {
      "const": "0.1.0"
    },
    "title": {
      "type": "string",
      "minLength": 1
    },
    "status": {
      "const": "initial-public-profile"
    },
    "published": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
    },
    "vision": {
      "type": "string",
      "minLength": 1
    },
    "scope": {
      "type": "string",
      "minLength": 1
    },
    "adoption": {
      "type": "string",
      "minLength": 1
    },
    "priority": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "human_rights_floor": {
          "type": "string",
          "minLength": 1
        },
        "host_constraints": {
          "type": "string",
          "minLength": 1
        },
        "conflict": {
          "type": "string",
          "minLength": 1
        }
      },
      "required": [
        "human_rights_floor",
        "host_constraints",
        "conflict"
      ]
    },
    "principles": {
      "type": "array",
      "minItems": 10,
      "maxItems": 10,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-z]+(?:-[a-z]+)*$"
          },
          "title": {
            "type": "string",
            "minLength": 1
          },
          "commitment": {
            "type": "string",
            "minLength": 1
          },
          "udhr_articles": {
            "type": "array",
            "uniqueItems": true,
            "items": {
              "type": "integer",
              "minimum": 1,
              "maximum": 30
            }
          },
          "must": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "minItems": 1
          },
          "must_not": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "minItems": 1
          },
          "operator_controls": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1
            },
            "minItems": 1
          }
        },
        "required": [
          "id",
          "title",
          "commitment",
          "udhr_articles",
          "must",
          "must_not",
          "operator_controls"
        ]
      }
    },
    "sources": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1
          },
          "title": {
            "type": "string",
            "minLength": 1
          },
          "url": {
            "type": "string",
            "pattern": "^https://[^\\s]+$"
          },
          "checked": {
            "type": "string",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$"
          },
          "role": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "id",
          "title",
          "url",
          "checked",
          "role"
        ]
      }
    },
    "evaluation": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "status": {
          "const": "not_evaluated"
        },
        "claim": {
          "type": "string",
          "minLength": 1
        },
        "required_evidence": {
          "type": "array",
          "items": {
            "type": "string",
            "minLength": 1
          },
          "minItems": 1
        }
      },
      "required": [
        "status",
        "claim",
        "required_evidence"
      ]
    },
    "governance": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "maintainer": {
          "type": "string",
          "minLength": 1
        },
        "contact": {
          "type": "string",
          "minLength": 1
        },
        "versioning": {
          "type": "string",
          "minLength": 1
        },
        "review": {
          "type": "string",
          "minLength": 1
        },
        "withdrawal": {
          "type": "string",
          "minLength": 1
        }
      },
      "required": [
        "maintainer",
        "contact",
        "versioning",
        "review",
        "withdrawal"
      ]
    }
  },
  "required": [
    "$schema",
    "id",
    "version",
    "title",
    "status",
    "published",
    "vision",
    "scope",
    "adoption",
    "priority",
    "principles",
    "sources",
    "evaluation",
    "governance"
  ]
}
