Files
TORCH/schemas/domain-proposal.schema.json
T

62 lines
2.7 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": ["schema", "generatedAt", "repository", "review", "specifications", "domains", "collisions", "checks", "resources", "schedules", "architecture"],
"properties": {
"schema": { "const": "torch.dev/domain-proposal/v1alpha1" },
"generatedAt": { "type": "string", "minLength": 1 },
"repository": {
"type": "object",
"required": ["root", "initialCommit", "head"],
"properties": {
"root": { "type": "string" },
"initialCommit": { "type": "string" },
"head": { "type": "string" }
},
"additionalProperties": false
},
"review": {
"type": "object",
"required": ["status", "reviewedAt", "reviewedBy", "notes"],
"properties": {
"status": { "const": "pending" },
"reviewedAt": { "type": "null" },
"reviewedBy": { "type": "null" },
"notes": { "type": "array", "items": { "type": "string" } }
},
"additionalProperties": false
},
"specifications": { "type": "array", "items": { "type": "object" } },
"domains": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"required": ["id", "title", "kind", "scope", "not_scope", "owned_paths", "shared_paths", "neighbours", "required_checks", "resources", "runtime", "evidence"],
"properties": {
"id": { "type": "string", "pattern": "^[a-z0-9][a-z0-9-]*$" },
"title": { "type": "string", "minLength": 1 },
"kind": { "type": "string", "minLength": 1 },
"scope": { "type": "array", "minItems": 1, "items": { "type": "string" } },
"not_scope": { "type": "array", "items": { "type": "string" } },
"owned_paths": { "type": "array", "items": { "type": "string" } },
"shared_paths": { "type": "array", "items": { "type": "string" } },
"neighbours": { "type": "array", "items": { "type": "string" } },
"required_checks": { "type": "array", "items": { "type": "string" } },
"resources": { "type": "array", "items": { "type": "string" } },
"runtime": { "type": "string", "minLength": 1 },
"evidence": { "type": "array", "minItems": 1, "items": { "type": "string" } },
"design_status": { "type": "string" }
},
"additionalProperties": false
}
},
"collisions": { "type": "array", "items": { "type": "object" } },
"checks": { "type": "array", "items": { "type": "object" } },
"resources": { "type": "array", "items": { "type": "object" } },
"schedules": { "type": "array", "items": { "type": "object" } },
"architecture": { "type": "object" }
},
"additionalProperties": false
}