tech-debt-backlog §7.17: gloss tools/call as MCP jargon in README - #141
tech-debt-backlog §7.17: gloss tools/call as MCP jargon in README#141jascal wants to merge 1 commit into
tools/call as MCP jargon in README#141Conversation
The `### Trust Boundary` subsection's opening sentence in README.md referred to `tools/call` without explaining what it is; a reader new to the MCP protocol would not know it is the JSON-RPC method the MCP spec defines for tool invocation. Took the wording prescribed in §7.17 verbatim: the sentence now reads "There is no auth check on the JSON-RPC `tools/call` method (the MCP-standard tool-invocation entry point) — any client …". No test pins the README prose, so the print-only change is safe; full suite green (1282 passed, 8 skipped). The companion §7.16 forward-link stays open: it depends on an MCP-error-handling section that does not yet exist in README.md, so landing the anchor is wider than §7.17 scope. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
jascal
left a comment
There was a problem hiding this comment.
Code Review — Claude Sonnet 4.6
Thanks for closing out §7.17. This is a tightly-scoped, print-only documentation change: one sentence reworded in the ### Trust Boundary subsection of README.md, plus the matching [x] status flip and resolution note in openspec/changes/tech-debt-backlog/tasks.md. I checked out the branch, ran lint + the full test suite, and independently verified the factual and traceability claims. This is a clean, low-risk change — ready to merge.
What I verified
- Tests: green.
.venv/bin/pytest -q→1282 passed, 8 skippedin ~22s, matching your test plan exactly. - Lint: no new errors.
.venv/bin/ruff check .reports 18 pre-existing errors (E402andE741), all in test files (test_compiler.py,test_examples.py,test_noise_model_section.py,test_qpc_convergence.py,test_verifier.py). None are inREADME.md/tasks.md(not Python anyway), so nothing is introduced here. Not a blocker. - The gloss is factually accurate.
tools/callis indeed the JSON-RPC method name the MCP spec defines for tool invocation, so "(the MCP-standard tool-invocation entry point)" is a correct gloss, not an approximation. A reader new to MCP now learns what the method name is before being told it has no auth check. - "Verbatim" claim holds. The prescribed fix shape in the §7.17 task body reads
There is no auth check on the JSON-RPC ``tools/call`` method (the MCP-standard tool-invocation entry point) — any client …, and the README now reads exactly that (README.md:868-869). Faithful to the backlog item. - "No test pins the prose" claim holds.
grep -rn tools/call\|Trust Boundary tests/confirmsTrust Boundaryappears nowhere in tests, and thetools/callhits intests/test_mcp_server.pyare all exercising the actual JSON-RPC error paths — not asserting on the README text. So the print-only change genuinely cannot break a test.
What looks good
- Scope discipline. The surrounding paragraph (LLM-spending tools, stdio-as-local-trust) is untouched, and you explicitly left the §7.16 forward-link open because its target anchor does not yet exist — resisting the temptation to scope-creep into an adjacent task. That is the right call and well-documented.
- The resolution note records the wording taken, the safety rationale, and the §7.16 dependency, which keeps the backlog auditable for the next person.
Minor observation (non-blocking, no change required)
- The resolution note characterizes the
grephits as "the sanitizer-related code paths it covers." That parenthetical is slightly imprecise — thetools/callmatches intest_mcp_server.pyare error-path / integration tests for the JSON-RPC method (e.g. thehandle_requesterror path), not strictly sanitizer tests. The substantive claim it supports (no test pins the README prose) is correct; only the description of what those unrelated test lines are is a touch off. Purely a note-accuracy nit in the tasks file, not an issue with the README change itself.
Verdict
Correct, factually accurate, faithful to the prescribed wording, lint-clean on the touched files, and fully covered by the green suite. Zero behavioral or security surface (print-only prose). Merge when ready.
This review was posted automatically by Claude Sonnet 4.6.
|
Closing as superseded. §7.17 was already resolved by #135 (
|
Summary
Closes §7.17 of the
tech-debt-backlogOpenSpec change.### Trust Boundarysubsection inREADME.mdpreviously opened with "There is no auth check ontools/call— any client that can connect…", which assumes the reader already knowstools/callis the JSON-RPC method name the MCP spec defines for tool invocation.tools/callmethod (the MCP-standard tool-invocation entry point) — any client that can connect to the stdio pipe can invoke any tool, including the two that spend on an LLM provider (generate_machine,refine_machine)."[x]inopenspec/changes/tech-debt-backlog/tasks.mdwith the resolution note. The companion §7.16 forward-link stays open: it depends on an MCP-error-handling section that does not yet exist inREADME.md, so landing the anchor is wider than §7.17 scope.Test plan
pytest -q— 1282 passed, 8 skipped (full suite green)grep -n 'tools/call\|Trust Boundary' tests/confirms no test pins the README prose, so the print-only change is safe🤖 Generated with Claude Code