{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://doku.dbxapp.de/.well-known/dbxapp/ai-contracts/schema-v1.json",
  "title": "dbxapp AI task boundary contract",
  "type": "object",
  "required": ["schema", "product", "version", "contract", "priority", "sequence", "tasks", "change_log"],
  "properties": {
    "schema": {"const": 1},
    "product": {"const": "dbxapp"},
    "version": {"type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$"},
    "contract": {"const": "ai-task-boundaries"},
    "priority": {"type": "array", "minItems": 4, "items": {"type": "string"}},
    "sequence": {"type": "array", "minItems": 6, "items": {"type": "string"}},
    "tasks": {
      "type": "object",
      "required": ["menu_customer_content", "system_module_source", "design", "cms_documentation", "data_model", "release_update"],
      "additionalProperties": {
        "type": "object",
        "required": ["required_sources", "allowed_scope", "forbidden", "acceptance"]
      }
    },
    "change_log": {
      "type": "object",
      "required": ["required_after_successful_write", "entries_per_logical_block"],
      "properties": {
        "required_after_successful_write": {"const": true},
        "entries_per_logical_block": {"const": 1}
      }
    }
  },
  "additionalProperties": true
}
