search_issues agent strips punctuation from quoted phrases

未关闭
#2,212 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
typescript
领域
ai, search

调研方向

Start with the search_issues path in search-issues.ts (around lines 195-244, where the query goes to Seer or the embedded agent) and the agent prompt in support/search-issues/config.ts (lines 11 and 25). Check whether a quoted phrase containing parentheses survives the agent's rewrite, and how rewriteSearchQuery treats it. Done means a quoted phrase like "organization step(s) failed" is passed through unchanged, or any rewrite is reported in the result notes.

由索引模型根据 Issue 内容生成。

描述

Through the embedded repair agent, search_issues can rewrite a quoted literal phrase. In MCP-SERVER-GPC (opencode, server 0.42.0), "organization step(s) failed" was reported to run as organization step failed. It returned nothing, though a matching issue existed (a search for organization found it).

  • Not verified from telemetry: the failing call isn't in the sampled spans, and the feedback trace is unsampled. The call path below comes from code and from the same caller's other calls.
  • The deterministic rewrite keeps the phrase: rewriteSearchQuery('"organization step(s) failed"', { issueSearch: true }) returns it unchanged with no notes. A quoted phrase alone isn't structured syntax (looksLikeSentrySearchSyntax → false), so it goes to Seer or the agent (search-issues.ts:195-244).
  • This org uses the agent path: the same user and org's earlier quoted search_issues call (trace e90e6dd4…, 2026-11-10, "timeout of 20000ms exceeded") shows the org feature-flag GET and then callEmbeddedAgent, with no Seer translate call. That run kept the quotes, so the rewrite seems tied to the punctuation.
  • Likely trigger (inference): the agent prompt counts only field:value forms as explicit tokens (support/search-issues/config.ts:11), so a quoted free-text phrase is natural language that the agent may rewrite. It also says parentheses are "invalid in issue search even when written explicitly" (config.ts:25), which doesn't separate grouping parens from literal characters inside a quoted phrase.
  • The rewrite is silent: the result's notes only include rewrites from rewriteIssueQuery (search-issues.ts:282-289). An agent rewrite shows up only as the changed executedSearch.query, and the explanation only appears with includeExplanation.

Related: the same feedback's search_logs part (unknown attribute with no suggestions) is in #2211.

via Sentry.

--

View Session [Sentry]

主要语言
TypeScript
星标
961
派生
179
平均合并
15 小时 33 分钟
30 天内合并 PR
476

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

getsentry/toolkit 的其他 Issue

查看 getsentry/toolkit 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。