• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive / 28058076167 / 1
67%
main: 67%

Build:
DEFAULT BRANCH: main
Ran 23 Jun 2026 09:29PM UTC
Files 763
Run time 32s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Jun 2026 09:23PM UTC coverage: 67.147% (-0.03%) from 67.181%
28058076167.1

push

github

web-flow
Route server.New through core.New and Serve (#5556)

* Route server.New through core.New and Serve

server.New was the vMCP transport god-object: a ~210-line constructor that
inlined the mcp-go server, SDK hooks, two-phase session creation, the workflow
composer, telemetry decoration, and the health monitor. Phases 1-2 extracted a
stateless domain core (core.New) and a transport entry point (Serve) behind a
stable seam, but server.New still ran the legacy inline path. This reduces
server.New to the thin wrapper the RFC specifies, making New/Serve the single
live path for every caller.

What changed:
- server.New now builds the health monitor at the composition root (A2),
  assembles the core via core.New(deriveCoreConfig(...)) and hands it to
  Serve(deriveServerConfig(...)). The 7-param signature is unchanged.
- server.Config gains Aggregator and Authz fields (the only channel to feed the
  core under the frozen signature); cli/serve.go sets them, and a new
  authfactory.BuildAuthzConfig surfaces the *authz.Config the HTTP middleware is
  built from so the core admission seam enforces the same policy.
- Elicitation's construction-order inversion (the SDK adapter wraps the mcp-go
  server Serve builds) is resolved with a late-bound requester bound after Serve.
- The session factory config sets AdvertiseFromCore so the core is the single
  aggregator and the Serve-layer optimizer (not the factory decorator) advertises
  find_tool/call_tool.
- Removed New's //nolint:gocyclo, the dead validateWorkflows, and the now-orphaned
  router/backendClient/handlerFactory/capabilityAdapter Server fields.
- Reworked the server parity suite to exercise the core path: tools are sourced
  from a stub/real Aggregator and calls route through core.CallTool.

Rebased onto #5561, which landed the prerequisites this reroute depends on:
composite-tool workflow telemetry now lives in the core (core_telemetry.go's
telemetryComposer), and passthrough-header forwarding on the Ser... (continued)

69548 of 103575 relevant lines covered (67.15%)

65.71 hits per line

Source Files on job 28058076167.1
  • Tree
  • List 763
  • Changed 24
  • Source Changed 9
  • Coverage Changed 24
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 28058076167
  • ee29dffe on github
  • Prev Job for on main (#28057876341.1)
  • Next Job for on main (#28058135394.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc