22 lines
1.3 KiB
JSON
22 lines
1.3 KiB
JSON
{
|
|
"$schema":"https://json-schema.org/draft/2020-12/schema",
|
|
"title":"Runner task contract (not a provider configuration)",
|
|
"type":"object",
|
|
"required":["id","title","requirement_ids","acceptance_ids","spec_ref","base_commit","worker","allowed_paths","depends_on","resource_locks","validation_ids","max_repair_attempts"],
|
|
"properties":{
|
|
"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_-]{0,63}$"},
|
|
"title":{"type":"string","minLength":1},
|
|
"requirement_ids":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},
|
|
"acceptance_ids":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},
|
|
"spec_ref":{"type":"string"},"base_commit":{"type":"string","pattern":"^[0-9a-f]{40,64}$"},
|
|
"worker":{"type":"string","enum":["codex","agy"]},
|
|
"role":{"type":"string","enum":["implementer","ui"]},
|
|
"allowed_paths":{"type":"array","items":{"type":"string"},"minItems":1},
|
|
"depends_on":{"type":"array","items":{"type":"string"}},
|
|
"resource_locks":{"type":"array","items":{"type":"string"},"uniqueItems":true},
|
|
"validation_ids":{"type":"array","items":{"type":"string"},"minItems":1,"uniqueItems":true},
|
|
"max_repair_attempts":{"type":"integer","minimum":0,"maximum":2}
|
|
},
|
|
"additionalProperties":false
|
|
}
|