{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Editorial Plan", "description": "Analysis of a blog draft with a mapped editorial plan based on author criticism", "type": "object", "required": ["draft_filename", "draft_title", "sections", "editorial_actions"], "properties": { "draft_filename": { "type": "string", "pattern": "^[0-9a-f]{8}\\.md$", "description": "Hex-ID filename of the draft note" }, "draft_title": { "type": "string", "description": "Title of the blog draft" }, "sections": { "type": "array", "items": { "type": "object", "required": ["heading", "line_range", "summary"], "properties": { "heading": { "type": "string", "description": "Section heading text" }, "line_range": { "type": "string", "description": "Line range in the file (e.g., 15-42)" }, "summary": { "type": "string", "description": "Brief summary of what this section covers" }, "word_count": { "type": "integer", "minimum": 0 } } }, "description": "Structural map of the draft's sections" }, "editorial_actions": { "type": "array", "minItems": 1, "items": { "type": "object", "required": ["id", "type", "target_section", "description", "criticism_addressed"], "properties": { "id": { "type": "string", "pattern": "^EDIT-[0-9]{3}$", "description": "Unique action identifier" }, "type": { "type": "string", "enum": ["rewrite", "restructure", "cut", "expand", "add", "replace_example", "fix_tone", "fix_links"], "description": "Type of editorial action" }, "target_section": { "type": "string", "description": "Section heading this action targets, or 'global' for whole-draft changes" }, "description": { "type": "string", "description": "Specific description of what to change and why" }, "criticism_addressed": { "type": "string", "description": "Which part of the author's criticism this action addresses" }, "priority": { "type": "string", "enum": ["high", "medium", "low"], "description": "How critical this edit is" } } }, "description": "Ordered list of editorial actions to apply" }, "linked_notes": { "type": "array", "items": { "type": "object", "required": ["filename", "title"], "properties": { "filename": { "type": "string" }, "title": { "type": "string" } } }, "description": "Notes currently linked from the draft" }, "timestamp": { "type": "string", "format": "date-time" } } }