25 lines
1.5 KiB
Markdown
25 lines
1.5 KiB
Markdown
# Application landing zone agent specification
|
|
|
|
**Name:** `application_landing_zone_agent`
|
|
|
|
**Purpose:** Transform application requirements into a reviewable Technical Solution Design and an editable draw.io architecture diagram.
|
|
|
|
## Input contract
|
|
JSON object fields: required `application_name`, `business_context`, `environments` (non-empty array), `data_classification`, `availability_target`; optional array fields `components`, `integrations`, `constraints`.
|
|
|
|
## Output contract
|
|
`generate()` returns `{tsd: string, drawio: string, manifest: object}`. The CLI writes `tsd.md`, `architecture.drawio`, and `manifest.json`.
|
|
|
|
## Workflow
|
|
1. Parse and validate the requirements.
|
|
2. Apply safe baseline assumptions and identify unresolved decisions.
|
|
3. Generate TSD sections for context, scope, architecture, environments, security, resilience, operations, constraints, and acceptance criteria.
|
|
4. Generate an XML draw.io file with users, application boundary, components, and orthogonal relationships.
|
|
5. Validate artifact structure and return the manifest.
|
|
|
|
## Diagram requirements
|
|
The diagram must be importable by draw.io, use an `<mxfile>` root and `<mxGraphModel>`, include vertex cells for the users, application, and components, and include relationships. It must remain editable XML rather than an image.
|
|
|
|
## Validation and errors
|
|
Missing required fields, malformed types, and empty environments raise `ValueError` with actionable field names. A diagram contract failure raises `RuntimeError`. No credentials are inferred or emitted.
|