Skip to content

fix(mcp): correct stale tier numbers in create_cache/nosql/deploy descriptions#38

Merged
mastermanas805 merged 1 commit into
masterfrom
fix/mcp-tool-desc-strict80-tier-accuracy
Jun 6, 2026
Merged

fix(mcp): correct stale tier numbers in create_cache/nosql/deploy descriptions#38
mastermanas805 merged 1 commit into
masterfrom
fix/mcp-tool-desc-strict80-tier-accuracy

Conversation

@mastermanas805
Copy link
Copy Markdown
Member

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.

Tool Before After Why
create_cache team unlimited team 1536 MB strict-80 retired every -1; Team redis = 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); Team now finite 40 GB; fills omitted hobby_plus/growth
create_deploy opening line Requires Pro tier or higher Hobby tier or higher (with per-tier app counts) + Pro reserved for private deploys Hobby CAN deploy (deployments_apps: hobby=1); old copy would make an agent wrongly refuse a legitimate Hobby deploy

Evidence

  • api/plans.yaml (authoritative, in sync with common/plans defaultYAML): 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-1280 gates deploy on DeploymentsAppsLimit(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-12 create_cache test: each asserts the live finite number AND that unlimited never 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 fail
  • Coverage: 99.86% line / 96.13% branch / 95.45% func (≥95% floor); changed lines exercised by the new listTools() assertions (100%-patch).

Rule 22 surface: api/plans.yaml + common/plans already shipped strict-80; this syncs the MCP agent-facing surface. Memory: feedback_display_detail_accuracy_everywhere.

🤖 Generated with Claude Code

…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>
@mastermanas805 mastermanas805 enabled auto-merge (squash) June 6, 2026 06:26
@mastermanas805 mastermanas805 merged commit 7fca698 into master Jun 6, 2026
9 checks passed
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