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>
This commit is contained in:
76
.wave/contracts/explain-analysis.schema.json
Normal file
76
.wave/contracts/explain-analysis.schema.json
Normal file
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Code Architecture Analysis",
|
||||
"description": "Architecture and design analysis of explored code",
|
||||
"type": "object",
|
||||
"required": ["topic", "patterns", "timestamp"],
|
||||
"properties": {
|
||||
"topic": { "type": "string", "minLength": 3 },
|
||||
"patterns": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["name", "where", "why"],
|
||||
"properties": {
|
||||
"name": { "type": "string" },
|
||||
"where": { "type": "string" },
|
||||
"why": { "type": "string" },
|
||||
"quality": { "type": "string", "enum": ["well-implemented", "adequate", "needs-improvement"] }
|
||||
}
|
||||
}
|
||||
},
|
||||
"data_flow": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["name"],
|
||||
"properties": {
|
||||
"name": { "type": "string" },
|
||||
"stages": { "type": "array", "items": { "type": "string" } },
|
||||
"key_transformations": { "type": "array", "items": { "type": "string" } }
|
||||
}
|
||||
}
|
||||
},
|
||||
"error_handling": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"strategy": { "type": "string" },
|
||||
"patterns": { "type": "array", "items": { "type": "string" } },
|
||||
"gaps": { "type": "array", "items": { "type": "string" } }
|
||||
}
|
||||
},
|
||||
"concurrency": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"model": { "type": "string" },
|
||||
"primitives": { "type": "array", "items": { "type": "string" } },
|
||||
"risks": { "type": "array", "items": { "type": "string" } }
|
||||
}
|
||||
},
|
||||
"extension_points": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["interface", "file"],
|
||||
"properties": {
|
||||
"interface": { "type": "string" },
|
||||
"file": { "type": "string" },
|
||||
"purpose": { "type": "string" }
|
||||
}
|
||||
}
|
||||
},
|
||||
"design_decisions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"required": ["decision"],
|
||||
"properties": {
|
||||
"decision": { "type": "string" },
|
||||
"rationale": { "type": "string" },
|
||||
"trade_offs": { "type": "string" }
|
||||
}
|
||||
}
|
||||
},
|
||||
"timestamp": { "type": "string", "format": "date-time" }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user