{ "$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)" } } } } }