You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 558d96d
Browse filesBrowse the repository at this point in the historyBrowse files
fix(search): return actionable live read errors and drop unreadable Confluence matches (#8888)
## Summary
- `read_document` turned every provider-side read failure into the generic "Knowledge operation failed", because `NativeSearchError` escaped `readLiveDocument` without being classified. Reads now return errors the model can act on:
- a 404 or 410 becomes `not_found`, with a hint to search again or read a different result;
- a revoked grant becomes `unauthorized`, naming the provider to reconnect;
- rate limits, 5xx responses, provider timeouts, MCP request timeouts and the 15 s read deadline become a retryable `LiveReadError`.
- The Assistant `read_document` tool now reports `retryable` (and `retryAfterSeconds` when set), the same way `search_workspace` does. The Search MCP `read_document` returns the classified message instead of the generic text.
- Confluence search labeled every non-blogpost CQL hit a `page`. Native CQL that matched attachments, comments, whiteboards, folders or databases therefore produced references whose v2 page read returns 404. Those kinds are now dropped, and the result message says so.
## Test plan
- [x] `application.test.ts`: covers 404, reconnect, rate limit, 503 and MCP timeout. All five fail with the fix reverted.
- [x] `atlassian.test.ts`: covers native CQL matches that a page read can't open. It fails with the fix reverted.
- [x] Focused suites pass locally: application, atlassian, policy, workspace-search, mcp server.
- [ ] CI
'Searches up to four accessible Atlassian sites. For a specific site and pagination, set project to its cloud ID.',
219
+
'Searches up to four accessible Atlassian sites. For a specific site and pagination, set project to its cloud ID.'+
220
+
(excluded
221
+
? ' Matches other than pages, blog posts, and spaces (attachments, comments, whiteboards, folders, databases) were excluded because they cannot be read.'
0 commit comments