Close gap in botocore model registration onboarding#133
Open
HellcatOvO wants to merge 1 commit into
Open
Conversation
Tightens the AWS Transform Agent Toolkit power's onboarding so users can't silently end up without registered botocore service models — the symptom that surfaces much later as `Unknown service: 'transformagenticservice'`. Two compounding root causes, both fixable in docs and mcp.json: 1. No version floor on installs. Users who installed before May 13 (when only the v0.0.1 name-reservation placeholder existed on PyPI) ended up with a package that imports but ships no botocore model JSONs, so `aws configure add-model` had nothing to point at. 2. No verification step. `aws configure add-model` exits 0 even when the source path is empty, so users only discovered the failure at deploy time. Changes: - POWER.md Step 2: install line now uses `pip install --upgrade '...>=1.0.0'` so users on placeholder v0.0.1 are pulled forward and new users skip it entirely. Adds an `importlib.metadata.version` print to make the resolved version visible. Adds a boto3 sanity check (`Models OK`) immediately after `aws configure add-model` that fails fast with `UnknownServiceError` if registration didn't take. Adds a one-line clarification that host-level model registration is sufficient for the uvx-launched MCP server. - POWER.md Step 5 + mcp.json: pins `agent-builder-mcp-aws-transform>=1.0.0` on the uvx args so Kiro re-resolves to a real release on next launch. Adds guidance on `uv cache clean --force` for the rare case where a previous resolution is still cached. - troubleshooting.md entry 30: fallback recovery recipe covering the three symptoms in the report, with explicit cross-reference back to Step 2 commands and a note correcting the uvx-isolation misconception.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Tightens the AWS Transform Agent Toolkit power's onboarding so users can't silently end up without registered botocore service models — the symptom that surfaces much later as
Unknown service: 'transformagenticservice'.What the user reported
Root cause
Two compounding issues, both fixable in docs and
mcp.json:pip installline andmcp.jsonhad no version constraint. Users who installed before May 13 (when only the v0.0.1 name-reservation placeholder existed on PyPI) ended up with a package that imports but ships no botocore model JSONs, soaws configure add-modelhad nothing to point at. Today both packages are GA on PyPI (agent-builder-sdk-aws-transform==1.0.2,agent-builder-mcp-aws-transform==1.0.1).aws configure add-modelexits 0 even when the source path is empty, so users only discovered the failure at deploy time asUnknown service. There was no immediate signal in onboarding.A third symptom in the report — "uvx env is isolated, so it lacks the models" — is a misconception.
aws configure add-modelwrites to~/.aws/models/, which boto3 reads regardless of which virtualenv (or uvx environment) the client runs in. Host registration is sufficient for the MCP server too.Changes
POWER.mdStep 2: install line now usespip install --upgrade '...>=1.0.0'so users on placeholder v0.0.1 are pulled forward and new users skip it entirely. Adds animportlib.metadata.versionprint to make the resolved version visible. Adds a boto3 sanity check (Models OK) immediately afteraws configure add-modelthat fails fast withUnknownServiceErrorif registration didn't take. Adds a one-line clarification that host registration is sufficient for uvx.POWER.mdStep 5 +mcp.json: pinsagent-builder-mcp-aws-transform>=1.0.0on the uvx args so Kiro re-resolves to a real release on next launch. Adds guidance onuv cache clean --force agent-builder-mcp-aws-transformfor the rare case where a previous resolution is still cached.troubleshooting.mdentry 30: fallback recovery recipe covering the three symptoms in the report, with explicit cross-reference back to the Step 2 commands and a note correcting the uvx-isolation misconception.No changes to Dockerfile templates or
deployment-pipeline-guide.md— container builds always pull fresh from PyPI with no cache, so they already resolve to the latest stable.Verification
All changed and added commands were run on macOS to confirm behavior:
pip install --upgrade '...>=1.0.0'agent-builder-sdk-aws-transform==1.0.2. Placeholder skipped.python3 -c "from importlib.metadata import version; ..."SDK version: 1.0.2aws configure add-model(both services)python3 -c "import boto3; ...; print('Models OK')"Models OKhappy-path. Confirmed it raisesUnknownServiceErrorwhen models are absent.mcp.jsonargs with>=1.0.0flooruv pip install --dry-runconfirms resolution to the latest stable release.uv cache clean --force agent-builder-mcp-aws-transformImpact
mcp.jsoncache key). SDK side still requires re-running Step 2, but theModels OKfailure and troubleshooting entry 30 surface a clear recovery path.Related
Companion PR for fork-internal review: lzongren#4