{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "runtime-contract.schema.json", "title": "technical-doc-flow runtime contract", "type": "object", "required": ["schema_version", "name", "agents", "artifacts", "supported_document_kinds", "supported_output_formats"], "properties": { "schema_version": {"const": "1.0"}, "name": {"const": "technical-doc-flow"}, "agents": {"type": "array", "minItems": 1, "items": {"type": "string", "minLength": 1}, "uniqueItems": true}, "artifacts": { "type": "object", "required": ["always", "light", "standard", "deep", "review_mode"], "properties": { "always": {"$ref": "#/$defs/artifactList"}, "light": {"$ref": "#/$defs/artifactList"}, "standard": {"$ref": "#/$defs/artifactList"}, "deep": {"$ref": "#/$defs/artifactList"}, "review_mode": {"$ref": "#/$defs/artifactList"} }, "additionalProperties": false }, "supported_document_kinds": { "type": "array", "items": {"enum": ["explanation", "decision", "how-to", "reference"]}, "minItems": 4, "maxItems": 4, "uniqueItems": true }, "supported_output_formats": { "type": "array", "items": {"const": "markdown"}, "minItems": 1, "maxItems": 1, "uniqueItems": true } }, "$defs": { "artifactList": { "type": "array", "items": { "enum": [ "00_run.json", "01_input.md", "01_sources.json", "02_reader_contract.json", "03_evidence_map.json", "04_logic_map.json", "05_term_ledger.json", "07_draft.md", "08_logic_review.json", "08_reader_review.json", "08_lint.json", "final.md", "09_final_report.json" ] }, "uniqueItems": true } }, "additionalProperties": false }