Skip to content

feat(autofix): Support explorer autofix responses for some slack hooks#109103

Merged
Zylphrex merged 3 commits intomasterfrom
txiao/feat/support-explorer-autofix-responses-for-some-slack-hooks
Feb 24, 2026
Merged

feat(autofix): Support explorer autofix responses for some slack hooks#109103
Zylphrex merged 3 commits intomasterfrom
txiao/feat/support-explorer-autofix-responses-for-some-slack-hooks

Conversation

@Zylphrex
Copy link
Copy Markdown
Member

This extracts the payloads for the root cause and solutions steps. It also partially supports the coding step as it's missing getsentry/seer#4965 for better rendering. Support for opening PRs is coming in the near future.

This extracts the payloads for the root cause and solutions steps. It also
partially supports the coding step as it's missing getsentry/seer#4965 for
better rendering. Support for opening PRs is coming in the near future.
@Zylphrex Zylphrex requested review from a team as code owners February 23, 2026 18:59
@github-actions github-actions bot added the Scope: Backend Automatically applied to PRs that change backend components label Feb 23, 2026
Copy link
Copy Markdown
Contributor

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.


if legacy_description := solution.get("description"):
summary = legacy_description
elif explorer_description := solution.get("one_line_description"):
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Solution summary checks wrong explorer field name

Medium Severity

For the SEER_SOLUTION_COMPLETED case, the explorer fallback checks solution.get("one_line_description"), but the SolutionArtifact schema defines the field as one_line_summary. This means the explorer solution summary will never be found, and the summary will silently fall through to an empty string.

Fix in Cursor Fix in Web

changes_list = [
{
"repo_name": repo,
"title": change["path"],
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Direct dict key access on external payload will raise KeyError if 'path' is missing

The code accesses change["path"] directly without using .get() when processing explorer changes from Seer. This is inconsistent with the rest of the function which uses .get() with defaults (e.g., lines 246-249). If a change object in code_changes is malformed or missing the path key, this will raise a KeyError and crash the Slack entrypoint handler.

Verification

Read the full function at lines 230-289. Confirmed that legacy_changes processing uses .get() with defaults consistently (lines 246-249), but explorer_changes uses direct key access change["path"] on line 257. The event_payload comes from external Seer service data which could be malformed.

Suggested fix: Use .get() with a default value for consistency with the rest of the function

Suggested change
"title": change["path"],
"title": change.get("path", ""),

Identified by Warden sentry-backend-bugs · 6DS-BXK

Copy link
Copy Markdown
Member

@aliu39 aliu39 left a comment

Choose a reason for hiding this comment

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

lgtm

@Zylphrex Zylphrex merged commit d6286a6 into master Feb 24, 2026
79 checks passed
@Zylphrex Zylphrex deleted the txiao/feat/support-explorer-autofix-responses-for-some-slack-hooks branch February 24, 2026 15:10
mchen-sentry pushed a commit that referenced this pull request Feb 24, 2026
#109103)

This extracts the payloads for the root cause and solutions steps. It
also partially supports the coding step as it's missing
getsentry/seer#4965 for better rendering. Support for opening PRs is
coming in the near future.
wedamija pushed a commit that referenced this pull request Feb 24, 2026
#109103)

This extracts the payloads for the root cause and solutions steps. It
also partially supports the coding step as it's missing
getsentry/seer#4965 for better rendering. Support for opening PRs is
coming in the near future.
@github-actions github-actions bot locked and limited conversation to collaborators Mar 12, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants