{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://example.com/schemas/handoff-reports.schema.json",
  "title": "Handoff Reports",
  "type": "object",
  "required": ["description", "objective", "handoff_reports"],
  "properties": {
    "description": { "type": "string", "minLength": 1 },
    "objective": { "type": "string", "minLength": 1 },
    "handoff_reports": {
      "type": "object",
      "required": ["objective", "why", "defaultReportPath", "exampleReportPath", "requiredSections", "evidenceSources", "closeoutChecklist", "qaGates", "stressTests", "passCriteria", "warningCriteria", "failCriteria", "objectiveAlignment"],
      "properties": {
        "objective": { "type": "string", "minLength": 1 },
        "why": { "type": "string", "minLength": 1 },
        "defaultReportPath": { "type": "string", "minLength": 1 },
        "exampleReportPath": { "type": "string", "minLength": 1 },
        "requiredSections": {
          "type": "array",
          "minItems": 1,
          "items": { "type": "object", "required": ["id", "title", "requiredFields", "why"] }
        },
        "evidenceSources": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
        "closeoutChecklist": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
        "qaGates": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
        "stressTests": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
        "passCriteria": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
        "warningCriteria": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
        "failCriteria": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
        "objectiveAlignment": { "type": "string", "minLength": 1 }
      }
    }
  }
}
