Skip to content

docs: plan the AgentCore Runtime V2 migration - #1376

Merged
philmerrell merged 1 commit into
developfrom
claude/agentcore-v2-migration-2c9a0b
Sep 28, 2026
Merged

philmerrell merged 1 commit into
developfrom
claude/agentcore-v2-migration-2c9a0b

Conversation

@philmerrell

Copy link
Copy Markdown
Contributor

Summary

Docs only. This turns the review-queue entry "A/B the V2 AgentCore Runtime in dev" (Proposal 1 in reviews/2026-09-25.md) into a plan: docs/specs/agentcore-runtime-v2.md. It combines what the 2026-09-18 announcement says with findings checked against AWS and our tree. The queue entry now points at the spec.

What the spec establishes

  • Gate 1 is answered. The CloudFormation schema for AWS::BedrockAgentCore::Runtime accepts PlatformVersion, and the property is not create-only. Flipping it is an in-place update, so the runtime ID in SSM does not rotate. The dev runtime currently reports V1.
  • Blocker B1: backend deploys could revert V2. scripts/build/deploy-runtime-image-if-changed.sh rebuilds a full-replacement update-agent-runtime payload from an allow-list, and platformVersion is not on it. Each backend.yml run could put the runtime back on V1 until the next platform.yml, which would contaminate the A/B without anything failing. This needs fixing before the flag goes on.
  • Risk B2: V2 clones startup state into every session. V2 starts each session by restoring a snapshot of the running container, so anything computed at import time is copied into every microVM. The concrete case is runtime_health.py, which stamps its idle clock at import. A restored instance would report a /ping time from when the snapshot was taken. The spec also covers warm-up placement, sockets opened at startup, random-number state, and the OTEL instance ID.
  • B3: the planned metric can't see the improvement. The turn-latency EMF starts at handler entry and cannot see a Runtime cold start, so cold starts have to be measured client-side (tests/load).
  • Cost model. V2 bills the memory a session actually uses instead of the peak. That changes the trade-offs behind the idle reaper and the in-process caches, and it moves the basis for the W5 instance-SKU arithmetic.
  • Plan. In order: the deploy-script fix, then a flag that always sets PlatformVersion explicitly (V1/V2) so rollback is a deterministic in-place update, then idle-clock hardening, then the dev A/B.
  • Phase 2 (§5a). Start the conversation's microVM when the user starts typing, using the staged session ID the SPA already creates and a no-op /invocations warm action. V2 only, because V1 bills idle microVMs at peak memory.

Reviewer notes

  • No code changes. Everything here is verified, asserted or hypothesis, and each claim in the spec says which.
  • aws-cdk-lib 2.270.0 and our boto3==1.43.68 pin do not know platformVersion yet. The dev check read the upstream botocore model through AWS_DATA_PATH; nothing was installed.
  • A feature/agentcore-runtime-v2-flag branch already exists at the develop tip with no commits. The spec says to reuse it or delete it.

🤖 Generated with Claude Code

Adds docs/specs/agentcore-runtime-v2.md, fleshing out the review-queue
entry "A/B the V2 AgentCore Runtime in dev" with the 2026-09-18
announcement's details and pre-work findings checked against AWS and
our tree:

- Gate 1 answered: CloudFormation accepts PlatformVersion as an
  in-place update (not create-only); the dev runtime reports V1.
- Blocker: deploy-runtime-image-if-changed.sh rebuilds a
  full-replacement update-agent-runtime payload from an allow-list
  that omits platformVersion, so backend deploys could revert V2.
- Risk: V2 restores a snapshot of the running container, so
  import-time state (runtime_health's idle-clock origin) is cloned
  into every session.
- The turn-latency EMF starts at handler entry and cannot see a
  Runtime cold start; measure client-side.
- Phase 2: prewarm the conversation's pinned microVM when the user
  starts typing, V2-only.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@philmerrell
philmerrell merged commit 047d715 into develop Sep 28, 2026
7 checks passed
@philmerrell
philmerrell deleted the claude/agentcore-v2-migration-2c9a0b branch September 28, 2026 03:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant