Repository navigation
feat(llm-helper): the classic Bedrock runtime as a second surface (llm.aws.api), and the live drive's record - #112
Merged
Conversation
…m.aws.api: mantle | runtime), and the live drive's record An account may be enabled for one Bedrock surface and not the other: the drive of 2026-10-14 found an enterprise account refusing every Claude model on the Anthropic-shaped endpoint while its classic runtime served Haiku 4.5. llm.aws.api selects mantle (the default, AnthropicBedrockMantle with the anthropic. prefix for a bare id) or runtime (AnthropicBedrock, every model id sent as written - an inference profile id as the account lists it); llm.health names the surface; the classic client's silent us-east-1 fallback is refused as the 503 by name; a bad value is a 500 by name; a Bedrock API key is counted where the classic client holds it, as its auth token. Two shared vectors (68) pin the runtime surface's id rule in both packs; the README, the configuration and the CHANGELOG document the two surfaces and the sign that an account lacks the default one. This pack's report gains the live drive: negative controls first (the chain's CredentialsProviderError mapped as built), then chat, a structured verdict and a progressive stream on Haiku 4.5, and the Java engine's shipped triage graph and streaming relay in front of the helper.
acn-ericlaw
added a commit
that referenced
this pull request
Oct 14, 2026
…s gates, the runtime surface (PR #112 open); llm-helper-bedrock-iam closed Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
acn-ericlaw
added a commit
that referenced
this pull request
Oct 14, 2026
…s record on main; sprint 1 complete Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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.
What
The classic Bedrock runtime as a second surface of the helper's Bedrock backend.
llm.aws.apiselectsmantle(the default:AnthropicBedrockMantle, the Anthropic-shaped endpoint, a bare model id prefixedanthropic.) orruntime(AnthropicBedrockfrom the same package, the classic endpoint, every model id sent exactly as written - an inference profile id as the account lists it, such asus.anthropic.claude-haiku-4-5-20251001-v1:0, since those carry dates and versions no rule can derive).llm.healthnames the surface beside the backend, model and region; the classic client's quiet fallback tous-east-1is refused as503 AWS region missingbefore any call; a bad value is a 500 by name; a Bedrock API key is counted where the classic client holds it, as its auth token. Two shared vectors (68) pin the runtime surface's id rule in both packs. The README, the configuration and the CHANGELOG document the two surfaces and the sign that an account lacks the default one: a403 ... is not available for this accounton a model the console's playground runs. This pack's test report gains the live drive.Why
Found by the live drive on AWS Bedrock (2026-10-14), negative controls first: a corrupted secret came back as a 401 by name and no credential as the 503 by name (the chain's
CredentialsProviderError, mapped as built), and then every positive call on the default surface was refused for the account while the classic runtime served Haiku 4.5. With the surface switch, this helper answered a chat, a structured verdict and a progressive stream on Bedrock through IAM with no vendor key, and the Java engine's shippedsupport-triagegraph and streaming relay ran in front of it. The Python twin is mercury-python #44; the engines' certification report records the drive as Scenario 8.Gates
npm test(the build andnode --test) 196 green - no token spent, no credential neededCo-Authored-By: Claude Fable 5.1 noreply@anthropic.com
🤖 Generated with Claude Code