Skip to content

rust(docs): warn that unscoped list_channels name searches can time out - #827

Merged
alexa-sift merged 3 commits into
mainfrom
eng-15732-warn-in-list_channels-guidance-that-unscoped-name-searches
Oct 13, 2026
Merged

alexa-sift merged 3 commits into
mainfrom
eng-15732-warn-in-list_channels-guidance-that-unscoped-name-searches

Conversation

@alexa-sift

@alexa-sift alexa-sift commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Description

In large orgs, list_channels name searches without an asset_id scope scan every channel and can hit the client request timeout. Agents then retry the same broad filter. The list_channels guidance now says to resolve candidate assets with list_assets first, search each asset by name, and treat a timeout as a too-broad filter rather than bad parameters.

Verification

  • cargo fmt -p sift_mcp -- --check, cargo clippy -p sift_mcp --all-targets --all-features (no new warnings)
  • cargo test -p sift_mcp (581 pass), including a new test that the list_channels description carries the timeout guidance
  • Scripted tools/list check: ran sift-cli mcp from a local build of this branch (placeholder profile, no backend calls) and read the list_channels description over stdio. All 42 tools listed. The new bullet comes through with " unescaped and no \" or literal \n. Diffed against sift-cli 0.7.2, the only change is the three new lines:
  - Unscoped name searches scan every channel in the org and can time out in large orgs. Resolve
    candidate assets with `list_assets` first, then search each with `asset_id == "..." && name.matches(...)`.
    A timeout means the filter was too broad, not that the parameters were wrong; narrow it before retrying.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@bijan-sift bijan-sift left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is there a way to confirm this works?

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@alexa-sift

alexa-sift commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor Author

is there a way to confirm this works?

@bijan-sift fair question. The linked azimuth PR has more integration-type tests that I originally included, but I added a test here as well. Lmk your thoughts

bijan-sift
bijan-sift previously approved these changes Oct 13, 2026
@alexa-sift
alexa-sift marked this pull request as ready for review October 13, 2026 20:04
…t_channels-guidance-that-unscoped-name-searches

# Conflicts:
#	rust/crates/sift_mcp/src/tool/channels/test.rs
@alexa-sift
alexa-sift enabled auto-merge (squash) October 13, 2026 22:06
@alexa-sift
alexa-sift merged commit 44ed255 into main Oct 13, 2026
22 checks passed
@alexa-sift
alexa-sift deleted the eng-15732-warn-in-list_channels-guidance-that-unscoped-name-searches branch October 13, 2026 22:10
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