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

stacklok / toolhive / 27147463698
67%

Build:
DEFAULT BRANCH: main
Ran 08 Jun 2026 03:19PM UTC
Jobs 1
Files 749
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

08 Jun 2026 03:13PM UTC coverage: 66.216% (+0.09%) from 66.13%
27147463698

push

github

web-flow
Implement stateless core VMCP constructor (#5457)

* Implement stateless core VMCP constructor

Relocate the domain wiring buried in server.New (telemetry decoration,
workflow auditor, in-memory state store + workflow engine, per-session
composer factory, fail-fast workflow validation) into a working
New(cfg) (VMCP, error) in pkg/vmcp/core, turning the #5434 contract into
an identity-parameterized core that aggregates capabilities, routes
calls, and drives composite workflows.

Implements #5437:
- All ten VMCP methods on *coreVMCP. The core is stateless w.r.t.
  sessions: List/Lookup/Call health-filter the registry and aggregate on
  demand, then route through a per-call SessionRouter bound to the fresh
  routing table (removing context-injected capability coupling). "The
  core filters, Serve caches."
- Injected health.StatusProvider drives filterHealthyBackends before
  aggregation, preserving today's exact include/exclude rules (copied
  from discovery/middleware.go; temporary C2 duplication until Phase 3).
- Composite tools are advertised in ListTools (decorators may only
  subtract) and executed in CallTool via the relocated per-session
  composer pattern.
- Close() stops the state store cleanup goroutine and is idempotent.
- Relocate the backend-client telemetry decorator to
  pkg/vmcp/internal/backendtelemetry so server and core share it without
  an import cycle; server.New behavior is unchanged.

Identity is an explicit *auth.Identity on every method, never read from
context and never logged. The Cedar admission seam (#5438) is not wired
here.

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

* Address code review feedback

Fixed issues from code review:
- HIGH: ReadResource/GetPrompt now pass the advertised name straight to
  the backend client (which owns the single name translation), matching
  CallTool and removing the fragile reliance on idempotent re-translation
- MEDIUM: add TestCallTool_ResolvesRenamedTool (dot-co... (continued)

285 of 327 new or added lines in 4 files covered. (87.16%)

4 existing lines in 2 files now uncovered.

67009 of 101197 relevant lines covered (66.22%)

63.97 hits per line

Uncovered Changes

Lines Coverage ∆ File
33
86.64
pkg/vmcp/core/core_vmcp.go
9
87.84
pkg/vmcp/core/core_calls.go

Coverage Regressions

Lines Coverage ∆ File
2
93.94
-6.06% pkg/foreach/foreach.go
2
73.63
1.29% pkg/runner/config.go
Jobs
ID Job ID Ran Files Coverage
1 27147463698.1 08 Jun 2026 03:19PM UTC 749
66.22
GitHub Action Run
Source Files on build 27147463698
  • Tree
  • List 749
  • Changed 8
  • Source Changed 2
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #27147463698
  • 87fa2ac8 on github
  • Prev Build on main (#27125212723)
  • Next Build on main (#27209592861)
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