Search explanations describe parts the search didn't run
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 57/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
- Domain
- backend-api-design
Research direction
Start with the time-series agent output in agent.ts:53-72, then follow how search.ts:910-948 builds the executed request and how structured.ts:462-469 and formatters.ts:209-210 return the explanation. Compare the explanation with the request that actually ran, including fields and time range; done means callers are not given an explanation that claims omitted search parts were executed.
Written by the indexing model from the issue text.
Description
includeExplanation on search_errors and the other runSearchEvents tools returns the embedded agent's own explanation text unchanged. It can describe grouping, fields, or a time range that the executed request does not contain, so callers trust results that don't match what they asked for.
Reported in Sentry MCP user feedback (MCP-SERVER-GN4) from an automated caller:
- Grouped time series: an hourly series asked for grouping by
projectplus distinct users. The explanation said both were returned.executedSearch.fieldswas onlycount(), and the output was one ungrouped series. The span for that call was not sampled, so this case is from the feedback text only. - Time range: the explanation described a fixed window while
executedSearch.timeRangewasstatsPeriodwith nullstart/end. This one is verified in a trace and fixed in #2146.
What the code does (main @ 737f183):
- The agent's time-series output is one
yAxisplusinterval, with no group-by or top-N field (agent.ts:53-72). The handler sends oneyAxistoevents-timeseries(search.ts:1083-1104) and reportsfields: [yAxis](structured.ts:469). Any grouping or second aggregate the agent planned is dropped without a note. explanationis set fromparsed.explanation(search.ts:932) and passed through unchanged (structured.ts:462-465,formatters.ts:209-210). The handler later overrides the time range, fields, sort, or query (search.ts:910-948), but never compares the explanation with what ran.
Related: #2017 adds explicit multi-axis series for traces, logs, and metrics, not errors and not grouped series. #2139 and #2146 fix time-range drops, not the explanation text.
via Sentry.
--
- Dominant language
- TypeScript
- Stars
- 961
- Forks
- 179
- Avg merge
- 15h 33m
- Merged PRs (30d)
- 476
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from getsentry/toolkit
-
MCP mcp-feedback-pattern
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
getsentry/toolkit#2276 · 1 comment ·
Maintainers usually reply within 1 day
-
CLI enhancement MCP
Difficulty 2/5 1-3 hours Newbie friendliness 63/100
getsentry/toolkit#1908 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
getsentry/toolkit#1471 · 1 comment ·
Maintainers usually reply within 1 day
-
get_sentry_resource gives no guidance for Explore > Errors list URLsPossibly taken @sentry-junior claimed this today. OpenMCP mcp-feedback-pattern
Difficulty 2/5 1-3 hours Newbie friendliness 32/100
getsentry/toolkit#2278 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 65/100
getsentry/toolkit#2275 · 1 comment ·
Maintainers usually reply within 1 day
All issues in getsentry/toolkit
Similar issues
-
Add: BOM CineOpenapproved check:passed streams:add
Difficulty 1/5 Under an hour Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
bug platform-android
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Termix-SSH/Mobile#146 · 1 comment ·
Maintainers usually reply within 2 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
devswha/herdr-web-ui#3875 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100