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>
179 lines
5.9 KiB
JSON
179 lines
5.9 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Research Findings",
|
|
"description": "Web research results organized by topic with sources and insights",
|
|
"type": "object",
|
|
"required": ["issue_reference", "findings_by_topic", "research_metadata"],
|
|
"properties": {
|
|
"issue_reference": {
|
|
"type": "object",
|
|
"required": ["issue_number", "repository"],
|
|
"properties": {
|
|
"issue_number": {
|
|
"type": "integer",
|
|
"minimum": 1
|
|
},
|
|
"repository": {
|
|
"type": "string",
|
|
"pattern": "^[^/]+/[^/]+$"
|
|
}
|
|
}
|
|
},
|
|
"findings_by_topic": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["topic_id", "topic_title", "findings", "confidence_level"],
|
|
"properties": {
|
|
"topic_id": {
|
|
"type": "string",
|
|
"pattern": "^TOPIC-[0-9]{3}$",
|
|
"description": "Reference to topic ID from research-topics"
|
|
},
|
|
"topic_title": {
|
|
"type": "string",
|
|
"description": "Topic title for readability"
|
|
},
|
|
"findings": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["id", "summary", "source", "relevance_score"],
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"pattern": "^FINDING-[0-9]{3}$",
|
|
"description": "Unique finding identifier"
|
|
},
|
|
"summary": {
|
|
"type": "string",
|
|
"minLength": 20,
|
|
"maxLength": 2000,
|
|
"description": "Summarized finding content"
|
|
},
|
|
"key_points": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Bullet points of key insights"
|
|
},
|
|
"source": {
|
|
"type": "object",
|
|
"required": ["url", "title", "type"],
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"format": "uri",
|
|
"description": "Source URL"
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "Source page/article title"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["official_docs", "github_issue", "github_discussion", "stack_overflow", "blog_post", "tutorial", "api_reference", "academic_paper", "forum_post", "other"],
|
|
"description": "Type of source"
|
|
},
|
|
"author": {
|
|
"type": "string",
|
|
"description": "Author or organization name"
|
|
},
|
|
"credibility_score": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 1,
|
|
"description": "Source credibility assessment (0-1)"
|
|
}
|
|
}
|
|
},
|
|
"relevance_score": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 1,
|
|
"description": "Relevance to the topic (0-1)"
|
|
},
|
|
"quotes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["text"],
|
|
"properties": {
|
|
"text": {
|
|
"type": "string",
|
|
"description": "Direct quote from source"
|
|
},
|
|
"context": {
|
|
"type": "string",
|
|
"description": "Context for the quote"
|
|
}
|
|
}
|
|
},
|
|
"description": "Notable quotes from the source"
|
|
}
|
|
}
|
|
},
|
|
"description": "Individual research findings for this topic"
|
|
},
|
|
"confidence_level": {
|
|
"type": "string",
|
|
"enum": ["high", "medium", "low", "inconclusive"],
|
|
"description": "Overall confidence in findings for this topic"
|
|
},
|
|
"consensus": {
|
|
"type": "string",
|
|
"description": "Summary of consensus across sources"
|
|
},
|
|
"gaps": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Questions that couldn't be fully answered"
|
|
}
|
|
}
|
|
},
|
|
"description": "Research findings organized by topic"
|
|
},
|
|
"research_metadata": {
|
|
"type": "object",
|
|
"required": ["started_at", "completed_at"],
|
|
"properties": {
|
|
"started_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "Research start timestamp"
|
|
},
|
|
"completed_at": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "Research completion timestamp"
|
|
},
|
|
"persona": {
|
|
"type": "string",
|
|
"description": "Wave persona that conducted research"
|
|
},
|
|
"total_sources_consulted": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"description": "Total number of sources examined"
|
|
},
|
|
"sources_included": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"description": "Number of sources included in findings"
|
|
},
|
|
"search_queries_used": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"description": "Search queries that were used"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|