test(mcp): add schema/runtime conformance guard (#794)#1187
Conversation
|
Warning Review limit reached
Next review available in: 38 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
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. Comment |
qingfeng312
left a comment
There was a problem hiding this comment.
Reviewed current head 94bb787189b25f28e4c247caf423c79ac2567c9f. The new conformance helper preserves the MCP request envelope, the submit_work_proof matrix covers exact enum/null/extra-property/selector/integer boundary cases, and the runtime change keeps omitted format defaulting to text while rejecting values outside the advertised enum. Hosted quality/readiness checks are passing; no blocking issue found.
|
@qingfeng312 Thanks for approving #794 — CI is still green on the latest head ( This is the only open PR for the MCP schema/runtime conformance guard ( Wallet: |
|
@qingfeng312 Gentle follow-up — #794 remains the only open PR, CI still green, and both approvals are in from the prior review round. Ready to merge whenever convenient. |
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR with your approval in place. CI green on 94bb787. Highest-priority merge candidate whenever maintainers have bandwidth. Wallet: Do4v7foHJvRJLpRRoGaVPWX6DDEjX3yTK7J91gpwUQpE |
|
@qingfeng312 Follow-up on #794 — still the only open PR, CI green on 94bb787, approved with zero competing submissions. Merge-ready whenever maintainers have bandwidth. Wallet: Do4v7foHJvRJLpRRoGaVPWX6DDEjX3yTK7J91gpwUQpE |
|
@qingfeng312 Follow-up on #794 — still the only open PR, CI green on Wallet: |
6 similar comments
|
@qingfeng312 Follow-up on #794 — still the only open PR, CI green on Wallet: |
|
@qingfeng312 Follow-up on #794 — still the only open PR, CI green on Wallet: |
|
@qingfeng312 Follow-up on #794 — still the only open PR, CI green on Wallet: |
|
@qingfeng312 Follow-up on #794 — still the only open PR, CI green on Wallet: |
|
@qingfeng312 Follow-up on #794 — still the only open PR, CI green on Wallet: |
|
@qingfeng312 Follow-up on #794 — still the only open PR, CI green on Wallet: |
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
1 similar comment
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
|
@qingfeng312 Gentle follow-up — #794 remains the only open PR, CI still green, and both approvals are in from the prior review round. Ready to merge whenever convenient. |
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
|
@qingfeng312 Gentle follow-up — #794 remains the only open PR, CI still green, and both approvals are in from the prior review round. Ready to merge whenever convenient. |
94bb787 to
b3b928c
Compare
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
1 similar comment
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
qingfeng312
left a comment
There was a problem hiding this comment.
Reviewed current head b3b928cc9def91cb906a00dddf102eb83ab81140.
Approving this head. The runtime now keeps omitted format defaulting to text while rejecting null, non-string values, control characters, and values outside the exact advertised text/json enum. The conformance helper preserves the JSON-RPC request envelope, and the new tests cover extra-property rejection, invalid selector combinations, non-canonical integer selectors, exact enum behavior, and accepted schema-valid submit_work_proof calls. Hosted quality/readiness checks are passing on this head; no blocking issue found.
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
4 similar comments
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
5 similar comments
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
2 similar comments
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
|
@qingfeng312 Follow-up on #794 — MCP schema/runtime conformance guard remains the only open PR, CI green on Merge-ready whenever maintainers have bandwidth. Wallet: |
|
@qingfeng312 — highest-priority merge request for bounty #794. PR #1187 remains the only open PR, CI green, mergeable clean, and 2× APPROVED. Scope: MCP schema/runtime conformance guard — ready to land whenever maintainers have bandwidth. A merge + Wallet: |
Summary
Add a reusable MCP schema/runtime conformance test layer for #794 so
tools/listinput schemas andtools/callvalidation stay aligned.Changes
tests/mcp_conformance.py— shared helpers to call MCP tools and assert accept/reject envelopestests/test_mcp_schema_conformance.py— conformance matrix forsubmit_work_proof:formatenum (text/jsononly; rejects aliases, padding, and explicitnull)additionalProperties: false099,0656,+1)app/mcp_tools.py— stop normalizingformatwith strip/lower so runtime matches the advertised enumVerification
Fixes #794
Wallet:
Do4v7foHJvRJLpRRoGaVPWX6DDEjX3yTK7J91gpwUQpE