Files
scopone/.github/schemas/tasks.schema.json
2026-04-10 22:35:01 +02:00

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