[agent-suggestions] Agent suggestions - 2026-08-24
- Dominant language
- Go
- Stars
- 12.7k
- Forks
- 5k
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 370
Description
## Agent Suggestions
**Date:** 2026-08-24
### 1. `trigger-backport-conflict-queue-triage`
**Trigger:** `schedule` (daily) plus `pull_request` events (`opened`, `reopened`, `synchronize`, `labeled`, `unlabeled`) filtered to PRs with `backport` + `conflicts` labels.
**Purpose:** Detect and deduplicate stuck backport-conflict queues, cluster related backports by source PR and target branch, and route maintainers with a single actionable backlog report instead of many disconnected conflict PRs.
**Proposed safe outputs:** `create-issue` (deduplicated tracker per conflict cluster), `add-comment` (on affected PRs with tracker link and resolution checklist), `noop` (no actionable/stale conflict cluster).
**Evidence:**
- Beats currently has many open `backport` + `conflicts` PRs, including:
- https://github.com/elastic/beats/pull/52786
- https://github.com/elastic/beats/pull/52783
- https://github.com/elastic/beats/pull/52758
- https://github.com/elastic/beats/pull/52701
- https://github.com/elastic/beats/pull/52693
- https://github.com/elastic/beats/pull/52547
- https://github.com/elastic/beats/pull/52540
- https://github.com/elastic/beats/pull/52080
- https://github.com/elastic/beats/pull/52079
- https://github.com/elastic/beats/pull/52078
- The same pattern is active in downstream repos using the same workflow family:
- https://github.com/elastic/elastic-agent/pull/16304
- https://github.com/elastic/elastic-agent/pull/16253
- https://github.com/elastic/elastic-agent/pull/16252
- https://github.com/elastic/fleet-server/pull/7681
- https://github.com/elastic/fleet-server/pull/7680
- https://github.com/elastic/fleet-server/pull/7666
- https://github.com/elastic/fleet-server/pull/7665
- https://github.com/elastic/fleet-server/pull/7576
- https://github.com/elastic/fleet-server/pull/7575
- https://github.com/elastic/fleet-server/pull/7574
- Existing Beats automation does not triage conflict backlog state:
- Backport creation only: https://github.com/elastic/beats/blob/main/.github/workflows/backport-active.yml
- Label copy only: https://github.com/elastic/beats/blob/main/.github/workflows/mergify-labels-copier.yml
- PR Actions Detective only runs for failed workflows tied to open PRs: https://github.com/elastic/beats/blob/main/.github/workflows/trigger-pr-actions-detective.yml
- PR Buildkite Detective only runs for failed Buildkite statuses with an open PR: https://github.com/elastic/beats/blob/main/.github/workflows/trigger-pr-buildkite-detective.yml
**Why not covered already:**
- `trigger-backport-branch-health-guard` in https://github.com/elastic/beats/issues/51149 addresses **post-merge branch breakage**, not **pre-merge conflict queue triage**.
- Other open suggestions target generated artifacts, binary size, docs/PR readiness, downstream smoke, and receiver routing, not persistent `backport+conflicts` queue management:
- https://github.com/elastic/beats/issues/52274
- https://github.com/elastic/beats/issues/52087
- https://github.com/elastic/beats/issues/51891
- https://github.com/elastic/beats/issues/51744
- https://github.com/elastic/beats/issues/51416
- https://github.com/elastic/beats/issues/50211
- https://github.com/elastic/beats/issues/49774
## Duplicate Checks
- Open workflow/automation issues reviewed: https://github.com/elastic/beats/issues?q=is:open+is:issue+repo:elastic%2Fbeats+%28agent+OR+workflow+OR+automation%29
- Open workflow/automation PRs reviewed: https://github.com/elastic/beats/pulls?q=is:open+is:pr+repo:elastic%2Fbeats+%28agent+OR+workflow%29
- Existing suggestion reports reviewed: https://github.com/elastic/beats/issues?q=repo:elastic%2Fbeats+is:issue+in:title+%22%5Bagent-suggestions%5D%22
## Downstream Signals
- `elastic/elastic-agent` shows concurrent open `backport` + `conflicts` PRs: https://github.com/elastic/elastic-agent/pull/16304, https://github.com/elastic/elastic-agent/pull/16253, https://github.com/elastic/elastic-agent/pull/16252
- `elastic/fleet-server` shows recurring parallel backport conflict queues: https://github.com/elastic/fleet-server/pull/7681, https://github.com/elastic/fleet-server/pull/7680, https://github.com/elastic/fleet-server/pull/7666, https://github.com/elastic/fleet-server/pull/7665
- `elastic/logstash` is also an active downstream user of `gh-aw-*` workflows (workflow adoption signal): https://github.com/elastic/logstash/blob/main/.github/workflows/trigger-pr-buildkite-detective.yml
## Suggested Next Steps
- [ ] Prototype `trigger-backport-conflict-queue-triage.yml` as read-only triage (issue/comment/noop only).
- [ ] Add dedupe key: `source_pr + target_branch + conflict_signature`.
- [ ] Suppress noise via age threshold (for example, only report unresolved conflicts older than 24h).
- [ ] Pilot in `beats`, then mirror in `elastic-agent` and `fleet-server` if signal quality is high.
---
[What is this?](https://ela.st/github-ai-tools) | [From workflow: Agent Suggestions](https://github.com/elastic/beats/actions/runs/32725965793)
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
> - [x] expires on Aug 31, 2026, 12:28 PM UTC
Contributor guide
Research direction
Start by comparing .github/workflows/backport-active.yml, mergify-labels-copier.yml, trigger-pr-actions-detective.yml, and trigger-pr-buildkite-detective.yml to understand existing automation boundaries. Then review the listed backport conflict PRs and define the proposed trigger, dedupe key, age threshold, and create-issue/add-comment/noop outputs. Done means a read-only trigger-backport-conflict-queue-triage.yml prototype is specified for Beats without duplicating existing coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, yaml
- Domain
- ci-cd, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100