test(mcp): prove tracedecay_remote_status behavior - #1678
ScriptedAlchemy wants to merge 1 commit into
Conversation
Lock the client-visible reads: a fresh daemon reports unconfigured, and a server without the reader reports unavailable. Co-authored-by: Zack Jackson <ScriptedAlchemy@users.noreply.github.com>
|
|
Closing as superseded. A sibling change proving the same tool landed first as #1816. Evidence from the triage: git log origin/master --diff-filter=A -- mcp_handler_test/remote_status_test.rs => 391c6a4 via branch pr1645/remote-status-proof; gh pr list --state merged 'remote status in:title' => 1816 pr1645/remote-status-proof 'prove remote status across the tools/call boundary'; same path added in both, 4 conflict hunks Reopen if the landed version misses an assertion this branch carries; name it and it can be ported as a small follow-up. |
Summary
tracedecay_remote_statusthrough real MCPtools/callresponses, not handler-internal serialization.Motivation
The tool's client-visible contract is a typed operational read. Existing dispatch coverage compares a fixture to its own serde output, which does not lock the JSON-RPC text a host actually receives.
Changes
crates/tracedecay/tests/mcp_suite/mcp_handler_test/remote_status_test.rscalls the production composition and an unmounted MCP server the way a host does, and asserts the full JSON-RPC result against literal payloads.Test plan
REQUIRE_EXACT_TEST_COUNT=2 scripts/require-exact-test.sh cargo test -p tracedecay --features test-transport --test mcp_suite remote_status_testcargo nextest run --workspace --no-fail-fastnot run; this change is one MCP behavior testcargo clippynot run workspace-wideChecklist
.envfiles included