{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://github.com/jedarden/pdftract/schemas/conformance-report-v1.json", "title": "pdftract SDK Conformance Report Schema", "description": "Schema for conformance test reports produced by SDK conformance runners.", "type": "object", "required": ["sdk", "sdk_version", "suite_version", "timestamp", "results", "summary"], "properties": { "sdk": { "type": "string", "description": "SDK name (e.g., 'pdftract-py', 'pdftract-node', 'pdftract-rust')." }, "sdk_version": { "type": "string", "description": "SDK version that produced this report.", "pattern": "^\\d+\\.\\d+\\.\\d+(-[a-z0-9.]+)?$" }, "suite_version": { "type": "string", "description": "Version of the conformance suite that was run.", "pattern": "^\\d+\\.\\d+\\.\\d+$" }, "schema_version": { "type": "string", "description": "Version of the pdftract output schema targeted.", "pattern": "^\\d+\\.\\d+$" }, "timestamp": { "type": "string", "description": "ISO 8601 timestamp when the report was generated.", "format": "date-time" }, "results": { "type": "array", "description": "Per-case test results.", "items": { "type": "object", "required": ["id", "status"], "properties": { "id": { "type": "string", "description": "Test case ID from the suite." }, "status": { "type": "string", "enum": ["pass", "fail", "skip", "error"], "description": "Test result status." }, "actual": { "description": "Actual value returned by the SDK (for debugging)." }, "expected": { "description": "Expected value from the test case." }, "error": { "type": "string", "description": "Error message (for status='error')." }, "reason": { "type": "string", "description": "Human-readable reason for failure or skip." }, "duration_ms": { "type": "number", "description": "Test execution time in milliseconds." } } } }, "summary": { "type": "object", "required": ["total", "passed", "failed", "skipped", "errors"], "properties": { "total": { "type": "integer", "description": "Total number of test cases." }, "passed": { "type": "integer", "description": "Number of passed tests." }, "failed": { "type": "integer", "description": "Number of failed tests." }, "skipped": { "type": "integer", "description": "Number of skipped tests (feature unavailable, schema version mismatch)." }, "errors": { "type": "integer", "description": "Number of tests that errored (exception, crash)." }, "duration_ms": { "type": "number", "description": "Total execution time in milliseconds." } } }, "environment": { "type": "object", "description": "Optional environment information for debugging.", "properties": { "os": { "type": "string", "description": "Operating system." }, "arch": { "type": "string", "description": "Architecture (e.g., 'x86_64', 'aarch64')." }, "binary_version": { "type": "string", "description": "Version of the pdftract binary invoked." }, "runtime_version": { "type": "string", "description": "Language runtime version (e.g., 'Python 3.12.0', 'Node.js v20.10.0')." } } } } }