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