{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Finding",
  "description": "Standardized finding format for team-review pipeline",
  "type": "object",
  "required": ["id", "dimension", "category", "severity", "title", "description", "location", "source", "effort", "confidence"],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^(SEC|COR|PRF|MNT)-\\d{3}$",
      "description": "{DIM_PREFIX}-{SEQ}"
    },
    "dimension": {
      "type": "string",
      "enum": ["security", "correctness", "performance", "maintainability"]
    },
    "category": {
      "type": "string",
      "description": "Sub-category within the dimension"
    },
    "severity": {
      "type": "string",
      "enum": ["critical", "high", "medium", "low", "info"]
    },
    "title": { "type": "string" },
    "description": { "type": "string" },
    "location": {
      "type": "object",
      "required": ["file", "line"],
      "properties": {
        "file": { "type": "string" },
        "line": { "type": "integer" },
        "end_line": { "type": "integer" },
        "code_snippet": { "type": "string" }
      }
    },
    "source": {
      "type": "string",
      "description": "tool:eslint | tool:tsc | tool:semgrep | llm | tool+llm"
    },
    "tool_rule": { "type": ["string", "null"] },
    "suggested_fix": { "type": "string" },
    "references": {
      "type": "array",
      "items": { "type": "string" }
    },
    "effort": { "type": "string", "enum": ["low", "medium", "high"] },
    "confidence": { "type": "string", "enum": ["high", "medium", "low"] },
    "root_cause": {
      "type": ["object", "null"],
      "description": "Populated by reviewer role",
      "properties": {
        "description": { "type": "string" },
        "related_findings": { "type": "array", "items": { "type": "string" } },
        "is_symptom": { "type": "boolean" }
      }
    },
    "impact": {
      "type": ["object", "null"],
      "properties": {
        "scope": { "type": "string", "enum": ["low", "medium", "high"] },
        "affected_files": { "type": "array", "items": { "type": "string" } },
        "blast_radius": { "type": "string" }
      }
    },
    "optimization": {
      "type": ["object", "null"],
      "properties": {
        "approach": { "type": "string" },
        "alternative": { "type": "string" },
        "tradeoff": { "type": "string" }
      }
    },
    "fix_strategy": { "type": ["string", "null"], "enum": ["minimal", "refactor", "skip", null] },
    "fix_complexity": { "type": ["string", "null"], "enum": ["low", "medium", "high", null] },
    "fix_dependencies": {
      "type": "array",
      "items": { "type": "string" },
      "default": []
    }
  }
}
