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

stacklok / toolhive / 25675148336
66%

Build:
DEFAULT BRANCH: main
Ran 11 May 2026 02:11PM UTC
Jobs 1
Files 725
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

11 May 2026 02:05PM UTC coverage: 64.986% (+0.03%) from 64.952%
25675148336

push

github

web-flow
Tolerate spec-violating list methods on backend init (#5232)

* Tolerate spec-violating list methods on backend init

When a backend advertises resources or prompts capability in its
initialize response but returns JSON-RPC -32601 to resources/list or
prompts/list, treat that as "the backend has no resources/prompts"
rather than a fatal init error. This unblocks third-party MCP servers
(e.g. Atlassian Rovo) whose initialize response contradicts their
implemented method set, so users still get the backend's tools instead
of silently losing them.

Implements changes for issue #5231:
- Recover from errors.Is(err, mcp.ErrMethodNotFound) on resources/list
  and prompts/list with a WARN log naming the backend and method.
- Keep tools/list failures and non-(-32601) errors from list methods
  fatal so we are not silencing arbitrary failures.
- Add table-driven unit tests with a fake JSON-RPC backend covering
  the recoverable, fatal, and regression-guard cases.

* Address PR #5232 review feedback

Addresses stacklok/toolhive#5232 review comments:
- MEDIUM mcp_session_capabilities_test.go (3211850392): add success-path
  rows for resources and prompts so the switch's default arm (the populate
  loop) is exercised, including BackendID field-mapping assertions.
- LOW mcp_session.go (3211850393): tighten the recovery comment in both
  the resources and prompts switch arms to a single rationale-focused
  sentence.
- LOW mcp_session_capabilities_test.go (3211850399): replace
  wantToolsCalled bool with wantToolsCalls int so the assertion shape
  matches the resources/prompts counters and zero-call cases become
  expressible.
- LOW mcp_session_capabilities_test.go (3211850401): use
  assert.ErrorContains in place of assert.True(strings.Contains(...))
  and drop the now-unused strings import.
- LOW mcp_session.go (3211850404): enrich the WARN log in both arms
  with workload name and base URL so the breadcrumb is grep-friendly
  without an ID-to-name lookup.
- LOW mc... (continued)

51 of 51 new or added lines in 1 file covered. (100.0%)

2 existing lines in 1 file now uncovered.

64024 of 98519 relevant lines covered (64.99%)

61.61 hits per line

Coverage Regressions

Lines Coverage ∆ File
2
51.22
-0.19% pkg/workloads/manager.go
Jobs
ID Job ID Ran Files Coverage
1 25675148336.1 11 May 2026 02:11PM UTC 725
64.99
GitHub Action Run
Source Files on build 25675148336
  • Tree
  • List 725
  • Changed 6
  • Source Changed 1
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25675148336
  • c68fdb28 on github
  • Prev Build on main (#25670981555)
  • Next Build on main (#25677647140)
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