elastic / elastic/beats

[agent-suggestions] Agent suggestions - 2026-08-24

Open
#52,805 1 comment 0 reactions 0 assignees View on GitHub
enhancement needs_team
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.