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>
79 lines
2.0 KiB
JSON
79 lines
2.0 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"title": "Source Extract",
|
|
"description": "Extracted content from a single web source for ingestion",
|
|
"type": "object",
|
|
"required": ["url", "title", "summary", "key_concepts"],
|
|
"properties": {
|
|
"url": {
|
|
"type": "string",
|
|
"format": "uri",
|
|
"description": "Original URL that was fetched"
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"description": "Article or page title"
|
|
},
|
|
"author": {
|
|
"type": "string",
|
|
"description": "Author name"
|
|
},
|
|
"date": {
|
|
"type": "string",
|
|
"description": "Publication date"
|
|
},
|
|
"summary": {
|
|
"type": "string",
|
|
"minLength": 50,
|
|
"maxLength": 3000,
|
|
"description": "Summary of the source content"
|
|
},
|
|
"key_concepts": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["concept", "description"],
|
|
"properties": {
|
|
"concept": {
|
|
"type": "string",
|
|
"description": "Name of the key concept"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "Explanation of the concept as presented in the source"
|
|
}
|
|
}
|
|
},
|
|
"description": "Key concepts extracted from the source"
|
|
},
|
|
"notable_quotes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["text"],
|
|
"properties": {
|
|
"text": {
|
|
"type": "string",
|
|
"description": "Direct quote"
|
|
},
|
|
"context": {
|
|
"type": "string",
|
|
"description": "Context for the quote"
|
|
}
|
|
}
|
|
},
|
|
"description": "Notable direct quotes from the source"
|
|
},
|
|
"author_year_key": {
|
|
"type": "string",
|
|
"pattern": "^[A-Z][a-zA-Z]+[0-9]{4}[a-z]?$",
|
|
"description": "Suggested AuthorYear key for bibliographic note (e.g., Willison2026)"
|
|
},
|
|
"timestamp": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
}
|
|
}
|