Skip to content

feat: align replay snapshots with compose descriptors#24

Merged
ForeverAngry merged 1 commit into
mainfrom
mcp-compose-descriptor-parity
May 28, 2026
Merged

feat: align replay snapshots with compose descriptors#24
ForeverAngry merged 1 commit into
mainfrom
mcp-compose-descriptor-parity

Conversation

@ForeverAngry

Copy link
Copy Markdown
Owner

Summary

rig-mcp now consumes the descriptor surface released in rig-compose 0.4.1 instead of treating schema discovery as a storage-specific registry detail.

Loopback discovery and registry-backed replay snapshots now flow through ToolRegistry::descriptors(), so MCP registration replay uses the same deterministic catalog contract as local compose callers.

Motivation

The previous replay slice intentionally stayed compatible with rig-compose 0.4.0, which meant RegistrationSnapshot could only talk in raw ToolSchema terms. After rig-compose 0.4.1 shipped descriptor snapshots, rig-mcp can close that gap without adding a path dependency or moving reconnect state into the kernel.

Design

  • Raise the rig-compose dependency floor to 0.4.1.
  • Have LoopbackTransport::list_tools read from ToolRegistry::descriptors().
  • Add RegistrationSnapshot::from_registry and from_registry_with_policy for host-owned reconnect flows that already have a scoped registry view.
  • Keep replay state adapter-owned; ToolRegistry remains a catalog/execution surface, not a transport lifecycle store.

Behavioural changes

  • Loopback MCP discovery now uses the published descriptor contract.
  • Registry-backed snapshots honour ToolRegistry::scoped visibility through the descriptor surface.
  • Existing transport discovery and replay APIs remain additive/backward-compatible.

Tests

  • just check
  • Added unit coverage for RegistrationSnapshot::from_registry descriptor visibility and scoped-registry behaviour.

Out of scope

  • Transport-specific reconnect loops, heartbeat policy, and in-flight call recovery remain host/adapter concerns.
  • Cached result auto-wrappers and page/search/release tools remain separate result-cache follow-up work.

Copilot AI review requested due to automatic review settings May 28, 2026 00:52
@ForeverAngry ForeverAngry merged commit 9d2e1ff into main May 28, 2026
8 of 9 checks passed
@ForeverAngry ForeverAngry deleted the mcp-compose-descriptor-parity branch May 28, 2026 00:52
@ForeverAngry ForeverAngry removed the request for review from Copilot May 28, 2026 01:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants