[PR #1033] [CLOSED] test(mcp): ratchet advertised schemas against client limits #2597

Closed
opened 2026-10-17 21:08:02 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/1033
Author: @JoAdo07
Created: 10/7/2026
Status: ❌ Closed

Base: main ← Head: fix/mcp-schema-client-limits


📝 Commits (1)

  • bf699ec test(mcp): ratchet advertised schemas against client limits

📊 Changes

1 file changed (+207 additions, -0 deletions)

View changed files

➕ tests/boundary/mcp/toolSchemaClientLimits.test.ts (+207 -0)

📄 Description

Summary

Measures every advertised inputSchema post-SDK-conversion (loopback client, same path as toolSchemaValidity.test.ts) for the two Muse Spark 1.3 blockers from #919: recursive $ref cycles and nesting depth over 10. Bounds pin today's counts (20 recursive, 1 deep, 21 total) so new violations fail loudly; any fix for #919 only lowers them. No contract, catalog, or generated file touched.

Test plan

  • New tests/boundary/mcp/toolSchemaClientLimits.test.ts: walker unit tests (diamond $defs finite, genuine cycles infinite, non-local refs finite, root counts as level 1) + live-catalog ratchet — 2 passed.
  • npm run verify:test-discovery: all 536 test files discovered exactly once.
  • npm run check:fast: clean.

Related: #919 (measurement evidence posted there).


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/1033 **Author:** [@JoAdo07](https://github.com/JoAdo07) **Created:** 10/7/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `fix/mcp-schema-client-limits` --- ### 📝 Commits (1) - [`bf699ec`](https://github.com/morluto/rea/commit/bf699ec2f796e1eeb48872d6637e2f41f2f63d00) test(mcp): ratchet advertised schemas against client limits ### 📊 Changes **1 file changed** (+207 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `tests/boundary/mcp/toolSchemaClientLimits.test.ts` (+207 -0) </details> ### 📄 Description ## Summary Measures every advertised `inputSchema` post-SDK-conversion (loopback client, same path as `toolSchemaValidity.test.ts`) for the two Muse Spark 1.3 blockers from #919: recursive `$ref` cycles and nesting depth over 10. Bounds pin today's counts (20 recursive, 1 deep, 21 total) so new violations fail loudly; any fix for #919 only lowers them. No contract, catalog, or generated file touched. ## Test plan - New `tests/boundary/mcp/toolSchemaClientLimits.test.ts`: walker unit tests (diamond `$defs` finite, genuine cycles infinite, non-local refs finite, root counts as level 1) + live-catalog ratchet — 2 passed. - `npm run verify:test-discovery`: all 536 test files discovered exactly once. - `npm run check:fast`: clean. Related: #919 (measurement evidence posted there). --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-17 21:08:02 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#2597
No description provided.