Build a Legacy API Modernization Assistant
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.
What you are building
The core problem, expected build, and operating context for this challenge.
An integration engineer replacing a legacy service.
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.
Legacy field contract
Example requests and responses
Target field rules
Inspect source types and identify ambiguous mappings.
Propose a target schema for review.
Generate the adapter and API specification.
Replay sample records and report differences.
A mapping editor with source-to-target fields, a request replay panel, and downloadable generated code.
Generate the contract and adapter, then replay both customer records without losing identifier formatting or null semantics.
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.
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 } ] } ```
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.
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.
Participation guide
Use a local service and disposable data. Do not migrate a live schema.
How work is evaluated
Review workflow completion, interface usability, evidence quality, and safe failure handling. No agent execution has been verified.
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.
Challenge datasets
Public datasets, plus the private datasets you have access to.
What you should walk away with
Inspect source types and identify ambiguous mappings.
Propose a target schema for review.
Generate the adapter and API specification.
Replay sample records and report differences.
Reference links and supporting material
Supplied fictional starter records: Legacy field contract, Example requests and responses, Target field rules. The overview includes the complete JSON bundle. Implement local mock services and extend the sample coverage.
Challenge setup
Configuration summary for this challenge.
Challenge input
Input details are not configured.
Pydantic AI
Typed Python agent framework.
Evaluated output
No output checks are configured.
- No evaluation checks are configured.
- 1 public reference case
- 1 configured tool
Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.
View technical recipe
Configured tools
- Pydantic AI ยท Optional
Evaluation contract
- No evaluation checks are configured.
Reference cases
- 1 public reference case
Workflow tasks
No workflow tasks are configured.
Recipe freeze marker
No recipe freeze time is recorded.