fix(mcp): correct stale tier numbers in create_cache/nosql/deploy descriptions#38
Merged
Merged
Conversation
…criptions Three agent-facing tool descriptions carried tier limits that the strict-≥80%-margin redesign (common/api, 2026-06-05) made factually wrong. Agents read these verbatim to advise users, so each was a live mis-statement. - create_cache: "team unlimited" → "team 1536 MB". The redesign retired every "unlimited" (-1) limit; Team's redis cap is a finite 1536 MB (plans.yaml). - create_nosql: "pro 2 GB / team unlimited" → "hobby 100 MB / hobby_plus 1 GB / pro 5 GB / growth 20 GB / team 40 GB". Pro was wrong (mongodb_storage_mb pro = 5120 MB = 5 GB, not 2 GB) and Team is now a finite 40 GB. Also fills in the previously-omitted hobby_plus/growth rows. - create_deploy: the opening line said "Requires Pro tier or higher", conflating the base-deploy gate with the PRIVATE-deploy gate. Hobby CAN deploy (deployments_apps: hobby=1). The fix states the base gate is Hobby+ (with the per-tier app counts) and reserves the Pro requirement for private deploys. Adds registry-honesty regression guards mirroring the existing FINDING-12 create_cache test: each asserts the live finite number AND that the word "unlimited" never reappears in the cache/nosql descriptions, plus a deploy guard that Hobby is named as deploy-capable. All 393 tests pass; coverage 99.86% line / 96.13% branch (≥95% floor); patch lines covered by the new tests. Rule 22 surface: api/plans.yaml + common/plans defaultYAML already shipped the strict-80 numbers; this syncs the MCP agent-facing surface to match. Co-Authored-By: Claude Opus 4.8 <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
Three agent-facing MCP tool descriptions carried tier limits that the strict-≥80%-margin tier redesign (common + api, 2026-06-05) made factually wrong. Agents read these descriptions verbatim to advise users, so each was a live mis-statement of what a customer gets / can do.
create_cacheteam unlimitedteam 1536 MB-1; Team redis = finite 1536 MB (plans.yaml)create_nosqlpro 2 GB / team unlimitedhobby 100 MB / hobby_plus 1 GB / pro 5 GB / growth 20 GB / team 40 GBcreate_deployRequires Pro tier or higherHobby tier or higher(with per-tier app counts) + Pro reserved for private deploysdeployments_apps: hobby=1); old copy would make an agent wrongly refuse a legitimate Hobby deployEvidence
api/plans.yaml(authoritative, in sync withcommon/plansdefaultYAML): redis team=1536; mongodb pro=5120/team=40960; deployments_apps hobby=1/hobby_plus=2/pro=10/growth=50/team=100.api/internal/handlers/deploy.go:1278-1280gates deploy onDeploymentsAppsLimit(team.PlanTier)(0 = anon/free 402 wall; ≥1 = can deploy). Private deploys (private:true) gate on Pro+ separately.Tests
Adds registry-honesty regression guards mirroring the existing
FINDING-12create_cache test: each asserts the live finite number AND thatunlimitednever reappears (cache/nosql), plus a deploy guard naming Hobby as deploy-capable while keeping the Pro mention for private deploys.npm run build && npm test: 393 pass / 0 faillistTools()assertions (100%-patch).Rule 22 surface:
api/plans.yaml+common/plansalready shipped strict-80; this syncs the MCP agent-facing surface. Memory:feedback_display_detail_accuracy_everywhere.🤖 Generated with Claude Code