Revalidate MCP actions before dispatch - #198
Conversation
|
The I've completed my review. The change is well-structured and thoroughly tested. Let me summarize my findings. Review SummaryThis PR revalidates approved MCP actions immediately before dispatch, so a stale action (connection/grant/policy changed while awaiting approval) is never sent. The design is sound and consistent with the kernel's capability model, and the test coverage is substantial (action-store, facet, session, auto-approval, Activity). I reviewed the full diff ( Findings — no blocking issues. A few observations, none actionable enough to block:
LGTM! |
cc21770 to
715cc94
Compare
04fb946 to
f043907
Compare
|
The interface declares I've thoroughly traced all the key flows. The existing bonk review already exists with a detailed analysis and LGTM verdict. My independent review confirms the same conclusions:
I found no discrete, actionable problems introduced by this change beyond the by-design observations the existing review already documented (extra remote round-trip per tool call; the compat LGTM! |
715cc94 to
972434f
Compare
f043907 to
b8fffc8
Compare
|
The read path throws I've completed a thorough independent review. My review confirms the design is sound and I found no discrete, actionable problems introduced by this change beyond the by-design observations the two existing bonk reviews already documented (extra remote round-trip per tool call; the defensive
No inline findings to submit. LGTM! |
|
The frontend tests confirm the invalidation reason renders in history and that changing I've completed a thorough independent review. Let me summarize. Review SummaryThis PR revalidates an approved MCP action immediately before dispatch, so a stale action (whose connection generation, tool scope, or effective policy changed while awaiting approval) is never sent. I reviewed the full diff ( Verified correct:
By-design observations (not blocking):
I found no discrete, actionable problems introduced by this change. The earlier bonk comments referencing a LGTM! |
2846cdc to
f5c6473
Compare
b8fffc8 to
90f8ab6
Compare
|
Test coverage is thorough, including the read-path generation-change guard. My independent review confirms the design is sound and the implementation is correct. I traced all the key flows independently:
All callers of the changed signatures ( LGTM! |
An MCP action may wait for approval while its connection, grant, or effective policy changes. This captures the approved connection generation and policy, then rechecks them within the bounded discovery path immediately before
tools/call. A stale action is never dispatched; it is recorded using the existing rejected wire state plus an invalidation reason, and auto-approval rules are cleared so current and rolled-back backends stop the current drain.Invalidation uses a thrown, message-preserved sentinel so older Workshops fail closed. Re-enabling a cleared rule explicitly allows future auto-approval rather than leaving a permanent historical barrier.
Stacked on #199. Verified with 316 MCP tests, 289 backend tests plus integration tests, 152 frontend tests, both MCP connector suites, and full
pnpm lint.