{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "Validation Structure Extraction Output Schema", "description": "Schema for the output of extract-validation-structure.sh script", "type": "object", "required": ["version", "extracted_at", "struct_fields", "validation_functions"], "properties": { "version": { "type": "string", "description": "The goose version tag that was extracted (e.g., 'v1.15.0')" }, "extracted_at": { "type": "string", "format": "date-time", "description": "ISO 8601 timestamp when extraction occurred" }, "struct_fields": { "type": "array", "description": "Array of Recipe struct fields extracted from mod.rs", "items": { "type": "object", "required": ["field", "type", "optional", "inline_comment"], "properties": { "field": { "type": "string", "description": "Field name (e.g., 'version', 'title', 'instructions')" }, "type": { "type": "string", "description": "Rust type (e.g., 'String', 'Option', 'Option>')" }, "optional": { "type": "boolean", "description": "Whether the field is optional (true if type is Option)" }, "inline_comment": { "type": "string", "description": "Inline comment from source code after // (may be empty string if no comment)" } } } }, "validation_functions": { "type": "array", "description": "Array of validation functions extracted from validate_recipe.rs", "items": { "type": "object", "required": ["function", "signature", "error_messages", "code_snippet"], "properties": { "function": { "type": "string", "description": "Function name (e.g., 'validate_prompt_or_instructions')" }, "signature": { "type": "string", "description": "Full function signature from source code" }, "error_messages": { "type": "array", "items": { "type": "string" }, "description": "Array of error message strings extracted from anyhow::anyhow! calls" }, "code_snippet": { "type": "string", "description": "Relevant code excerpt (currently placeholder '...')" } } } } } }