Files
librenotes/.wave/contracts/source-extract.schema.json
Michael Czechowski 59411ede0f 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>
2026-02-25 17:02:07 +01:00

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"
}
}
}