Files
document-haness/schemas/pipeline.schema.json
T

141 lines
2.9 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://claridoc.local/schemas/pipeline.schema.json",
"title": "ClariDoc pipeline configuration",
"type": "object",
"additionalProperties": false,
"properties": {
"planner": {
"$ref": "#/$defs/provider"
},
"writer": {
"$ref": "#/$defs/provider"
},
"reviewers": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"role",
"provider"
],
"properties": {
"role": {
"type": "string",
"minLength": 1
},
"provider": {
"$ref": "#/$defs/providerName"
},
"model": {
"type": "string"
},
"timeout_seconds": {
"type": "integer",
"minimum": 1,
"default": 300
},
"options": {
"type": "object"
}
}
}
},
"reviser": {
"$ref": "#/$defs/provider"
},
"quality_gate": {
"type": "object",
"additionalProperties": false,
"properties": {
"minimum_score": {
"type": "number",
"minimum": 0,
"maximum": 100,
"default": 82
},
"max_blockers": {
"type": "integer",
"minimum": 0,
"default": 0
},
"max_errors": {
"type": "integer",
"minimum": 0,
"default": 2
},
"max_revisions": {
"type": "integer",
"minimum": 0,
"default": 2
},
"deterministic_weight": {
"type": "number",
"minimum": 0,
"maximum": 1,
"default": 0.4
},
"model_weight": {
"type": "number",
"minimum": 0,
"maximum": 1,
"default": 0.6
}
}
},
"fail_on_reviewer_error": {
"type": "boolean",
"default": true
}
},
"$defs": {
"providerName": {
"type": "string",
"enum": [
"mock",
"codex",
"claude",
"antigravity"
]
},
"provider": {
"oneOf": [
{
"$ref": "#/$defs/providerName"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"provider"
],
"properties": {
"provider": {
"$ref": "#/$defs/providerName"
},
"model": {
"type": "string"
},
"timeout_seconds": {
"type": "integer",
"minimum": 1,
"default": 300
},
"options": {
"type": "object"
}
}
}
]
}
},
"required": [
"planner",
"writer",
"reviewers",
"reviser"
]
}