Files
crucible-agent-build-phase-2/contracts/application_landing_zone_contract.json

38 lines
1.2 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Application Landing Zone Agent contract",
"type": "object",
"required": ["input", "output", "artifacts"],
"properties": {
"input": {
"type": "object",
"required": ["application_requirements"],
"properties": {
"application_requirements": {"type": "string", "minLength": 1},
"constraints": {"type": "string"},
"assumptions": {"type": "string"},
"output_basename": {"type": "string"}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": ["tsd_markdown", "architecture_diagram_drawio"],
"properties": {
"tsd_markdown": {"type": "string", "minLength": 1},
"architecture_diagram_drawio": {"type": "string", "minLength": 1}
},
"additionalProperties": false
},
"artifacts": {
"type": "object",
"required": ["tsd_format", "diagram_format"],
"properties": {
"tsd_format": {"const": "Markdown"},
"diagram_format": {"const": "draw.io XML (.drawio)"},
"diagram_encoding": {"const": "uncompressed XML"}
}
}
}
}