[mcp] Cursor progress-notification override + structural completion gate - #540
Merged
Conversation
…ion gate
Cursor logs notifications/progress pushes to its own output channel instead
of surfacing them to the agent, so its ordinary heuristics for judging
whether an await is worth truncating don't fire the same way they do for
clients that actually see the pushes. Add force_progress_notifications
(config field, CLI flag, override methods) so operators can opt Cursor
sessions into progress pushes regardless of the client-detection heuristic.
Also close the structural gap where a soft await timeout ("still running")
was being read as task completion: SPEC R2.5.5, the MCP server's
`instructions` text, and skills/ahma/SKILL.md now say explicitly that every
spawned operation must reach a terminal state before a final summary.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
notifications/progresspushes to its own output channel instead of surfacing them to the agent, so its ordinary heuristics for judging whether anawaitis worth truncating don't fire the way they do for clients that actually see the pushes. Addforce_progress_notifications(config field, CLI flag, override methods) so operators can opt Cursor sessions into progress pushes regardless of the client-detection heuristic.awaittimeout ("still running") was being read as task completion: SPEC R2.5.5, the MCP server'sinstructionstext, andskills/ahma/SKILL.mdnow say explicitly that every spawned operation must reach a terminal state before a final summary.This completes the last two phases (5 and 6, tracked as tasks #6 and #8) of the 6-phase await-timeout redesign; phases 0-4 already landed via #534-#537.
Test plan
cargo fmt --all -- --checkcargo clippy --all-targets --workspace— 0 warningscargo nextest run -p ahma_common -p ahma_mcp— 3356/3356 passedcargo nextest run --workspace --run-ignored all— 4691/4691 passedmain(post [build] strip dependency debug info, add clean-stale, fix pre-push hook path bugs #538/[build] fix Windows CI timeout from dependency opt-level override #539) and reverified after rebase