129 lines
4.7 KiB
JSON
129 lines
4.7 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"validation_policy": {
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"cycle_acceleration_mode": {
|
|
"type": "string",
|
|
"enum": ["standard", "trivial_graph"]
|
|
},
|
|
"baseline_allowlist": {
|
|
"type": "array",
|
|
"items": {"type": "string"}
|
|
},
|
|
"baseline_scope": {
|
|
"type": "string",
|
|
"enum": ["code_and_tests_only", "all_files"]
|
|
},
|
|
"working_directory": {"type": "string"},
|
|
"build_command": {"type": "string"},
|
|
"test_command": {"type": "string"},
|
|
"group_overrides": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"working_directory": {"type": "string"},
|
|
"build_command": {"type": "string"},
|
|
"test_command": {"type": "string"},
|
|
"baseline_allowlist": {
|
|
"type": "array",
|
|
"items": {"type": "string"}
|
|
},
|
|
"baseline_scope": {
|
|
"type": "string",
|
|
"enum": ["code_and_tests_only", "all_files"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tasks": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["id", "description", "success_criteria", "files_to_modify", "parallel_group", "depends_on", "status"],
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"id": {"type": "string", "pattern": "^TASK-\\d+$"},
|
|
"name": {"type": "string"},
|
|
"parallel_group": {"type": "string"},
|
|
"depends_on": {"type": "array", "items": {"type": "string"}},
|
|
"description": {"type": "string"},
|
|
"production_code_examples": {"type": "string"},
|
|
"test_code_examples": {"type": "string"},
|
|
"files_to_modify": {"type": "array", "items": {"type": "string"}},
|
|
"test_files": {"type": "array", "items": {"type": "string"}},
|
|
"findings_references": {"type": "array", "items": {"type": "string"}},
|
|
"architecture_constraints": {"type": "object"},
|
|
"code_style_constraints": {"type": "object"},
|
|
"execution_strategy": {"type": "string", "enum": ["parallel", "sequential"]},
|
|
"validation_scope": {
|
|
"type": "object",
|
|
"additionalProperties": true,
|
|
"properties": {
|
|
"baseline_allowlist": {
|
|
"type": "array",
|
|
"items": {"type": "string"}
|
|
},
|
|
"baseline_scope": {
|
|
"type": "string",
|
|
"enum": ["code_and_tests_only", "all_files"]
|
|
},
|
|
"working_directory": {"type": "string"},
|
|
"build_command": {"type": "string"},
|
|
"test_command": {"type": "string"}
|
|
}
|
|
},
|
|
"success_criteria": {"type": "array", "items": {"type": "string"}},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": ["PENDING", "ACTIVE", "DONE", "SYNTAX_VALID", "SYNTAX_ERROR", "ACCEPTED", "REJECTED", "ERROR"]
|
|
},
|
|
"attempts": {"type": "integer", "minimum": 0},
|
|
"started_at": {"type": ["string", "null"]},
|
|
"completed_at": {"type": ["string", "null"]},
|
|
"first_code_change_at": {"type": ["string", "null"]},
|
|
"last_execution_mode": {
|
|
"type": ["string", "null"],
|
|
"enum": ["PARALLEL", "SEQUENTIAL", null]
|
|
},
|
|
"files_modified": {"type": "array", "items": {"type": "string"}},
|
|
"validation_details": {"type": ["string", "object", "array", "null"]},
|
|
"rejection_reason": {"type": "string"},
|
|
"resolution_prompt": {"type": "string"},
|
|
"iteration": {"type": "integer"},
|
|
"iterations": {"type": "array"},
|
|
"created_at": {"type": "string"},
|
|
"updated_at": {"type": "string"}
|
|
},
|
|
"not": {
|
|
"anyOf": [
|
|
{"required": ["research_needed"]},
|
|
{"required": ["design_decisions"]}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"parallel_groups": {"type": "object"},
|
|
"execution_order": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["group", "strategy"],
|
|
"properties": {
|
|
"group": {"type": "string"},
|
|
"strategy": {"type": "string", "enum": ["parallel", "sequential"]}
|
|
}
|
|
}
|
|
},
|
|
"updated_at": {"type": "string"}
|
|
},
|
|
"required": ["validation_policy", "tasks", "parallel_groups", "execution_order"]
|
|
} |