Skip to content

[Client] add client conformance test suite#279

Open
chr-hertel wants to merge 3 commits intomainfrom
client-conformance
Open

[Client] add client conformance test suite#279
chr-hertel wants to merge 3 commits intomainfrom
client-conformance

Conversation

@chr-hertel
Copy link
Copy Markdown
Member

Summary

  • Adds client conformance testing using @modelcontextprotocol/conformance client mode
  • New tests/Conformance/client.php client executable handling initialize, tools_call, and elicitation scenarios
  • New client-conformance-tests Makefile target and client-conformance CI job
  • Baselines auth (22), SSE-retry, and elicitation scenarios as expected failures (missing OAuth and server-to-client SSE request support)
  • Fixes empty array/object JSON serialization in ClientCapabilities and CallToolRequest ([]{})

Test plan

  • make client-conformance-tests passes (baseline check green)
  • make unit-tests passes (600 tests)
  • make phpstan passes
  • make cs passes

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@chr-hertel chr-hertel added the Client Issues & PRs related to the Client component label Apr 11, 2026
@chr-hertel chr-hertel added this to the 0.5.0 milestone Apr 11, 2026
chr-hertel and others added 2 commits April 11, 2026 17:04
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* }|\stdClass
*/
public function jsonSerialize(): array
public function jsonSerialize(): array|object
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why the sudden change? Is it because of conformance test failing otherwise?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, exactly, we could also think of changing the entire json_encode behavior to force empty object

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Client Issues & PRs related to the Client component

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants