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

stacklok / toolhive / 21181527692
60%

Build:
DEFAULT BRANCH: main
Ran 20 Jan 2026 05:50PM UTC
Jobs 1
Files 454
Run time 1min
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

20 Jan 2026 05:43PM UTC coverage: 59.583% (+0.2%) from 59.397%
21181527692

push

github

web-flow
feat(vmcp): integrate a dummy optimizer (#3312)

This PR integrates a DummyOptimizer into the vMCP server. In a future PR, the dummy optimizer will be replaced by a real optimizer that relies on embedding search.

Closes StacklokLabs/research#134
Closes StacklokLabs/research#139
Closes StacklokLabs/research#140

Changes
The commits largely tell the story in an easy to digest sequence, with a bit of debugging and polish at the end.

At a high level:

extract AddOnRegisterSession hook to standalone method - This is a noop. In a later commit, I modify the contained function. It was already complex, so moving it to a separate method is intended to make the code a bit more maintainable.
add optimizer interfaces and types - the purpose of this PR
implement a dummy optimizer - this is necessary for e2e testing this PR and ensuring everything is wired up correctly.
operator: deep copy config fields - modify the CRD config converter to deep copy the embedded config. This means new config fields like the optimizer settings don't require an update of the converter.
introduce a reflection module for producing JSON schema objects from structs - Rather than hardcoding the JSON schema, allow it to be derived from the structs definition.
integration of the optimizer - on each session creation, if the optimizer is enabled, we'll create an optimizer containing all of the tools & composite tools. The only tools exposed to the client will be find_tool and call_tool.

---------

Signed-off-by: Jeremy Drouillard <jeremy@stacklok.com>

223 of 335 new or added lines in 7 files covered. (66.57%)

36140 of 60655 relevant lines covered (59.58%)

80.9 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
4
0.0
0.0% cmd/vmcp/app/commands.go
6
89.66
pkg/vmcp/optimizer/dummy_optimizer.go
12
76.92
pkg/vmcp/server/adapter/optimizer_adapter.go
14
38.48
14.85% pkg/vmcp/config/zz_generated.deepcopy.go
17
83.17
pkg/vmcp/schema/reflect.go
59
78.83
-5.72% pkg/vmcp/server/server.go
Jobs
ID Job ID Ran Files Coverage
1 21181527692.1 20 Jan 2026 05:50PM UTC 454
59.58
GitHub Action Run
Source Files on build 21181527692
  • Tree
  • List 454
  • Changed 8
  • Source Changed 5
  • Coverage Changed 8
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #21181527692
  • 06c857ba on github
  • Prev Build on main (#21180474315)
  • Next Build on main (#21186587844)
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