Skip to content

fix: allowlist slack feedback bot for issue triage#477

Merged
lucieleblanc merged 5 commits into
mainfrom
oz-agent/allowlist-slack-feedback-bot-triage
Jun 5, 2026
Merged

fix: allowlist slack feedback bot for issue triage#477
lucieleblanc merged 5 commits into
mainfrom
oz-agent/allowlist-slack-feedback-bot-triage

Conversation

@captainsafia

@captainsafia captainsafia commented Jun 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

Organizations should be able to allowlist specific trusted bot accounts.

Some of Warp's GitHub issues are automatically created from Slack feedback channels. Those messages are authored by the warp-dev-github-integration bot. Oz-for-OSS currently skips bot-authored issues, which means those messages aren't processed.

This PR:

  • Adds triage.bot_author_allowlist to .github/oz/config.yml so repositories can opt specific automation accounts back into issues.opened triage.
  • Routes bot-authored issue-open events through the configured allowlist instead of a hard-coded bot login.
  • Configures the bundled fallback config to allow warp-dev-github-integration[bot] and document the new field.
  • Adds routing, webhook dispatch, and config parsing coverage for configured and unconfigured bot authors.

Config resolution note: Oz resolves .github/oz/config.yml from the consuming repository first and falls back to the bundled config when absent. The two configs are not merged — consuming repositories that provide their own config.yml must include triage.bot_author_allowlist themselves if they want bot-authored issues to reach triage.

Co-Authored-By: lucieleblanc lucieleblanc@users.noreply.github.com
Co-Authored-By: Oz oz-agent@warp.dev

Conversation: https://staging.warp.dev/conversation/34058c1c-12b1-474f-bb17-0c9edf44fc40
Run: https://oz.staging.warp.dev/runs/019e98d8-7314-7add-b3c1-a2ce08def13a
This PR was generated with Oz.

Co-Authored-By: Oz <oz-agent@warp.dev>
@lucieleblanc lucieleblanc marked this pull request as ready for review June 4, 2026 17:00
@oz-for-oss

oz-for-oss Bot commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

@lucieleblanc

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

@oz-for-oss oz-for-oss Bot left a comment

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.

Overview

This PR allowlists the internal Slack feedback GitHub App bot to route issues.opened events through issue triage while preserving the existing bot-author drop for other automation accounts. It also adds regression coverage for the allowlisted login and case-insensitive matching.

Concerns

  • No blocking concerns found.

Verdict

Found: 0 critical, 0 important, 0 suggestions

Approve

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

captainsafia and others added 3 commits June 5, 2026 17:01
Co-Authored-By: Oz <oz-agent@warp.dev>
…YAML skip

- Move duplicated bot-detection logic (_actor_login, _actor_is_bot,
  _needs_triage_bot_author_allowlist) from api/webhook.py into
  core/routing.py as the shared needs_triage_bot_author_allowlist
  helper, eliminating drift risk between pre-routing and routing.

- Extract load_triage_bot_author_allowlist(repo_handle,
  fallback_workspace) into oz/workflow_config.py so the webhook
  loader closure is a thin call-through. The helper is independently
  testable with an optional repo_text_fetcher parameter.

- Add LoadTriageBotAuthorAllowlistTest covering: consuming repo
  config present (uses it), repo config missing (falls back to
  bundled config), and repo config malformed (raises RuntimeError).

- Add test_rejects_malformed_yaml to TriageWorkflowConfigTest for
  explicit malformed-config coverage.

- Remove the PyYAML try/except skip guard from test_workflow_config.py
  since PyYAML is a runtime dependency in requirements.txt and should
  fail loudly when missing.

Co-Authored-By: Oz <oz-agent@warp.dev>
Comment thread api/webhook.py Outdated
@lucieleblanc lucieleblanc self-requested a review June 5, 2026 20:18
@lucieleblanc lucieleblanc merged commit b585799 into main Jun 5, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants