{ "$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": [] } } }