274 lines
6.1 KiB
JSON
274 lines
6.1 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"status",
|
|
"problem_summary",
|
|
"affected_scope",
|
|
"required_change",
|
|
"implementation_intent",
|
|
"implementation_guidance",
|
|
"constraints",
|
|
"preserve",
|
|
"forbidden_changes",
|
|
"do_not_fix_by",
|
|
"validation_requirements",
|
|
"missing_information",
|
|
"reason",
|
|
"human_dev",
|
|
"placeholders"
|
|
],
|
|
"properties": {
|
|
"status": {
|
|
"enum": [
|
|
"ready",
|
|
"template",
|
|
"none"
|
|
]
|
|
},
|
|
"problem_summary": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
},
|
|
"affected_scope": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"kind",
|
|
"source_ref",
|
|
"evidence_refs"
|
|
],
|
|
"properties": {
|
|
"kind": {
|
|
"enum": [
|
|
"source",
|
|
"database"
|
|
]
|
|
},
|
|
"source_ref": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
},
|
|
"evidence_refs": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"pattern": "^E[0-9]{6,}$"
|
|
},
|
|
"minItems": 1,
|
|
"maxItems": 100,
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 100,
|
|
"uniqueItems": true
|
|
},
|
|
"required_change": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
},
|
|
"implementation_intent": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
},
|
|
"implementation_guidance": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 100,
|
|
"uniqueItems": true
|
|
},
|
|
"constraints": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 100,
|
|
"uniqueItems": true
|
|
},
|
|
"preserve": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 100,
|
|
"uniqueItems": true
|
|
},
|
|
"forbidden_changes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 100,
|
|
"uniqueItems": true
|
|
},
|
|
"do_not_fix_by": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 100,
|
|
"uniqueItems": true
|
|
},
|
|
"validation_requirements": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"description",
|
|
"evidence_refs"
|
|
],
|
|
"properties": {
|
|
"description": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
},
|
|
"evidence_refs": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"pattern": "^E[0-9]{6,}$"
|
|
},
|
|
"minItems": 1,
|
|
"maxItems": 100,
|
|
"uniqueItems": true
|
|
}
|
|
}
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 100,
|
|
"uniqueItems": true
|
|
},
|
|
"missing_information": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
},
|
|
"minItems": 0,
|
|
"maxItems": 100,
|
|
"uniqueItems": true
|
|
},
|
|
"reason": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
},
|
|
"human_dev": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"status",
|
|
"title",
|
|
"reason",
|
|
"instructions",
|
|
"expected_results"
|
|
],
|
|
"properties": {
|
|
"status": {
|
|
"enum": [
|
|
"assigned",
|
|
"none"
|
|
]
|
|
},
|
|
"title": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
},
|
|
"reason": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
},
|
|
"instructions": {
|
|
"type": "array",
|
|
"maxItems": 100,
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
}
|
|
},
|
|
"expected_results": {
|
|
"type": "array",
|
|
"maxItems": 100,
|
|
"items": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"placeholders": {
|
|
"type": "array",
|
|
"maxItems": 100,
|
|
"items": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"required": [
|
|
"token",
|
|
"description"
|
|
],
|
|
"properties": {
|
|
"token": {
|
|
"type": "string",
|
|
"pattern": "^\\{\\{[A-Z][A-Z0-9_]*\\}\\}$"
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 8000,
|
|
"pattern": "\\S"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|