Repository navigation
Conversation
A frozen copy of aws/agentcore-cli@v0.31.1 src/schema reads unmigrated v0 projects, so anything v0 accepted is still accepted. Lint and Prettier skip it to keep it diffable against upstream. The schema-audit fixtures cover the edge cases v0 accepts and v1 doesn't.
projectFormat tells v0 specs (version 1) from v1 ones, and translateV0Spec maps a parsed v0 spec onto v1's shape: version 2, v0-only collections moved aside, mcpRuntimeTools renamed to toolRuntimes, artifact renamed to build, and capacityProviderVolume mounts dropped.
This reverts commit 1e59a12.
|
Claude Security Review: no high-confidence findings. (run) |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## refactor #2585 +/- ##
============================================
- Coverage 97.50% 96.31% -1.20%
============================================
Files 635 664 +29
Lines 47250 50913 +3663
============================================
+ Hits 46071 49035 +2964
- Misses 1179 1878 +699 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
AgentCore Harness Review
Verdict: Looks good
Nice refactor. The v0 compatibility surface is cleanly isolated under src/core/project/legacy/, the vendored schemas sit under src/projectSchemas/v0/ with a byte-identical contract spelled out in README.md, and the test coverage is thorough (translator covers every valid audit fixture, backend resolves v0-only resources, deploy/dev handlers verify delegation and exit-code propagation).
A few things I checked and found fine:
withV0Deploymiddleware probesisV0ProjectbeforewithProjecttries to parse the v1 schema, so projects whose translation would fail still reach the v0 deployer. Good defensive layering.- Test doubles only replace true IO boundaries (
V0DeployRunner,ReadWriteJson, HTTP server, filesystem watchers) and use temp directories for real file reads/writes — no excessive mocking. - Telemetry: nothing new to instrument here; v0 delegation flows through the existing
cli.command_runmetric and inherits terminal IO to the subprocess. translate.tsis pure, deep-clones its input, and handles all v0 collection renames/drops documented in the header comment.
Nothing requires changes before merging.
Description
Shows the v0-only resources preserved by #2575 in the v1
statuscommand:Dataset, A/B-test, and capacity-provider deployment state comes from the v0
deployed-state.json. Unassigned targets are intentionally shown as local-only because they do not belong to a deployed gateway. Dataset and A/B-test rows open the existing v1 detail screens.This is intentionally separate from #2575 and depends on it. It does not duplicate #2517: that PR changes the old v0/main status implementation, while this adds support to the refactored v1 project status resolver.
Related Issue
Follow-up to #2575 and the reviewed CLI v0-to-v1 proposal.
Type of Change
Testing
bun test— 4,005 passedbun run typecheckbun run lint:checkbun run format:checkbun run buildbun run secrets:checkChecklist
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.