{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://lessonkit.dev/schemas/identity-contract.v1.json",
  "title": "LessonKit Identity Contract v1",
  "description": "Stable id format and URN patterns for LessonKit courses, lessons, checks, and blocks.",
  "schemaVersion": 1,
  "idPattern": "^[a-zA-Z][a-zA-Z0-9_-]{0,63}$",
  "maxLength": 64,
  "requiredComponentIds": {
    "Course": ["courseId"],
    "Lesson": ["lessonId"],
    "Quiz": ["checkId"],
    "KnowledgeCheck": ["checkId"]
  },
  "optionalComponentIds": {
    "Scenario": ["blockId"],
    "Reflection": ["blockId"]
  },
  "urnPatterns": {
    "course": "urn:lessonkit:course:{courseId}",
    "lesson": "urn:lessonkit:course:{courseId}:lesson:{lessonId}",
    "check": "urn:lessonkit:course:{courseId}:lesson:{lessonId}:check:{checkId}",
    "block": "urn:lessonkit:course:{courseId}:lesson:{lessonId}:block:{blockId}"
  }
}
