Skip to content

Prefer nested request metadata#245

Closed
leehack wants to merge 1 commit into
spec/discover-request-meta-validationfrom
spec/prefer-nested-request-meta
Closed

Prefer nested request metadata#245
leehack wants to merge 1 commit into
spec/discover-request-meta-validationfrom
spec/prefer-nested-request-meta

Conversation

@leehack
Copy link
Copy Markdown
Owner

@leehack leehack commented Jun 1, 2026

Summary

  • prefer spec-defined params._meta over non-spec top-level _meta when parsing request and notification metadata
  • keep top-level _meta as a compatibility fallback when nested metadata is absent
  • add stable 2025-11-25 and draft 2026-07-28 regression coverage for metadata precedence

Spec notes

  • The current stable schema (2025-11-25) defines request metadata under request params.
  • The draft 2026-07-28 schema requires request metadata under params._meta, including protocol-version metadata for stateless requests.
  • This PR prevents top-level extras from overriding the spec-shaped nested metadata while preserving fallback parsing for older/non-conforming peers.

Sources:

Verification

  • dart format lib/src/types/json_rpc.dart test/mcp_2025_11_25_test.dart test/mcp_2026_07_28_test.dart
  • dart test test/mcp_2025_11_25_test.dart test/mcp_2026_07_28_test.dart
  • dart analyze
  • dart test
  • (cd packages/mcp_dart_cli && dart analyze && dart test)
  • git diff --check

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 1, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 88.45%. Comparing base (f13ede6) to head (463167d).

Additional details and impacted files
@@                            Coverage Diff                            @@
##           spec/discover-request-meta-validation     #245      +/-   ##
=========================================================================
- Coverage                                  88.45%   88.45%   -0.01%     
=========================================================================
  Files                                         47       47              
  Lines                                       9338     9335       -3     
=========================================================================
- Hits                                        8260     8257       -3     
  Misses                                      1078     1078              
Flag Coverage Δ
unittests 88.45% <100.00%> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@leehack
Copy link
Copy Markdown
Owner Author

leehack commented Jun 1, 2026

Closing this draft micro PR because the RC spec work has been consolidated into a smaller reviewable stack. This change is preserved in #270 (JSON-RPC metadata hardening); the consolidated tip is tree-identical to the previous micro-stack tip.

@leehack leehack closed this Jun 1, 2026
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