{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "dev/review-finding-batch@1", "title": "Dev Review Finding Batch", "description": "코드 리뷰 또는 검증 결과 finding 묶음", "type": "object", "required": ["runId", "phaseKey", "reviewerRole", "findings", "summary"], "additionalProperties": false, "properties": { "runId": { "type": "string", "format": "uuid", "description": "실행 고유 식별자 (UUID)" }, "phaseKey": { "type": "string", "minLength": 1, "description": "현재 phase 키 (예: review, verify)" }, "reviewerRole": { "type": "string", "minLength": 1, "description": "리뷰어 역할 (예: code-reviewer, verifier, security-auditor)" }, "findings": { "type": "array", "items": { "type": "object", "required": ["severity", "category", "summary"], "additionalProperties": false, "properties": { "severity": { "type": "string", "enum": ["info", "low", "medium", "high", "critical"], "description": "심각도" }, "category": { "type": "string", "enum": ["correctness", "evidence", "style", "security", "performance", "other"], "description": "finding 카테고리" }, "summary": { "type": "string", "minLength": 1, "description": "문제 요약 (보안 finding은 OWASP 카테고리 prefix 권장)" }, "filePath": { "type": "string", "description": "해당 파일 경로 (선택)" }, "line": { "type": "integer", "minimum": 1, "description": "해당 라인 번호 (선택)" }, "evidence": { "type": "string", "description": "증거 코드 또는 설명 (선택)" }, "verifierStatus": { "type": "string", "enum": ["unverified", "confirmed", "rejected"], "default": "unverified", "description": "verifier의 검증 상태" } } }, "description": "발견된 finding 목록" }, "summary": { "type": "string", "minLength": 10, "description": "전체 리뷰 요약" } } }