diff --git a/docs/CONFORMANCE_DECLARATION_SCHEMA_v0.9.json b/docs/CONFORMANCE_DECLARATION_SCHEMA_v0.9.json new file mode 100644 index 0000000..23a2072 --- /dev/null +++ b/docs/CONFORMANCE_DECLARATION_SCHEMA_v0.9.json @@ -0,0 +1,230 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://digiemu.org/schemas/conformance-declaration-v0.9.json", + "title": "DigiEmu Core Conformance Declaration Schema v0.9", + "description": "JSON Schema for machine-readable DigiEmu Core conformance declarations. Public Review Draft v0.9.", + "type": "object", + "additionalProperties": true, + "required": [ + "declaration_type", + "declaration_version", + "implementation", + "conformance" + ], + "properties": { + "declaration_type": { + "type": "string", + "const": "digiemu_core_conformance_declaration" + }, + "declaration_version": { + "type": "string", + "const": "v0.9" + }, + "implementation": { + "type": "object", + "additionalProperties": true, + "required": ["name", "version"], + "properties": { + "name": { + "type": "string" + }, + "version": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "cli", + "library", + "service", + "reference", + "test_harness", + "other" + ] + }, + "language": { + "type": "string" + }, + "repository": { + "type": "string", + "format": "uri" + } + } + }, + "conformance": { + "type": "object", + "additionalProperties": true, + "required": ["specification", "levels"], + "properties": { + "specification": { + "type": "string" + }, + "conformance_document": { + "type": "string" + }, + "levels": { + "type": "array", + "minItems": 1, + "uniqueItems": true, + "items": { + "type": "string", + "enum": [ + "DigiEmu Core Reader", + "DigiEmu Core Verifier", + "DigiEmu Core Producer" + ] + } + } + } + }, + "capabilities": { + "type": "object", + "additionalProperties": true, + "properties": { + "canonicalization": { + "type": "array", + "items": { + "type": "string", + "enum": ["canonical_json_v1"] + }, + "uniqueItems": true + }, + "hash_algorithms": { + "type": "array", + "items": { + "type": "string", + "enum": ["SHA-256"] + }, + "uniqueItems": true + }, + "verification_results": { + "type": "array", + "items": { + "type": "string", + "enum": ["PASS", "FAIL", "ERROR"] + }, + "uniqueItems": true + }, + "verify_report_schema": { + "type": "string" + } + } + }, + "test_vectors": { + "type": "object", + "additionalProperties": true, + "properties": { + "document": { + "type": "string" + }, + "supported": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + }, + "passed": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + }, + "failed": { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + } + }, + "limitations": { + "type": "array", + "items": { + "type": "string" + } + }, + "declaration": { + "type": "object", + "additionalProperties": true, + "properties": { + "declared_by": { + "type": "string" + }, + "declared_at": { + "type": "string", + "format": "date-time" + }, + "status": { + "type": "string", + "enum": [ + "self-declared", + "third-party-reviewed", + "certified", + "experimental", + "deprecated" + ] + } + } + } + }, + "examples": [ + { + "declaration_type": "digiemu_core_conformance_declaration", + "declaration_version": "v0.9", + "implementation": { + "name": "example-digiemu-verifier", + "version": "0.1.0", + "type": "cli", + "language": "go", + "repository": "https://example.org/example-digiemu-verifier" + }, + "conformance": { + "specification": "DigiEmu Core Specification v0.9", + "conformance_document": "DigiEmu Core Conformance v0.9", + "levels": [ + "DigiEmu Core Reader", + "DigiEmu Core Verifier" + ] + }, + "capabilities": { + "canonicalization": [ + "canonical_json_v1" + ], + "hash_algorithms": [ + "SHA-256" + ], + "verification_results": [ + "PASS", + "FAIL", + "ERROR" + ], + "verify_report_schema": "docs/VERIFY_REPORT_SCHEMA_v0.9.json" + }, + "test_vectors": { + "document": "docs/TEST_VECTORS_v0.9.md", + "supported": [ + "CORE-TV-001", + "GZC-CASE-001" + ], + "passed": [ + "CORE-TV-001", + "GZC-CASE-001" + ], + "failed": [] + }, + "limitations": [ + "Does not produce signed bundles.", + "Does not implement DigiEmu Core Producer level.", + "Does not validate external identity metadata." + ], + "declaration": { + "declared_by": "Example Maintainer", + "declared_at": "2026-05-07T00:00:00Z", + "status": "self-declared" + } + } + ] +} \ No newline at end of file