Skip to content

docs(maproom-plugin): document AWS Bedrock as a supported provider - #71

Open
danielbushman wants to merge 3 commits into
mainfrom
maproom-plugin-bedrock
Open

danielbushman wants to merge 3 commits into
mainfrom
maproom-plugin-bedrock

Conversation

@danielbushman

@danielbushman danielbushman commented Aug 5, 2026 •

Copy link
Copy Markdown
Member

Companion to manifoldlogic/crewchief#79, which adds AWS Bedrock as an embedding provider to maproom. This brings the plugin's guidance in line so the skills and the researcher agent diagnose Bedrock setups correctly instead of assuming Google/OpenAI/Ollama.

Changes

skills/maproom-search/references/embedding-providers.md

  • Bedrock row in the provider comparison table
  • Full setup section: credential chain, prerequisites (model access and IAM are separate gates), available models, VPC/FIPS endpoints
  • The Titan-vs-Cohere tradeoff is request count, not quality: Bedrock's InvokeModel embeds one document per call for Titan, so a 50k-chunk scan is 50k requests versus ~520 with Cohere
  • Env var table entries

skills/maproom-search/references/troubleshooting.md

  • Four Bedrock failure modes with recovery steps: missing credentials (the error enumerates every source tried), AccessDeniedException, model-not-in-region, and throttling
  • The un-inferable dimension case

skills/maproom-guide/references/error-diagnosis.md

  • Bedrock credential patterns, SSO session expiry
  • The AWS-specific point that authentication succeeding says nothing about authorization — aws sts get-caller-identity passing while maproom fails means IAM or model access, not credentials

skills/maproom-guide/references/concept-glossary.md

  • Matching dimensions do not imply compatible vector spaces. Bedrock Titan v2 and Ollama mxbai-embed-large are both 1024-dimensional but occupy unrelated spaces — re-index on any provider change even when the dimension is unchanged.

agents/maproom-researcher.md

  • Three Bedrock rows in the error triage table

Version: 0.10.0 → 0.11.0

Verification

scripts/verify-docs.sh — 11/11 checks pass.

Note the plugin's compare-cli-flags.sh could not run here (its baseline file under _SPECS is not present in this environment), and hooks/ pytest could not run (pytest not installed). Neither is affected by these changes, which are documentation only.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Added AWS Bedrock as a supported embedding provider.
    • Added guidance for Bedrock models, regional availability, credentials, permissions, environment settings, and re-indexing requirements.
  • Bug Fixes
    • Improved recognition and troubleshooting of AWS authentication, access, throttling, and configuration errors.
    • Clarified that changing providers or models requires re-indexing, even when embedding dimensions match.
  • Documentation
    • Expanded setup, troubleshooting, error diagnosis, provider comparisons, FAQs, and AWS reference links.
  • Chores
    • Updated the Maproom plugin version to 0.10.4.

danielbushman and others added 2 commits August 5, 2026 09:30
Brings the plugin's guidance in line with maproom's Bedrock support so the
skills and researcher agent diagnose Bedrock setups correctly instead of
assuming Google/OpenAI/Ollama.

- embedding-providers.md: Bedrock row in the comparison table, full setup
  section (credential chain, models, Titan-vs-Cohere request-count
  tradeoff, VPC/FIPS endpoints), env var table entries
- troubleshooting.md: four Bedrock failure modes — missing credentials,
  AccessDenied (model access vs IAM are separate gates), model-not-in-region,
  throttling — plus the un-inferable dimension case
- error-diagnosis.md: Bedrock credential patterns and the AWS-specific note
  that authentication succeeding says nothing about authorization
- concept-glossary.md: matching dimensions do not imply compatible vector
  spaces (Titan v2 and mxbai-embed-large are both 1024)
- maproom-researcher: Bedrock error rows in its triage table
- plugin 0.10.0 -> 0.11.0

verify-docs.sh: 11/11 checks pass.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Titan v2's 512/256 widths are not usable with maproom — vector storage is
per-dimension and covers 768/1024/1536 only. Match the CLI, which now
rejects them at startup.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 5, 2026 •

Copy link
Copy Markdown

Review Change Stack

Walkthrough

