{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://lc-json.org/1.1-rc.1/signpost-item.schema.json",
  "title": "SignpostItem Schema",
  "description": "Structural navigation markers displaying intro ('In this unit you will...') or summary ('You just completed...') messages with learning objectives and progress stats.",
  "type": "object",
  "allOf": [
    {
      "$ref": "item-base.schema.json"
    },
    {
      "properties": {
        "type": {
          "const": "signpost"
        },
        "signpostType": {
          "type": "string",
          "description": "Type of signpost: intro (before content) or summary (after content)",
          "enum": [
            "intro",
            "summary"
          ],
          "default": "intro"
        },
        "scope": {
          "type": "string",
          "description": "Structural scope this signpost represents",
          "enum": [
            "course",
            "unit",
            "lesson"
          ],
          "default": "unit"
        },
        "customHtml": {
          "type": [
            "string",
            "null"
          ],
          "description": "Optional custom HTML content. If empty, consuming applications are expected to fall back to an auto-generated message — typically a header phrase ('In this unit, you will be able to:' for intro signposts, 'You can now:' for summary signposts) followed by the unit's or lesson's objectives. The exact form is consumer-defined.",
          "default": null
        }
      },
      "required": [
        "signpostType",
        "scope"
      ]
    }
  ]
}
