Back to prompt library
Implementation brief
Linked challenge: Build a Legacy API Modernization Assistant
Prompt source
Build the complete application59 lines11 sectionsNo variables1 code block
## Who Uses It
An integration engineer replacing a legacy service.
## What You Will Build
Build an agent that reads a legacy service contract and generates a modern API specification, a data adapter, and migration notes. Give engineers a workspace to review mappings and replay sample requests.
## Inputs
- Legacy field contract
- Example requests and responses
- Target field rules
## Workflow
1. Inspect source types and identify ambiguous mappings.
2. Propose a target schema for review.
3. Generate the adapter and API specification.
4. Replay sample records and report differences.
## Interface
A mapping editor with source-to-target fields, a request replay panel, and downloadable generated code.
## Working Demo
Generate the contract and adapter, then replay both customer records without losing identifier formatting or null semantics.
## Deliverables
- A working local application with the specified review interface.
- Source code, dependency lockfile, and setup commands.
- A recorded end-to-end demo using the supplied starter data.
- Example outputs, action logs, and automated tests.
## Starter Data
These fictional records are a small development fixture, not a production dataset. Implement the mock services described in the brief.
```json
{
"request": "Modernize the customer lookup contract.",
"legacy_fields": {
"CustomerId": "string",
"Balance": "decimal-string",
"Nickname": "optional-nullable-string"
},
"target_fields": {
"CustomerId": "customer_id",
"Balance": "balance",
"Nickname": "nickname"
},
"records": [
{
"CustomerId": "0012",
"Balance": "100.05"
},
{
"CustomerId": "0013",
"Balance": "0.00",
"Nickname": null
}
]
}
```
## Constraints
Use a local service and disposable data. Do not migrate a live schema.
Choose an available model that supports your implementation. Record its identifier and version.
## Evaluation
Review the complete application, not only the starter-case answers.
- Customer identifier 0012 remains a string.
- The decimal value remains exact.
- Missing nickname and null nickname remain distinct.
Add one normal case, one incomplete-input case, and one failure-recovery case.