From 9fe8f7050b6868e811926f63c388a0d0614aad77 Mon Sep 17 00:00:00 2001 From: Tony Xiao Date: Thu, 19 Feb 2026 16:12:07 -0500 Subject: [PATCH 1/2] feat(autofix): Add seer-slack-workflows-explorer flag This new flag means we can roll out seer-slack-workflows for users on autofix-on-explorer via another feature flag so the 2 can be rolled out in a decoupled way. --- src/sentry/features/temporary.py | 2 ++ src/sentry/seer/entrypoints/operator.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/sentry/features/temporary.py b/src/sentry/features/temporary.py index fe83c055a68b44..3af8d9ec6230d2 100644 --- a/src/sentry/features/temporary.py +++ b/src/sentry/features/temporary.py @@ -443,6 +443,8 @@ def register_temporary_features(manager: FeatureManager) -> None: manager.add("organizations:autofix-on-explorer", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True) # Enable Seer Workflows in Slack manager.add("organizations:seer-slack-workflows", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True) + # Additionally allow users with `autofix-on-explorer` flags to use this feature. + manager.add("organizations:seer-slack-workflows-explorer", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True) # Enable new compact issue alert UI in Slack manager.add("organizations:slack-compact-alerts", OrganizationFeature, FeatureHandlerStrategy.FLAGPOLE, api_expose=True) # Enable Seer Explorer in Slack via @mentions diff --git a/src/sentry/seer/entrypoints/operator.py b/src/sentry/seer/entrypoints/operator.py index 5330e86f76b934..d245db03a5020e 100644 --- a/src/sentry/seer/entrypoints/operator.py +++ b/src/sentry/seer/entrypoints/operator.py @@ -82,7 +82,7 @@ def has_access( # at the moment, won't be visible in-app to users with this flag. # This check can only be removed once this feature migrates to explorer-based autofix. if features.has("organizations:autofix-on-explorer", organization): - return False + return not features.has("organizations:seer-slack-workflows-explorer", organization) if entrypoint_key: if entrypoint_key not in entrypoint_registry.registrations: From b667b313b98fbba573e56f32c38cb8ac8165d861 Mon Sep 17 00:00:00 2001 From: Tony Xiao Date: Thu, 19 Feb 2026 16:18:49 -0500 Subject: [PATCH 2/2] fix flag check --- src/sentry/seer/entrypoints/operator.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/sentry/seer/entrypoints/operator.py b/src/sentry/seer/entrypoints/operator.py index d245db03a5020e..ef22b478190907 100644 --- a/src/sentry/seer/entrypoints/operator.py +++ b/src/sentry/seer/entrypoints/operator.py @@ -81,8 +81,10 @@ def has_access( # The explorer autofix pipeline and history is entirely separate, so the runs we trigger # at the moment, won't be visible in-app to users with this flag. # This check can only be removed once this feature migrates to explorer-based autofix. - if features.has("organizations:autofix-on-explorer", organization): - return not features.has("organizations:seer-slack-workflows-explorer", organization) + if features.has("organizations:autofix-on-explorer", organization) and not features.has( + "organizations:seer-slack-workflows-explorer", organization + ): + return False if entrypoint_key: if entrypoint_key not in entrypoint_registry.registrations: