Repository navigation
docs(aws-startup-advisor): refresh Bedrock model lifecycle for Oct 26 2026 - #500
Conversation
leon1418
left a comment
There was a problem hiding this comment.
[🤖 AI review 🤖]
Two P2 corrections are needed at 4285f2143c72a654a9642481e8061708ee25e4ab:
- Add Haiku 5.5's 100K pricing boundary and long-context rates to the canonical cache and its three copies. Verify both profiles at 100,000 and 100,001 prompt tokens, including cache operations.
- Keep Marengo 3.0's Seoul retirement separate from its Active status in other supported regions. Restore the regional replacement guidance in the canonical registry and its two copies.
Local validation passed: 513 plugin tests, 562 agent-advisor tests, 406 LLM consumer tests, lifecycle/model-ID/pricing/reference/parity checks, and lint for all seven changed Markdown files. The two findings are supported by current AWS documentation and focused source/arithmetic probes; no deployed inference run was performed.
leon1418
left a comment
There was a problem hiding this comment.
[🤖 AI review 🤖] Follow-up review completed at 40a9edcc5843b0092a93c7e487e6535ca5a3df83. Both reported issues are verified fixed, and the combined review found no remaining substantive issues.
Local validation: 513 plugin tests, 562 agent-advisor tests, 406 LLM consumer tests, the focused pricing/lifecycle probes, relevant linters, and all seven changed Markdown files passed. AWS source and local contract checks support the fixes; no deployed inference run was performed.
… 2026 Recompute exclusion-zone statuses against the AWS legacy lifecycle page, move past-EOL Claude Sonnet 4 to Removed, and mark newly Legacy models the plugin still references (Llama 4, Llama 3.3, DeepSeek, Sonnet 4.5) so agents stop treating them as Active defaults. Co-authored-by: Cursor <cursoragent@cursor.com>
…pricing cache Price Claude Sonnet 5.5 and Haiku 5.5 (Global/Geo) from the Bedrock Anthropic tables without changing Haiku defaults, and surface DeepSeek V3.2 in the quick-reference Status table so US migrations stop reading only Legacy V3.1. Co-authored-by: Cursor <cursoragent@cursor.com>
…egion scope Address PR 500 review: publish Haiku 5.5 ≤100K/>100K rates (incl. cache) for Global and US Geo so long prompts are not underpriced, and restore Marengo Embed 3.0 as the Active v2.7 replacement outside Seoul. Co-authored-by: Cursor <cursoragent@cursor.com>
40a9edc to
91336aa
Compare
leon1418
left a comment
There was a problem hiding this comment.
[🤖 AI review 🤖] Reviewed 91336aa237fb82f8f2c8a249ed21c966c18ac5b4 against base 4a1eb728573bfbad03b3f2a1da642a0654808625.
The eight PR files retain the previously verified pricing and lifecycle corrections. Review of the new base and affected consumers found no remaining substantive issues.
Local validation passed: 513 plugin tests, 562 agent-advisor tests, 406 LLM consumer tests, 279 telemetry tests, focused pricing/lifecycle probes, relevant linters, and all seven changed Markdown files. These are source and local-test results; no deployed inference run was performed.
…o model lifecycle registry Add a "Capability Constraints" fact table (lifecycle, context window, max output, forced tool_choice, image/audio input, image output, structured outputs) for Claude Sonnet 5.5 / Sonnet 5 / Haiku 4.5 / Haiku 5.5 / Opus 5.5, Nova Pro / Lite / Micro, and GPT-6 Luna, each cell read from the Bedrock model card on 2026-10-26 and marked _unverified_ where the card is silent. Add a neutral Rule 0 to Selection Rules: check capability constraints before tier/priority selection (no model named). Regenerate the gcp-to-aws and azure-to-aws vendored twins with tools/sync-vendored.py.
…Sonnet 5.5 Geo facts in pricing cache Facts harvested from PR aws#483 and re-verified 2026-10-26: - Stability AI heading scoped to US East (N. Virginia); Stable Image Core $0.04/image source note (AWS Stability price table, verified 2026-10-25; model card Active 2026-10-26) with the Gemini 3.1 Flash Image $30/1M image-token comparison price (Gemini API pricing). - Sonnet 5.5 Geo $2.20/$11.00 added to the Geo-multiplier note (listed directly on the pricing table, not derived). - GPT-6 Luna quick-ref Status cites the model card for the rates and the 272K short/long-context boundary. - Titan Text Embeddings v2 Status cites the model card (Active) and its absence from the pre-2026-09-07 lifecycle page; Tier cell untouched. Twins regenerated with tools/sync-vendored.py.
…OpenAI, and Gemini mapping guides Facts only; mapping targets and "Best Bedrock Match" cells are unchanged. - Anthropic guide: Sonnet 5 rate cells and the dagger footnote now state the current $2/$10 Global and $2.20/$11 Geo price (launch rate became standard Sep 1, 2026; $3/$15 increase cancelled) instead of the stale intro-pricing note; new fact sentence for Claude Sonnet 5.5 (IDs and us./eu./au./global. profiles, Active with launch/EOL-no-sooner-than dates, 1M/128K, rates, tool_choice auto/none only) citing the model card, verified 2026-10-26. - OpenAI guide: GPT-4o row notes OpenAI's 2026-10-14 deprecation, 2027-01-14 shutdown, and named successor gpt-6-luna (OpenAI deprecations page) plus Luna's Active Bedrock ID; cross-family target cell left as-is. - Gemini guide: new gemini-3.1-flash-image (Nano Banana 2) price row ($30/1M image tokens; $0.0336/1K image standard, $0.0168 batch) next to the existing imagen-* row, mirroring its Stable Image Core target cell; token-to-image equivalence marked _unverified_. Twins regenerated with tools/sync-vendored.py.
…hared Gemini guide tests/test_gemini_guide_body_parity.py requires the shared Gemini guide body to be byte-identical to skills/gcp-to-aws/references/design-refs/ai-gemini-to-bedrock.md, which is outside this PR's edit scope. The Gemini 3.1 Flash Image price fact ($30/1M image tokens) stays recorded in bedrock-pricing-cache.md § Stability AI; the Gemini-guide row moves to the mapping-guide follow-up. Twins regenerated with tools/sync-vendored.py.
|
@leon1418 four new commits at head This absorbs the verified model facts that were previously sitting in PR #483's shared/ai edits, so #483 can revert its shared-file changes and stay an extraction-only PR (per @vagmur-aws's scope comment there). Facts only: a capability-constraints table in the lifecycle registry (forced One thing surfaced during verification that I did not change: the Stable Image Core model card lists |
…cing to main for aws#483 PR aws#483 is the bedrock-migration-assessment extraction. The model-default, mapping and pricing refreshes it carried belong to the pricing-refresh PR (aws#500) and are restored to upstream/main here; the BMA runtime commit before this one no longer depends on any of them. Reverted to main (skills/shared/ai, propagated to the four vendored twins with tools/sync-vendored.py): ai-anthropic-to-bedrock.md, ai-gemini-to-bedrock.md, ai-model-lifecycle.md (Last updated 2026-09-21, "Verified Active Models" table removed), ai-openai-to-bedrock.md (GPT-4o -> GPT-5.6 Terra), bedrock-pricing-cache.md, schema-design-aws-ai.md. Kept: skills/shared/ai/sdk-capability-map.json (+image_output_indicators, +image_output_model_patterns). bma-runtime.py::classify_ai_call reads both keys; they are detection patterns, not model facts, prices or defaults. Reverted to main wholesale: gcp-to-aws design-refs/ai-gemini-to-bedrock.md, discover-preview.md, shared/pricing-cache.md, shared/retarget-gotchas.md; azure-to-aws clarify-ai-only.md, estimate-ai.md, shared/pricing-cache.md; fixtures aws-design-ai/* and estimation-ai/* (4 files). Hand-reverted named-model lines only: gcp-to-aws clarify-assemble.md (7 rows) and generate-artifacts-report.md (rule 8), keeping the typed BMA contribution boundary, mantle-spelling and expected_sha256 hunks. BMA hand-adapted copies mirrored by hand (Sonnet 5.5 -> Sonnet 5, GPT-4o row -> GPT-5.6 Terra, Nano Banana / Sonnet 5.5 cache rows removed): clarify-ai.md, clarify-ai-only.md, design-ai.md, estimate-ai.md, discover-preview.md, design-refs/ai-gemini-to-bedrock.md (main GCP file + its one ai_sources[] header line), shared/pricing-cache.md and shared/retarget-gotchas.md (byte-equal to main's GCP files). All ai_sources[] / sidecar / direct-mode / input-gate adaptations kept. Deleted tests/test_bedrock_pricing_sonnet55.py (pinned the reverted facts). tests/test_bma_target_registry.py asserts Sonnet 5.5 is absent from the registry. Closure, bootstrap manifests and both doc pins regenerated. Facts move to PR aws#500.
changed
has Seoul scope: True
has Haiku follow-up: True
ations read a static Active/Legacy/EOL registry (
skills/shared/ai/ai-model-lifecycle.md) and a matching Status column inbedrock-pricing-cache.md. Those files still reflected an October 5, 2026 snapshot. As of October 26, that content is wrong in ways that affect recommendations: Claude Sonnet 4 is past EOL and still listed as usable-with-exclusion, Claude Opus 4.1 has entered the 90-day exclusion zone but is still markedlegacy, and several models the plugin still labelsactive(Llama 4 Maverick/Scout, Llama 3.3 70B, DeepSeek-R1/V3.1, Claude Sonnet 4.5) are Legacy on the AWS legacy lifecycle page. The registry's freshness contract (Last updated2026-09-21, 45-day window) still had headroom, somodel-staleness.py --strictwould not have forced this refresh on its own.Fix
This PR refreshes the canonical lifecycle registry against the AWS legacy lifecycle page as of 2026-10-26 and keeps the pricing-cache Status column and EOL replacement notes in step.
Claude Sonnet 4 moves from the live table into Removed (EOL 2026-10-14). Claude Opus 4.1, Jamba 1.5 Large/Mini, and Marengo Embed v2.7 are excluded (inside the 90-day zone); Marengo Embed 3.0 remains the Active replacement outside Seoul (
ap-northeast-2). New legacy rows cover models this plugin still references that AWS has moved to Legacy with more than 90 days remaining: Llama 4 Maverick/Scout, Llama 3.3 70B, DeepSeek-R1/V3.1 (EOL 2027-03-30), and Claude Sonnet 4.5 (EOL 2027-04-08), each with an Active replacement. Last updated is bumped to 2026-10-26.The same Status changes land in
bedrock-pricing-cache.md, including EOL notes that previously told agents to replace Llama 3.x with Llama 4 (now Legacy) — those notes now point at Nova / Claude Active defaults. Every vendored twin is copied in the same change so gcp-to-aws, azure-to-aws, and agent-advisor stay byte-identical to canonical. The agent-advisor drift self-proof comment is updated for Opus 4.1's new excluded status.What agents should do does not change in structure: recompute
days_to_eolon each run, never recommend excluded/Removed models, and prefer Active replacements over Legacy when both appear. Mapping-guide "Best Bedrock Match" tables that still name Llama 4 for cost comparisons are not rewritten here; the registry notes that new migrations must prefer the Active Replacement column.Scope
Skills: shared AI references consumed by
gcp-to-aws,azure-to-aws,agent-advisor, and any skill that reads the vendored lifecycle/pricing files. No skill behavior scripts or phase Markdown beyond the registry and pricing Status.Files: 8 paths modified, none added or deleted —
skills/shared/ai/ai-model-lifecycle.md,skills/shared/ai/bedrock-pricing-cache.md, the gcp/azure vendored copies of both, the agent-advisor vendored pricing cache, andskills/agent-advisor/scripts/test_scoring.py(comment-only alignment with Opus 4.1's excluded status).Base:
main. No open-PR overlap beyond the usual shared AI refs; this does not touch the Bedrock migration assessment extraction in PR 483.Validation
mise -C plugins/aws-startup-advisor run ci— pass (model-staleness, model-id-lint, vendored-parity, skill-refs, artifacts, markdownlint, consent-disclosure, startup-model-pricing, plugin pytest 513 passed, heroku application-source node tests 13+44 passed).python3 plugins/aws-startup-advisor/tools/model-staleness.py --strict— pass (0d old, window 45d; vendored copies in sync).python3 plugins/aws-startup-advisor/scripts/model-id-lint.py— pass (19 retired IDs enforced from the registry, including Sonnet 4 now in Removed and Opus 4.1 now excluded).40a9edcc(Haiku 5.5 100K tiers + Marengo Seoul scope):model-staleness.py --strict,model-id-lint.py,lint:vendored-parity,lint:md(0 errors), focused scoring tests 3 passed.pytest plugins/aws-startup-advisor/skills/agent-advisor/scripts/test_scoring.py -k 'legacy_or_excluded or known_legacy or known_removed or no_pool'— 3 passed.python3 tools/validate.py— all validations passed.Limitations
This refresh does not rewrite provider mapping guides (
ai-gemini-to-bedrock.md,ai-openai-to-bedrock.md, and siblings) that still list Llama 4 or DeepSeek-R1 under "Best Bedrock Match." Agents that follow the lifecycle selection rules will prefer Active replacements; agents that copy those tables literally without the registry check can still surface Legacy models. A follow-up should retarget those Best Bedrock Match rows.Rates in the pricing cache were mostly Status / EOL wording in the first commits; a follow-up on this PR adds Haiku 5.5 ≤100K / >100K (Long Context) Global+Geo tiers including cache, per the Anthropic/Bedrock 100K prompt boundary. Remote smoke was not run (docs-only registry refresh).
For reviewers
Status transitions (as of 2026-10-26)
ap-northeast-2)Authority
Model lifecycle (Legacy) as fetched 2026-10-26. Follow-up commit adds Haiku 5.5 ≤100K/>100K Global+Geo tiers (incl. cache) and restores Marengo 3.0 as the non-Seoul Active replacement for v2.7.
Type of Change
Select at least one.
Startup Advisor review checklist
By submitting this PR, I confirm that:
mise -C plugins/aws-startup-advisor run ciand all checks pass.By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Addendum: verified model facts from PR #483, plus a capability-constraints table
What this changes for users. When a migration skill (GCP → AWS, Azure → AWS, agent-advisor) estimates or designs an AI workload, it now has one place to check whether a candidate Bedrock model can actually do what the workload needs — forced tool choice, image or audio input, image output, structured outputs, context window — before it ever compares prices or tiers. Several current models (Claude Sonnet 5.5 and Opus 5.5) do not accept a forced
tool_choice, which was easy to miss until a request failed in production. The shared reference files also pick up a handful of verified facts users have asked about: Claude Sonnet 5.5's Bedrock IDs and regional prefixes, OpenAI's GPT-4o retirement dates, the Stable Image Core price source, and Titan Text Embeddings v2's lifecycle status.What this does not change. No model recommendation or default moves in this PR. Which model a skill picks is still driven by the Clarify answers (priority, latency, complexity) and each skill's design rules; the shared files carry facts only. Mapping-target changes from PR #483 (Sonnet 5 → Sonnet 5.5, GPT-4o → GPT-6 Luna) are deferred to a follow-up mapping-guide PR.
Technical detail
Files touched (canonical under
skills/shared/ai/, twins regenerated withtools/sync-vendored.py):ai-model-lifecycle.md— new## Capability Constraints (verified October 26, 2026)table for Claude Sonnet 5.5 / Sonnet 5 / Haiku 4.5 / Haiku 5.5 / Opus 5.5, Nova Pro / Lite / Micro, GPT-6 Luna: lifecycle (launch and EOL-no-sooner-than dates), context window, max output, forcedtool_choice, image/audio input, image output, structured outputs, each cited to the Bedrock model card read 2026-10-26; cells the card does not state are_unverified_. New### Rule 0: Capability constraints first(one neutral sentence, no model named).bedrock-pricing-cache.md— Stability AI section scoped to US East (N. Virginia) with a Stable Image Core $0.04/image source note (and the Gemini 3.1 Flash Image $30/1M image-token comparison price); Sonnet 5.5 Geo $2.20/$11 added to the Geo-multiplier note; GPT-6 Luna status cites the model card for its rates and the 272K short/long-context boundary; Titan Text Embeddings v2 status cites the model card (Active) and its absence from the pre-2026-09-07 lifecycle page.ai-anthropic-to-bedrock.md— Sonnet 5 rate cells and footnote updated from the stale "intro pricing through Aug 31" note to the current $2/$10 Global and $2.20/$11 Geo standard price; new Sonnet 5.5 fact paragraph (IDs,us./eu./au./global.profiles, lifecycle, 1M/128K, rates,tool_choiceauto/noneonly). Mapping target column unchanged (anthropic.claude-sonnet-5).ai-openai-to-bedrock.md— GPT-4o row notes OpenAI's 2026-10-14 deprecation, 2027-01-14 shutdown, and named successorgpt-6-luna; cross-family target unchanged.Verification:
model-staleness.py --strict,model-id-lint.py,lint:vendored-parity,lint:md, fullmise run ci(513 + 279 tests), repotools/validate.py,mise run validate, andgitleakson the new commits all pass. Dates use 2026-10-26 (run date).Left for the follow-up mapping-guide PR: all "Recommend defaults", "Best Bedrock Match", tiered-strategy, and cross-family-target changes from #483; the
gemini-3.1-flash-imageguide row (needs the gcp-to-aws design-refs copy updated in the same change);schema-design-aws-ai.mdexample;sdk-capability-map.jsonimage-output detection patterns.