Maproom now documents AWS Bedrock as an embedding provider. The updates cover setup, compatibility, credential resolution, model access, regional availability, dimensions, re-indexing, throttling, and network troubleshooting. The plugin version changes from 0.10.0 to 0.10.4.

Changes

AWS Bedrock embedding support

Layer / File(s) Summary
Bedrock provider setup and compatibility
plugins/maproom/.claude-plugin/plugin.json, plugins/maproom/skills/maproom-guide/references/concept-glossary.md, plugins/maproom/skills/maproom-search/references/embedding-providers.md
The documentation adds Bedrock provider setup, configuration variables, supported models, dimensions, endpoints, re-indexing rules, and related links. The plugin version changes to 0.10.4.
Credential and access diagnosis
plugins/maproom/agents/maproom-researcher.md, plugins/maproom/skills/maproom-guide/references/error-diagnosis.md, plugins/maproom/skills/maproom-search/references/troubleshooting.md
The guidance adds Bedrock credential, SSO, profile, IAM, model-access, and regional availability diagnostics.
Bedrock operational troubleshooting
plugins/maproom/skills/maproom-search/references/troubleshooting.md
The troubleshooting guide adds Bedrock throttling, dimension, endpoint, and provider-independent network guidance.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related PRs

Poem

I hopped through Bedrock, neat and spry.
I found new models in the sky.
When regions shift, I re-index true.
With AWS paths, the guides shine through.
My whiskers twitch at errors clear.
Maproom’s notes now feel more near.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: documenting AWS Bedrock as a supported Maproom provider.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch maproom-plugin-bedrock

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@danielbushman
danielbushman marked this pull request as ready for review August 5, 2026 12:47

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 8

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@plugins/maproom/.claude-plugin/plugin.json`:
- Line 3: Update the version field in the plugin metadata from 0.11.0 to the
patch version 0.10.1, since the reviewed changes are documentation-only and add
no new plugin capability.

In `@plugins/maproom/skills/maproom-search/references/embedding-providers.md`:
- Around line 107-109: Treat aws sts get-caller-identity as validating only AWS
credential authentication: in
plugins/maproom/skills/maproom-search/references/embedding-providers.md lines
107-109, replace the claim that Maproom will work with “AWS credential
authentication resolved” and keep profile, region, model access, and
bedrock:InvokeModel checks independent; in
plugins/maproom/skills/maproom-guide/references/error-diagnosis.md lines 80-82,
limit authorization conclusions to runs using the same profile/source and region
as the STS check.
- Around line 121-122: Use only the canonical Bedrock provider value, bedrock,
in the embedding-provider documentation. In
plugins/maproom/skills/maproom-search/references/embedding-providers.md at lines
121-122, remove the note that aws and aws-bedrock also work; in
plugins/maproom/skills/maproom-search/references/troubleshooting.md at lines
390-396, update any corresponding provider guidance to reference only bedrock.

In `@plugins/maproom/skills/maproom-search/references/troubleshooting.md`:
- Line 478: Clarify the region-selection sentence in the troubleshooting copy by
updating the Maproom reference in the relevant line so it reads as pointing
Maproom to a region that offers the model you want. Keep the surrounding
guidance in the same troubleshooting section unchanged, and adjust only the
wording in this sentence.
- Line 400: Update the four new fenced error-output blocks in the
troubleshooting markdown to include explicit language tags, using text or
console on each fence so the MD040 markdownlint check passes. Keep the
surrounding content unchanged and apply the same fix to the other matching fence
locations noted in the comment.
- Around line 514-524: Update the MAPROOM_EMBEDDING_DIMENSION troubleshooting
example to use the unknown Bedrock model’s documented output dimension instead
of assuming 1024, or identify the specific model that requires 1024. Ensure the
surrounding guidance makes clear that the override must match the model’s actual
embedding dimension.
- Around line 526-534: Update the “Network Timeout During Vector Search”
troubleshooting guidance to avoid the provider-specific OpenAI curl check.
Either branch endpoint and credential validation by configured provider,
including Bedrock, Vertex AI, and Ollama, or remove the OpenAI-only command and
retain provider-neutral recovery guidance.
- Around line 473-477: Update the embedding-model diagnostic command and its
example in the troubleshooting guidance to use Maproom’s prioritized Bedrock
region variable, MAPROOM_BEDROCK_REGION, instead of AWS_REGION.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 5b8535f3-d66b-4913-a666-7c35b9502ad0

📥 Commits

Reviewing files that changed from the base of the PR and between c79c200 and 16b0760.

📒 Files selected for processing (6)
  • plugins/maproom/.claude-plugin/plugin.json
  • plugins/maproom/agents/maproom-researcher.md
  • plugins/maproom/skills/maproom-guide/references/concept-glossary.md
  • plugins/maproom/skills/maproom-guide/references/error-diagnosis.md
  • plugins/maproom/skills/maproom-search/references/embedding-providers.md
  • plugins/maproom/skills/maproom-search/references/troubleshooting.md

Comment thread plugins/maproom/.claude-plugin/plugin.json Outdated
Comment thread plugins/maproom/skills/maproom-search/references/embedding-providers.md Outdated
Comment thread plugins/maproom/skills/maproom-search/references/troubleshooting.md Outdated
Comment thread plugins/maproom/skills/maproom-search/references/troubleshooting.md
Comment thread plugins/maproom/skills/maproom-search/references/troubleshooting.md Outdated
Comment thread plugins/maproom/skills/maproom-search/references/troubleshooting.md
Comment thread plugins/maproom/skills/maproom-search/references/troubleshooting.md
- version 0.11.0 -> 0.10.4. Docs-only changes take a patch bump. Not 0.10.1
  as suggested: sibling branches maproom-plugin-{critical-fixes,docs-refresh,
  cross-repo-docs} already claim 0.10.1-0.10.3 off the same 0.10.0 base.
- "If aws sts get-caller-identity works, maproom will work" scoped to
  authentication; model access and bedrock:InvokeModel are separate gates.
- MD040: language tags on the four new Bedrock error-output fences (text,
  not console — these are program output, with no prompt or command lines).
- The region diagnostic resolved $AWS_REGION, which can differ from the
  region maproom uses. It now walks maproom's own precedence. Not a bare
  substitution to $MAPROOM_BEDROCK_REGION as suggested: that variable is
  optional and usually unset, so the command would have lost its --region.
- The dimension example keeps a runnable value but now states the storable
  set (768/1024/1536) and which models it corresponds to.
- The network-timeout check was OpenAI-only under a provider-neutral root
  cause; now branches per provider.
- Troubleshooting mentions the aws / aws-bedrock aliases where it names the
  provider value.

Declined: removing the alias note from embedding-providers.md. It documents
real, tested CLI behavior; the fix was to make the sibling section
alias-aware instead.

verify-docs.sh: 11/11 pass.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@plugins/maproom/skills/maproom-search/references/troubleshooting.md`:
- Around line 548-550: Update the AWS Bedrock troubleshooting probe near the
region resolution to honor MAPROOM_BEDROCK_ENDPOINT_URL when configured and test
the endpoint with an AWS-signed Bedrock operation that exercises inference
access, rather than an unsigned root GET. Preserve the existing default regional
endpoint fallback, or explicitly document the command as DNS/TLS-only if a
signed probe cannot be implemented.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: ed30d9d6-86a4-494c-81f8-04d30007616d

