Files
document-haness/skills/technical-doc-flow/schemas/runtime-contract.schema.json
T

63 lines
1.9 KiB
JSON

{
"$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
}