{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://okstra.dev/schemas/report-narrative-v3.0.json",
  "title": "OKSTRA Report Writer Narrative Input (v3.0)",
  "description": "Parsed report-writer Markdown: the allowlist of top-level fields the report writer owns. Only report-writer-owned judgments, plans, summaries, and user explanations are accepted. This file constrains NAMES only \u2014 the per-value constraints (enums, required properties, item shapes) come from final-report-v3.0.schema.json, which okstra_ctl.report_narrative restricts to these names at parse time. Do not copy value constraints here; two copies drift.",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "humanSummary": {"type": "object"},
    "verdictCard": {"type": "object"},
    "rationale": {"type": "object"},
    "summary": {"type": "array"},
    "ticketCoverage": {"type": "object"},
    "finalVerdict": {"type": "object"},
    "requirementsDiscovery": {"type": "object"},
    "improvementDiscovery": {"type": "object"},
    "errorAnalysis": {"type": "object"},
    "technicalVerification": {"type": "object"},
    "analysisCommon": {"type": "object"},
    "projectAnalysis": {"type": "object"},
    "featureAnalysis": {"type": "object"},
    "changeImpactAnalysis": {"type": "object"},
    "implementationOptionSelection": {"type": "object"},
    "implementationPlanning": {"type": "object"},
    "releaseHandoff": {"type": "object"},
    "implementation": {"type": "object"},
    "finalVerification": {"type": "object"},
    "recommendedNextSteps": {"type": "array"},
    "followUpTasks": {"type": "array"},
    "endStateCoverage": {"type": "array"}
  }
}