📥 Commits

Reviewing files that changed from the base of the PR and between 16b0760 and 4497cba.

📒 Files selected for processing (3)
  • plugins/maproom/.claude-plugin/plugin.json
  • plugins/maproom/skills/maproom-search/references/embedding-providers.md
  • plugins/maproom/skills/maproom-search/references/troubleshooting.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • plugins/maproom/skills/maproom-search/references/embedding-providers.md

Comment on lines +548 to +550
# AWS Bedrock (resolves the region maproom uses)
region="${MAPROOM_BEDROCK_REGION:-${AWS_REGION:-${AWS_DEFAULT_REGION:-$(aws configure get region)}}}"
curl -sf -o /dev/null "https://bedrock-runtime.${region:-us-east-1}.amazonaws.com" && echo "API reachable" || echo "API unreachable"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== file excerpt =="
if [ -f plugins/maproom/skills/maproom-search/references/troubleshooting.md ]; then
  wc -l plugins/maproom/skills/maproom-search/references/troubleshooting.md
  sed -n '520,565p' plugins/maproom/skills/maproom-search/references/troubleshooting.md | cat -n
else
  echo "missing file"
fi

echo "== search Bedrock endpoint/env usages =="
rg -n "MAPROOM_BEDROCK|BEDROCK_ENDPOINT|BEDROCK_REGION|bedrock-runtime|InvokeModel" plugins/maproom -S || true

