Files
librenotes/.wave/contracts/divergent-findings.schema.json
Michael Czechowski 59411ede0f Add Wave contract schemas for pipeline validation
JSON Schema definitions for all pipeline handover contracts
including issue analysis, research, enhancement, and sync flows.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 17:02:07 +01:00

83 lines
2.8 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Divergent Findings",
"description": "Broad-net findings from divergent thinking phase of the recinq pipeline",
"type": "object",
"required": ["scope", "findings", "metrics_summary", "timestamp"],
"properties": {
"scope": {
"type": "object",
"required": ["target", "files_scanned", "total_lines"],
"properties": {
"target": { "type": "string", "description": "What was analyzed (path, module, or 'whole-project')" },
"files_scanned": { "type": "integer" },
"total_lines": { "type": "integer" }
}
},
"findings": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["id", "category", "title", "description", "evidence", "severity"],
"properties": {
"id": { "type": "string", "pattern": "^DVG-\\d{3}$" },
"category": {
"type": "string",
"enum": [
"premature_abstraction",
"unnecessary_indirection",
"overengineering",
"yagni_violation",
"accidental_complexity",
"copy_paste_drift",
"dead_weight",
"naming_lie",
"dependency_gravity",
"missing_abstraction",
"other"
]
},
"title": { "type": "string" },
"description": { "type": "string" },
"evidence": {
"type": "object",
"required": ["files"],
"properties": {
"files": { "type": "array", "items": { "type": "string" } },
"line_count": { "type": "integer" },
"reference_count": { "type": "integer" },
"change_frequency": { "type": "integer" },
"metrics": { "type": "string" }
}
},
"severity": {
"type": "string",
"enum": ["critical", "high", "medium", "low"]
},
"confidence": {
"type": "string",
"enum": ["high", "medium", "low"],
"description": "How confident the provocateur is in this finding"
}
}
}
},
"metrics_summary": {
"type": "object",
"required": ["total_findings"],
"properties": {
"total_findings": { "type": "integer" },
"by_category": { "type": "object", "additionalProperties": { "type": "integer" } },
"by_severity": { "type": "object", "additionalProperties": { "type": "integer" } },
"hotspot_files": {
"type": "array",
"items": { "type": "string" },
"description": "Files appearing in multiple findings"
}
}
},
"timestamp": { "type": "string", "format": "date-time" }
}
}