-
Notifications
You must be signed in to change notification settings - Fork 81
Open
Labels
[Type] OverviewComprehensive, high level view of an area of focus often with multiple tracking issuesComprehensive, high level view of an area of focus often with multiple tracking issues
Milestone
Description
v0.5.0: Architectural Improvements
Overview
This epic tracks the v0.5.0 release which introduces architectural improvements through a proper DTO layer, leveraging php-mcp-schema for protocol types and establishing clean separation of concerns.
Goals
- Establish a typed DTO architecture throughout the adapter
- Adopt MCP protocol version 2025-11-25 via php-mcp-schema
- Remove circular dependencies between components (Decouple MCP components from McpServer #95)
- Fix inconsistent error handling patterns (Fix JSON-RPC error response double-wrapping and incorrect HTTP status codes #104,
ExecuteAbilityAbilityreturns incompatible error format withToolsHandlercausing generic error messages #89) - Improve maintainability and testability
Release Plan
- Branch Setup
- Schema Integration
- Schema Migration
- Adapter DTOs
- Implementation & Cleanup
- Merge & Release
Detailed scope will live in child issues per phase.
Epic Definition of Done
- php-mcp-schema adopted for MCP 2025-11-25 with PHP 7.4 compatibility validated.
- Circular dependencies between McpServer and components removed.
- Transport layer (HttpRequestHandler, RequestRouter) and DTO flows pass integration tests.
- Error handling aligned to schema types; related regressions (Fix JSON-RPC error response double-wrapping and incorrect HTTP status codes #104,
ExecuteAbilityAbilityreturns incompatible error format withToolsHandlercausing generic error messages #89) closed. - No breaking changes to how the adapter is consumed (server creation, error handling, observability hooks remain compatible).
- Architecture docs updated to reflect schema/adapter separation.
Architecture Vision
Before (current):
- Circular dependencies between McpServer and components
- Manual array manipulation for protocol messages
- Inconsistent error handling patterns
- Tight coupling throughout
After (0.5.0):
- Clean separation: Schema Layer (protocol) + Adapter Layer (WordPress integration)
- Typed DTOs for all data structures
- Consistent, protocol-compliant message handling
- Decoupled, testable components
Related Issues
- Fix JSON-RPC error response double-wrapping and incorrect HTTP status codes #104 - JSON-RPC error response double-wrapping
ExecuteAbilityAbilityreturns incompatible error format withToolsHandlercausing generic error messages #89 - ExecuteAbilityAbility incompatible error format- Decouple MCP components from McpServer #95 - Decouple MCP components from McpServer
- Refactor annotation normalization vs validation behaviour and emit diagnostics for invalid annotations #96 - Annotation normalization vs validation
References
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
[Type] OverviewComprehensive, high level view of an area of focus often with multiple tracking issuesComprehensive, high level view of an area of focus often with multiple tracking issues
Type
Projects
Status
No status