{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://vic-arch-checklist.local/schema/vic-arch-checklist.schema.json",
  "title": "Victoria Architectural Checklist Package",
  "description": "Lossless package for a Victorian residential architectural project checklist. A downloadable ZIP contains manifest.json, project.json, template.json, and attachments/{id}/{filename}. Import must restore every answer, note, attachment byte, and template association.",
  "$defs": {
    "isoDateTime": {
      "type": "string",
      "format": "date-time"
    },
    "uuid": {
      "type": "string",
      "format": "uuid"
    },
    "sha256": {
      "type": "string",
      "pattern": "^[a-f0-9]{64}$"
    },
    "typology": {
      "type": "string",
      "enum": [
        "house",
        "townhouse",
        "apartment"
      ]
    },
    "itemStatus": {
      "type": "string",
      "enum": [
        "todo",
        "in_progress",
        "done",
        "not_applicable",
        "blocked",
        "needs_recheck"
      ]
    },
    "impactStatus": {
      "type": "string",
      "enum": [
        "open",
        "adopted",
        "dismissed"
      ]
    },
    "templateRef": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "version",
        "checksum"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "version": {
          "type": "string",
          "minLength": 1
        },
        "checksum": {
          "$ref": "#/$defs/sha256"
        }
      }
    },
    "answer": {
      "type": "object",
      "required": [
        "status",
        "notes",
        "updatedAt",
        "fields"
      ],
      "properties": {
        "status": {
          "$ref": "#/$defs/itemStatus"
        },
        "notes": {
          "type": "string"
        },
        "updatedAt": {
          "$ref": "#/$defs/isoDateTime"
        },
        "fields": {
          "type": "object",
          "additionalProperties": {
            "type": [
              "string",
              "number",
              "boolean",
              "null"
            ]
          }
        },
        "previousStatus": {
          "$ref": "#/$defs/itemStatus"
        }
      }
    },
    "outputKind": {
      "type": "string",
      "enum": [
        "client-brief",
        "report",
        "site-plan",
        "demolition",
        "plans",
        "rcp",
        "elevations",
        "sections",
        "details",
        "roof-plan",
        "schedules",
        "specification",
        "drawing-standards",
        "record"
      ]
    },
    "templateChangeKind": {
      "type": "string",
      "enum": [
        "wording",
        "add",
        "edit",
        "remove",
        "move"
      ]
    },
    "templateItemChange": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "itemId",
        "title",
        "beforeTitle",
        "afterTitle",
        "beforeDetail",
        "afterDetail",
        "beforeReferences",
        "afterReferences"
      ],
      "properties": {
        "itemId": {
          "type": "string",
          "minLength": 1
        },
        "title": {
          "type": "string"
        },
        "kind": {
          "$ref": "#/$defs/templateChangeKind"
        },
        "beforeTitle": {
          "type": "string"
        },
        "afterTitle": {
          "type": "string"
        },
        "beforeDetail": {
          "type": "string"
        },
        "afterDetail": {
          "type": "string"
        },
        "beforeReferences": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "afterReferences": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "beforeStageId": {
          "type": "string"
        },
        "afterStageId": {
          "type": "string"
        },
        "beforeDeliverableId": {
          "type": [
            "string",
            "null"
          ]
        },
        "afterDeliverableId": {
          "type": [
            "string",
            "null"
          ]
        },
        "beforeRequired": {
          "type": "boolean"
        },
        "afterRequired": {
          "type": "boolean"
        },
        "beforeAppliesTo": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/typology"
          }
        },
        "afterAppliesTo": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/typology"
          }
        },
        "beforeResources": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/checklistResource"
          }
        },
        "afterResources": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/checklistResource"
          }
        },
        "beforeOutputKind": {
          "type": [
            "string",
            "null"
          ]
        },
        "afterOutputKind": {
          "type": [
            "string",
            "null"
          ]
        },
        "beforeIndex": {
          "type": "integer",
          "minimum": 0
        },
        "afterIndex": {
          "type": "integer",
          "minimum": 0
        }
      }
    },
    "impactChange": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "itemId",
        "title",
        "beforeTitle",
        "afterTitle",
        "beforeDetail",
        "afterDetail",
        "beforeReferences",
        "afterReferences",
        "adopted"
      ],
      "properties": {
        "itemId": {
          "type": "string",
          "minLength": 1
        },
        "title": {
          "type": "string"
        },
        "kind": {
          "$ref": "#/$defs/templateChangeKind"
        },
        "beforeTitle": {
          "type": "string"
        },
        "afterTitle": {
          "type": "string"
        },
        "beforeDetail": {
          "type": "string"
        },
        "afterDetail": {
          "type": "string"
        },
        "beforeReferences": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "afterReferences": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "beforeStageId": {
          "type": "string"
        },
        "afterStageId": {
          "type": "string"
        },
        "beforeDeliverableId": {
          "type": [
            "string",
            "null"
          ]
        },
        "afterDeliverableId": {
          "type": [
            "string",
            "null"
          ]
        },
        "beforeRequired": {
          "type": "boolean"
        },
        "afterRequired": {
          "type": "boolean"
        },
        "beforeAppliesTo": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/typology"
          }
        },
        "afterAppliesTo": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/typology"
          }
        },
        "beforeResources": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/checklistResource"
          }
        },
        "afterResources": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/checklistResource"
          }
        },
        "beforeOutputKind": {
          "type": [
            "string",
            "null"
          ]
        },
        "afterOutputKind": {
          "type": [
            "string",
            "null"
          ]
        },
        "beforeIndex": {
          "type": "integer",
          "minimum": 0
        },
        "afterIndex": {
          "type": "integer",
          "minimum": 0
        },
        "adopted": {
          "type": "boolean"
        }
      }
    },
    "impactNotice": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "releaseId",
        "findingId",
        "sourceTitle",
        "sourceUrl",
        "fromVersion",
        "toVersion",
        "publishedAt",
        "status",
        "changes"
      ],
      "properties": {
        "id": {
          "$ref": "#/$defs/uuid"
        },
        "releaseId": {
          "$ref": "#/$defs/uuid"
        },
        "findingId": {
          "type": "string",
          "minLength": 1
        },
        "sourceTitle": {
          "type": "string"
        },
        "sourceUrl": {
          "type": "string"
        },
        "fromVersion": {
          "type": "string",
          "minLength": 1
        },
        "toVersion": {
          "type": "string",
          "minLength": 1
        },
        "publishedAt": {
          "$ref": "#/$defs/isoDateTime"
        },
        "status": {
          "$ref": "#/$defs/impactStatus"
        },
        "changes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/impactChange"
          }
        }
      }
    },
    "attachment": {
      "type": "object",
      "required": [
        "id",
        "itemId",
        "filename",
        "mimeType",
        "size",
        "sha256",
        "addedAt"
      ],
      "properties": {
        "id": {
          "$ref": "#/$defs/uuid"
        },
        "itemId": {
          "type": [
            "string",
            "null"
          ]
        },
        "deliverableId": {
          "type": [
            "string",
            "null"
          ]
        },
        "filename": {
          "type": "string",
          "minLength": 1
        },
        "mimeType": {
          "type": "string",
          "minLength": 1
        },
        "size": {
          "type": "integer",
          "minimum": 0
        },
        "sha256": {
          "$ref": "#/$defs/sha256"
        },
        "addedAt": {
          "$ref": "#/$defs/isoDateTime"
        }
      }
    },
    "site": {
      "type": "object",
      "required": [
        "name",
        "typology",
        "address",
        "municipality",
        "planningScheme",
        "zone",
        "overlays",
        "storeys",
        "dwellingCount",
        "lotAreaSqm",
        "notes"
      ],
      "properties": {
        "name": {
          "type": "string",
          "minLength": 1
        },
        "typology": {
          "$ref": "#/$defs/typology"
        },
        "address": {
          "type": "string"
        },
        "municipality": {
          "type": "string"
        },
        "planningScheme": {
          "type": "string"
        },
        "zone": {
          "type": "string"
        },
        "zones": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "overlays": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "storeys": {
          "type": "integer",
          "minimum": 1
        },
        "dwellingCount": {
          "type": "integer",
          "minimum": 1
        },
        "lotAreaSqm": {
          "type": [
            "number",
            "null"
          ],
          "minimum": 0
        },
        "notes": {
          "type": "string"
        }
      }
    },
    "stage": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "number",
        "title",
        "summary"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "number": {
          "type": "integer",
          "minimum": 1
        },
        "title": {
          "type": "string",
          "minLength": 1
        },
        "summary": {
          "type": "string"
        }
      }
    },
    "checklistResource": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "label",
        "url"
      ],
      "properties": {
        "label": {
          "type": "string",
          "minLength": 1
        },
        "url": {
          "type": "string",
          "pattern": "^https://"
        }
      }
    },
    "requirementKind": {
      "type": "string",
      "enum": [
        "regulatory",
        "guidance",
        "office_practice"
      ]
    },
    "inputDataKind": {
      "type": "string",
      "enum": [
        "drawing",
        "document",
        "measurement",
        "site_data",
        "certificate",
        "note"
      ]
    },
    "findingResult": {
      "type": "string",
      "enum": [
        "pass",
        "fail",
        "not_applicable",
        "insufficient_information",
        "needs_judgement",
        "check_error"
      ]
    },
    "checklistIssueKind": {
      "type": "string",
      "enum": [
        "ambiguity",
        "contradiction",
        "missing_coverage"
      ]
    },
    "sourceReference": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "citation"
      ],
      "properties": {
        "citation": {
          "type": "string",
          "minLength": 1
        },
        "url": {
          "type": "string",
          "pattern": "^https://"
        },
        "version": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "requirementSpec": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "kind",
        "statement",
        "sourceRefs"
      ],
      "properties": {
        "kind": {
          "$ref": "#/$defs/requirementKind"
        },
        "statement": {
          "type": "string",
          "minLength": 1
        },
        "version": {
          "type": "string",
          "minLength": 1
        },
        "sourceRefs": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/sourceReference"
          }
        }
      }
    },
    "applicabilitySpec": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "elementTypes"
      ],
      "properties": {
        "elementTypes": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string",
            "minLength": 1
          }
        },
        "conditions": {
          "type": "string"
        }
      }
    },
    "requiredInput": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "label",
        "kind",
        "required"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "label": {
          "type": "string",
          "minLength": 1
        },
        "kind": {
          "$ref": "#/$defs/inputDataKind"
        },
        "required": {
          "type": "boolean"
        }
      }
    },
    "requiredEvidence": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "label",
        "kind"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "label": {
          "type": "string",
          "minLength": 1
        },
        "kind": {
          "$ref": "#/$defs/inputDataKind"
        }
      }
    },
    "checkingMethod": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "description",
        "acceptanceCriteria"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "description": {
          "type": "string",
          "minLength": 1
        },
        "acceptanceCriteria": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string",
            "minLength": 1
          }
        }
      }
    },
    "humanReviewNeed": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "required"
      ],
      "properties": {
        "required": {
          "type": "boolean"
        },
        "reason": {
          "type": "string"
        }
      }
    },
    "itemAssessment": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "requirement",
        "method",
        "applicability",
        "requiredInputs",
        "requiredEvidence",
        "humanReview"
      ],
      "properties": {
        "schemaVersion": {
          "const": "1.0.0"
        },
        "requirement": {
          "$ref": "#/$defs/requirementSpec"
        },
        "method": {
          "$ref": "#/$defs/checkingMethod"
        },
        "applicability": {
          "$ref": "#/$defs/applicabilitySpec"
        },
        "requiredInputs": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/requiredInput"
          }
        },
        "requiredEvidence": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/requiredEvidence"
          }
        },
        "humanReview": {
          "$ref": "#/$defs/humanReviewNeed"
        }
      }
    },
    "designRevisionRef": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "label"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "label": {
          "type": "string",
          "minLength": 1
        },
        "capturedAt": {
          "$ref": "#/$defs/isoDateTime"
        }
      }
    },
    "affectedElement": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "type",
        "label"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "type": {
          "type": "string",
          "minLength": 1
        },
        "label": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "findingEvidence": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "description",
        "present"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "inputId": {
          "type": "string",
          "minLength": 1
        },
        "description": {
          "type": "string"
        },
        "present": {
          "type": "boolean"
        },
        "location": {
          "type": "string"
        }
      }
    },
    "suggestedChecklistChange": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "title": {
          "type": "string"
        },
        "detail": {
          "type": "string"
        },
        "references": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "checklistIssue": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "kind",
        "detail"
      ],
      "properties": {
        "kind": {
          "$ref": "#/$defs/checklistIssueKind"
        },
        "itemId": {
          "type": "string",
          "minLength": 1
        },
        "detail": {
          "type": "string",
          "minLength": 1
        },
        "suggestedChange": {
          "$ref": "#/$defs/suggestedChecklistChange"
        }
      }
    },
    "findingDocument": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "format",
        "formatVersion",
        "id",
        "createdAt",
        "itemId",
        "checklist",
        "designRevision",
        "result",
        "summary",
        "affectedElements",
        "evidence",
        "assumptions",
        "missingInputs"
      ],
      "properties": {
        "format": {
          "const": "vic-arch-checklist-finding"
        },
        "formatVersion": {
          "const": "1.0.0"
        },
        "id": {
          "$ref": "#/$defs/uuid"
        },
        "createdAt": {
          "$ref": "#/$defs/isoDateTime"
        },
        "itemId": {
          "type": "string",
          "minLength": 1
        },
        "checklist": {
          "$ref": "#/$defs/templateRef"
        },
        "designRevision": {
          "$ref": "#/$defs/designRevisionRef"
        },
        "result": {
          "$ref": "#/$defs/findingResult"
        },
        "summary": {
          "type": "string",
          "minLength": 1
        },
        "affectedElements": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/affectedElement"
          }
        },
        "evidence": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/findingEvidence"
          }
        },
        "assumptions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "missingInputs": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "checklistIssue": {
          "$ref": "#/$defs/checklistIssue"
        }
      }
    },
    "checklistItem": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "stageId",
        "title",
        "detail",
        "appliesTo",
        "required",
        "references",
        "grokbotId"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "stageId": {
          "type": "string",
          "minLength": 1
        },
        "title": {
          "type": "string",
          "minLength": 1
        },
        "detail": {
          "type": "string"
        },
        "appliesTo": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/typology"
          }
        },
        "required": {
          "type": "boolean"
        },
        "references": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "resources": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/checklistResource"
          }
        },
        "grokbotId": {
          "type": "string",
          "minLength": 1
        },
        "deliverableId": {
          "type": "string",
          "minLength": 1
        },
        "outputKind": {
          "$ref": "#/$defs/outputKind"
        },
        "assessment": {
          "$ref": "#/$defs/itemAssessment"
        }
      }
    },
    "stageDeliverable": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "stageId",
        "kind",
        "title",
        "summary",
        "appliesTo"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "stageId": {
          "type": "string",
          "minLength": 1
        },
        "kind": {
          "type": "string",
          "enum": [
            "drawing",
            "document"
          ]
        },
        "title": {
          "type": "string",
          "minLength": 1
        },
        "summary": {
          "type": "string"
        },
        "appliesTo": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/typology"
          }
        }
      }
    },
    "grokbot": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "id",
        "name",
        "title",
        "stageId",
        "description",
        "firstTask",
        "plugins",
        "approvalRules"
      ],
      "properties": {
        "id": {
          "type": "string",
          "minLength": 1
        },
        "name": {
          "type": "string",
          "minLength": 1
        },
        "title": {
          "type": "string",
          "minLength": 1
        },
        "stageId": {
          "type": "string",
          "minLength": 1
        },
        "description": {
          "type": "string"
        },
        "firstTask": {
          "type": "string"
        },
        "plugins": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "approvalRules": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "projectDocument": {
      "type": "object",
      "required": [
        "format",
        "formatVersion",
        "id",
        "revision",
        "createdAt",
        "updatedAt",
        "template",
        "site",
        "answers",
        "attachments"
      ],
      "properties": {
        "format": {
          "const": "vic-arch-checklist-project"
        },
        "formatVersion": {
          "const": "1.0.0"
        },
        "id": {
          "$ref": "#/$defs/uuid"
        },
        "revision": {
          "type": "integer",
          "minimum": 1
        },
        "createdAt": {
          "$ref": "#/$defs/isoDateTime"
        },
        "updatedAt": {
          "$ref": "#/$defs/isoDateTime"
        },
        "template": {
          "$ref": "#/$defs/templateRef"
        },
        "site": {
          "$ref": "#/$defs/site"
        },
        "answers": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/answer"
          }
        },
        "attachments": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/attachment"
          }
        },
        "impacts": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/impactNotice"
          }
        },
        "findings": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/findingDocument"
          }
        }
      }
    },
    "templateDocument": {
      "type": "object",
      "required": [
        "format",
        "formatVersion",
        "id",
        "version",
        "title",
        "jurisdiction",
        "description",
        "checksum",
        "stages",
        "items",
        "grokbots"
      ],
      "properties": {
        "format": {
          "const": "vic-arch-checklist-template"
        },
        "formatVersion": {
          "const": "1.0.0"
        },
        "id": {
          "type": "string",
          "minLength": 1
        },
        "version": {
          "type": "string",
          "minLength": 1
        },
        "title": {
          "type": "string"
        },
        "jurisdiction": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "checksum": {
          "$ref": "#/$defs/sha256"
        },
        "stages": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/stage"
          }
        },
        "items": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/checklistItem"
          }
        },
        "grokbots": {
          "type": "array",
          "minItems": 1,
          "items": {
            "$ref": "#/$defs/grokbot"
          }
        },
        "deliverables": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/stageDeliverable"
          }
        }
      }
    },
    "packageManifest": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "format",
        "formatVersion",
        "exportedAt",
        "projectId",
        "revision",
        "templateId",
        "templateVersion",
        "templateChecksum",
        "files"
      ],
      "properties": {
        "format": {
          "const": "vic-arch-checklist-package"
        },
        "formatVersion": {
          "const": "1.0.0"
        },
        "exportedAt": {
          "$ref": "#/$defs/isoDateTime"
        },
        "projectId": {
          "$ref": "#/$defs/uuid"
        },
        "revision": {
          "type": "integer",
          "minimum": 1
        },
        "templateId": {
          "type": "string",
          "minLength": 1
        },
        "templateVersion": {
          "type": "string",
          "minLength": 1
        },
        "templateChecksum": {
          "$ref": "#/$defs/sha256"
        },
        "files": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "project",
            "template",
            "attachments"
          ],
          "properties": {
            "project": {
              "const": "project.json"
            },
            "template": {
              "const": "template.json"
            },
            "attachments": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "id",
                  "path",
                  "sha256",
                  "size",
                  "filename"
                ],
                "properties": {
                  "id": {
                    "$ref": "#/$defs/uuid"
                  },
                  "path": {
                    "type": "string",
                    "pattern": "^attachments/[0-9a-f-]{36}/.+"
                  },
                  "sha256": {
                    "$ref": "#/$defs/sha256"
                  },
                  "size": {
                    "type": "integer",
                    "minimum": 0
                  },
                  "filename": {
                    "type": "string",
                    "minLength": 1
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "oneOf": [
    {
      "$ref": "#/$defs/projectDocument"
    },
    {
      "$ref": "#/$defs/templateDocument"
    },
    {
      "$ref": "#/$defs/packageManifest"
    },
    {
      "$ref": "#/$defs/findingDocument"
    }
  ]
}