echo "== relevant markdown frontmatter/header context =="
sed -n '1,80p' plugins/maproom/skills/maproom-search/references/troubleshooting.md | cat -n

Repository: manifoldlogic/claude-code-plugins

Length of output: 9851


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== maproom source files mentioning endpoint region region resolution =="
rg -n "MAPROOM_BEDROCK_ENDPOINT_URL|MAPROOM_BEDROCK_REGION|AWS_REGION|AWS_DEFAULT_REGION|bedrock-runtime|MAPROOM_BEDROCK_USE_FIPS" -S plugins/maproom --glob '*.ts' --glob '*.js' --glob '*.mjs' --glob '*.cjs' || true

echo "== maproom source files mentioning InvokeModel =="
rg -n "InvokeModel|invokeModel|bedrock:InvokeModel|Authorization: Bearer|maproom" -S \
  plugins/maproom/agents plugins/maproom/commands plugins/maproom/skills \
  --glob '*.md' --glob '*.ts' --glob '*.js' --glob '*.mjs' --glob '*.cjs' | head -n 200

Repository: manifoldlogic/claude-code-plugins

Length of output: 28327


🌐 Web query:

AWS Bedrock runtime endpoint InvokeModel bedrock-runtime.region.amazonaws.com documentation

💡 Result:

The endpoint bedrock-runtime.{region}.amazonaws.com is the standard, region-specific service endpoint used for making inference requests to Amazon Bedrock [1]. It is specifically designed to handle runtime operations, including the InvokeModel API [1]. Key technical details regarding this endpoint include: 1. Primary Purpose: This endpoint supports various model inference APIs, most notably InvokeModel, Converse, and their streaming variants [1][2]. It is distinct from the control-plane bedrock service endpoints used for resource management [1][3]. 2. Usage: When using AWS SDKs (like Boto3) or the AWS CLI, this endpoint is used to route traffic for inference tasks [4][5]. In a standard configuration, the SDK automatically resolves to bedrock-runtime.{region}.amazonaws.com [3]. 3. VPC Interface Endpoints: When configuring VPC interface endpoints for private connectivity, you can use com.amazonaws.{region}.bedrock-runtime [3]. If private DNS is disabled for your VPC endpoint, you must explicitly set your client's endpoint_url to the specific VPC endpoint DNS (e.g., https://{vpce-id}.bedrock-runtime.{region}.vpce.amazonaws.com) to ensure requests are routed correctly [3]. 4. API Support: In addition to InvokeModel, the bedrock-runtime endpoint supports the full suite of runtime operations such as ApplyGuardrail, Converse, ConverseStream, and various asynchronous invocation methods [2]. For detailed implementation, the official documentation for the InvokeModel API provides the request syntax, including required headers and parameters like modelId and contentType [6][4].

Citations:


Probe the configured Bedrock endpoint with an AWS-signed operation.

The command ignores MAPROOM_BEDROCK_ENDPOINT_URL, so VPC/proxy endpoints documented above can report API unreachable. The unsigned root GET also does not test bedrock-runtime inference traffic and can miss bedrock:InvokeModel/private-endpoint issues. Use the configured/fixed endpoint and a signed probe, or document this branch as DNS/TLS-only.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/maproom/skills/maproom-search/references/troubleshooting.md` around
lines 548 - 550, Update the AWS Bedrock troubleshooting probe near the region
resolution to honor MAPROOM_BEDROCK_ENDPOINT_URL when configured and test the
endpoint with an AWS-signed Bedrock operation that exercises inference access,
rather than an unsigned root GET. Preserve the existing default regional
endpoint fallback, or explicitly document the command as DNS/TLS-only if a
signed probe cannot be implemented.

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