feat: add GPT-5.6 Terra via bedrock-mantle Responses API#202
Merged
Conversation
…ck-mantle SPEC: 20260714-1210_add-gpt56-terra-luna-models - Terra: GPT-5.5-level performance at half cost, compose-capable - Luna: fastest/cheapest tier, chat only (compose_capable=False) - Both us-east-1/us-east-2/us-west-2, In-Region only (model IDs verified in AWS docs) Next: deploy agent stack and verify in Web UI
…bility test) SPEC: 20260714-1210_add-gpt56-terra-luna-models Luna is Haiku-class; enabling create picker to evaluate slide-generation feasibility. Revert to GPT_FAST if quality is insufficient.
…ckerfile COPY Runtime failed to start (HTTP 424, ModuleNotFoundError: errors). errors.py existed in the repo but was never added to the Dockerfile COPY list; this deploy was the first image build since its introduction.
GPT-5.6 model cards: Responses ✅ / Chat Completions ❌ — the legacy OpenAIModel path hit /chat/completions and got 400 Bad Request. Use strands OpenAIResponsesModel with native bedrock_mantle_config (bearer token per request); bump strands-agents floor to 1.47.0. Verified locally: Terra replies in 1.8s via mantle us-east-1. Known issue: Luna hangs (launch-week instability, community reports).
…erToken to agent role Responses API path uses bearer-token auth (not SigV4), which requires a separate IAM action. Runtime got 401 access_denied on Terra invocation.
…-1 mantle stream stalls) Root cause of Luna hanging: region-specific fault in us-east-1 bedrock-mantle Luna deployment — stream emits 2 events then stalls indefinitely (25 min for a 1-word reply). us-east-2 / us-west-2 complete in <1s. Terra unaffected in all regions. Verified multi-turn tool round-trip on us-east-2: 3.2s total.
…easibility test Feasibility verdict (2026-07-14, Web UI): - Terra: acceptable slide generation quality — stays compose-capable - Luna: insufficient quality for compose — chat-only (GPT_FAST), consistent with its Haiku-class positioning
…asibility test Verdict: Terra acceptable (stays, chat+create). Luna insufficient even for chat — removed from profiles, mantle registry, UI metadata, config.
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
openai.gpt-5.6-terra, GA 2026-07-13) as a selectable model for chat and createOpenAIResponsesModel+bedrock_mantle_config(bearer-token auth);MANTLE_RESPONSES_MODELSregistry selects the path per modelbedrock-mantle:CallWithBearerTokento the agent role (bearer-token path requires it; the legacy SigV4 path only neededCreateInference)strands-agentsfloor to 1.47.0 (nativebedrock_mantle_configsupport)errors.pyto agent Dockerfile COPY (runtime failed to start with HTTP 424 / ModuleNotFoundError — pre-existing bug surfaced by this image rebuild)Not included (tested & rejected)
GPT-5.6 Luna was added, feasibility-tested, and removed: output quality insufficient even for chat. History also contains a diagnosis of a us-east-1 mantle Luna streaming stall (stream emits 2 events then hangs; us-east-2/us-west-2 complete in <1s) — kept in commit messages for reference.
Testing
make all(lint + 292 unit tests) andtsc --noEmitpass