Skip to content

feat: ecosystem architecture enhancements (Graph, Loop, Context, Harness)#6

Merged
Patel230 merged 8 commits into
mainfrom
feat/mcpkit-body-cap
Jul 25, 2026
Merged

feat: ecosystem architecture enhancements (Graph, Loop, Context, Harness)#6
Patel230 merged 8 commits into
mainfrom
feat/mcpkit-body-cap

Conversation

@Patel230

Copy link
Copy Markdown
Contributor

This PR introduces cross-ecosystem architectural enhancements encompassing Graph Engineering, Loop Engineering, Context Management, and Prompt Frameworks.

What's Included

  • Graph Engineering: StateGraph implementations, A2A protocol support, and Cypher-like DSLs.
  • Loop Engineering: Async exponential backoff and retry handlers with strict context timeout support.
  • Context Engineering: Token budget optimizers prioritizing recent messages and system prompts.
  • Harness Engineering: Test harness wrappers for injecting mocks and running result validations.
  • Prompt Engineering: Secure text templating engines for LLM prompts.

All changes include appropriate edge-case handling for timeouts, cancellations, and state immutability.

Patel230 added 8 commits July 23, 2026 20:14
The serverStartErr channel was written by the background goroutine but never
read, silently dropping Start() failures. Add StartErr() accessor so callers
can monitor the background server's startup result.
Adds TestStartErr verifying that StartErr returns nil before
ServeHTTPWithShutdown is called, a non-nil channel afterward, and that the
channel receives Start's return value (http.ErrServerClosed) once the server
shuts down. The test polls the endpoint until reachable before Shutdown to
respect mcp-go's documented "poll UntilReady before Shutdown" contract and
avoid a startup race where Shutdown would no-op before Start sets its
internal http.Server.
…s + docs

- Apply MaxMCPRequestBodySize to the bearer-only and no-auth HTTP paths
  via a new capBodyHandler, so every MCP HTTP surface in the ecosystem
  has the same resource-exhaustion protection (previously only the
  WithHTTPToken path was capped).
- Add TestBuildHTTPServer_MutualExclusivity: verifies setting both
  RequireBearerToken and WithHTTPToken errors out.
- Add TestConstantTimeCompareStrings: table-driven coverage of the
  security-critical primitive.
- Add TestHTTPTokenHandler_WrongToken: verifies a wrong token is
  rejected with 401.
- Add TestMaxMCPRequestBodySize_Value and TestServeStdio_Untestable.
- Delete redundant TestStrArg_WithRequest and TestServer_MCPCapabilities.
- Rename misleading TestServeHTTP_BearerToken_*_WithAuthConfigured.
- Fix constantTimeCompareStrings doc comment.
- Document WithHTTPToken, StartErr, MaxMCPRequestBodySize in README;
  expand Security section to cover both auth modes and mutual exclusivity.
- Fix New signature in README to include variadic opts.
- Add 0.1.5 CHANGELOG entry; bump VERSION.
- Add graph.go with graph implementation
- Add graph_test.go with test coverage
- Update README
- Add MCPGraph for managing tool and resource relationships
- Support graph serialization and portable GraphSpec conversion
@Patel230
Patel230 force-pushed the feat/mcpkit-body-cap branch from f5cc8ad to 16e907f Compare July 25, 2026 11:02
@Patel230
Patel230 merged commit 3e80e92 into main Jul 25, 2026
12 checks passed
@Patel230
Patel230 deleted the feat/mcpkit-body-cap branch July 25, 2026 11:05
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