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

stacklok / toolhive / 27424866932
67%

Build:
DEFAULT BRANCH: main
Ran 12 Jun 2026 03:22PM UTC
Jobs 1
Files 757
Run time 3min
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

12 Jun 2026 03:16PM UTC coverage: 66.619% (+0.05%) from 66.573%
27424866932

push

github

web-flow
Replace discovery-into-context with direct VMCP calls (#5491)

* Route Serve path through core, guard discovery

On the Serve path the core VMCP is the single authoritative, admission-
filtered source of truth, so capability aggregation must no longer flow
through the discovery-into-context middleware (which applies no admission
and would bypass authz now that it lives in the core seam).

- Store the injected core on *Server and guard the discovery middleware
  to the legacy path (s.core == nil); it is left intact, not deleted.
- Source session capabilities from core.ListTools/ListResources once at
  OnRegisterSession and route tool/resource handlers through
  core.CallTool/ReadResource with explicit identity (serve_handlers.go).
- Enforce identity binding on the core call path via a new session-layer
  ValidateCaller seam (the audited check lives in internal/security).
- Resolve audit backend enrichment from Tool.BackendID via core.LookupTool
  on the Serve path; the legacy context-based path is unchanged.

The literal "feed ListTools into ProcessPreQueriedCapabilities" wiring is
infeasible (type mismatch; the flat tool list drops the routing table's
OriginalCapabilityName), so the core's output is used directly as the
session's fixed-at-initialize set and the factory does not re-aggregate.

Implements #5442

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Address review: audit parity, binding comment

- Resolve the Serve path's audit BackendName from the backend registry
  (BackendID -> backend.Name) so it matches the legacy path's WorkloadName
  instead of recording the raw backend ID; fall back to the ID when the
  backend is absent from the registry.
- Reword enforceSessionBinding to accurately state that the SDK Validate
  only gates existence/termination and this is the sole binding-enforcement
  point on the Serve call path.
- Read the identity binding via GetMetadataValue to avoid copying the whole
  metadata map on ev... (continued)

188 of 233 new or added lines in 6 files covered. (80.69%)

11 existing lines in 3 files now uncovered.

68251 of 102450 relevant lines covered (66.62%)

62.12 hits per line

Uncovered Changes

Lines Coverage ∆ File
32
76.47
pkg/vmcp/server/serve_handlers.go
12
86.52
-13.48% pkg/vmcp/server/backend_enrichment.go
1
84.11
1.86% pkg/vmcp/server/server.go

Coverage Regressions

Lines Coverage ∆ File
6
76.15
-5.5% pkg/secrets/keyring/keyctl_linux.go
3
80.42
-0.71% pkg/transport/proxy/httpsse/http_proxy.go
2
96.47
0.0% pkg/authserver/storage/memory.go
Jobs
ID Job ID Ran Files Coverage
1 27424866932.1 12 Jun 2026 03:22PM UTC 757
66.62
GitHub Action Run
Source Files on build 27424866932
  • Tree
  • List 757
  • Changed 9
  • Source Changed 4
  • Coverage Changed 9
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27424866932
  • 6c80c694 on github
  • Prev Build on main (#27423098940)
  • Next Build on main (#27426343274)
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