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>
107 lines
3.1 KiB
JSON
107 lines
3.1 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Research Topics",
|
|
"description": "Extracted research topics from GitHub issue analysis",
|
|
"type": "object",
|
|
"required": ["issue_reference", "topics"],
|
|
"properties": {
|
|
"issue_reference": {
|
|
"type": "object",
|
|
"required": ["issue_number", "repository"],
|
|
"properties": {
|
|
"issue_number": {
|
|
"type": "integer",
|
|
"minimum": 1,
|
|
"description": "Reference to source issue number"
|
|
},
|
|
"repository": {
|
|
"type": "string",
|
|
"pattern": "^[^/]+/[^/]+$",
|
|
"description": "Repository full name (owner/repo)"
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "Issue title for context"
|
|
}
|
|
}
|
|
},
|
|
"topics": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"maxItems": 10,
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["id", "title", "questions", "keywords", "priority"],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^TOPIC-[0-9]{3}$",
|
|
"description": "Unique topic identifier (e.g., TOPIC-001)"
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"minLength": 5,
|
|
"maxLength": 200,
|
|
"description": "Concise topic title"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "Detailed description of what needs to be researched"
|
|
},
|
|
"questions": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"maxItems": 5,
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 10
|
|
},
|
|
"description": "Specific questions to answer through research"
|
|
},
|
|
"keywords": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"maxItems": 10,
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 2
|
|
},
|
|
"description": "Search keywords for web research"
|
|
},
|
|
"priority": {
|
|
"type": "string",
|
|
"enum": ["critical", "high", "medium", "low"],
|
|
"description": "Research priority level"
|
|
},
|
|
"category": {
|
|
"type": "string",
|
|
"enum": ["technical", "documentation", "best_practices", "security", "performance", "compatibility", "other"],
|
|
"description": "Topic category for organization"
|
|
}
|
|
}
|
|
},
|
|
"description": "List of research topics extracted from the issue"
|
|
},
|
|
"extraction_metadata": {
|
|
"type": "object",
|
|
"properties": {
|
|
"extracted_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "Timestamp when topics were extracted"
|
|
},
|
|
"persona": {
|
|
"type": "string",
|
|
"description": "Wave persona that performed the extraction"
|
|
},
|
|
"confidence": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 1,
|
|
"description": "Confidence score for topic relevance (0-1)"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|