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

stacklok / toolhive / 28058076167
67%

Build:
DEFAULT BRANCH: main
Ran 23 Jun 2026 09:29PM UTC
Jobs 1
Files 763
Run time 2min
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

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)

175 of 208 new or added lines in 9 files covered. (84.13%)

105 existing lines in 11 files now uncovered.

69548 of 103575 relevant lines covered (67.15%)

65.71 hits per line

Uncovered Changes

Lines Coverage ∆ File
9
85.27
-3.35% pkg/vmcp/auth/factory/incoming.go
9
34.98
-0.69% pkg/vmcp/cli/serve.go
5
91.0
1.94% pkg/vmcp/core/core_vmcp.go
5
81.25
-4.06% pkg/vmcp/server/server.go
4
92.59
pkg/vmcp/aggregator/caching_aggregator.go
1
87.64
-1.36% pkg/vmcp/server/status_reporting.go

Coverage Regressions

Lines Coverage ∆ File
49
42.62
-13.65% pkg/vmcp/server/sessionmanager/factory.go
16
81.25
-4.06% pkg/vmcp/server/server.go
14
86.5
-8.59% pkg/vmcp/discovery/middleware.go
6
76.15
-5.5% pkg/secrets/keyring/keyctl_linux.go
6
86.87
-3.03% pkg/vmcp/session/types/mocks/mock_session.go
3
95.08
-4.92% pkg/vmcp/server/backend_enrichment.go
3
91.01
-3.37% pkg/vmcp/session/default_session.go
2
93.94
-6.06% pkg/foreach/foreach.go
2
94.77
-1.31% pkg/vmcp/composer/dag_executor.go
2
87.64
-1.36% pkg/vmcp/server/status_reporting.go
2
67.21
5.52% pkg/workloads/manager.go
Jobs
ID Job ID Ran Files Coverage
1 28058076167.1 23 Jun 2026 09:29PM UTC 763
67.15
GitHub Action Run
Source Files on build 28058076167
  • Tree
  • List 763
  • Changed 24
  • Source Changed 9
  • Coverage Changed 24
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #28058076167
  • ee29dffe on github
  • Prev Build on main (#28057876341)
  • Next Build on main (#28058135394)
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