elastic / elastic/ai-github-actions

[autonomy-atomicity] runtime-setup fragment is a merge-conflict hotspot across 51 workflows

Open
#897 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
11
Forks
16
Avg merge
22h 9m
Merged PRs (30d)
31

Description

## Autonomy / Atomicity Findings

### 1. High-fan-in `runtime-setup` fragment creates broad conflict surface
**Category:** Config hotspot
**File(s):** `.github/workflows/gh-aw-fragments/runtime-setup.md`, `.github/workflows/gh-aw-*.md`, `gh-agent-workflows/DEVELOPING.md`, `Makefile`

**Problem:**
A single shared fragment (`runtime-setup.md`) is imported by almost every workflow source (`51/52` `gh-aw-*.md` files).
When two independent changes both need setup adjustments (tooling bootstrap, Copilot config, conventions fetch), they must edit the same fragment, then run `make compile`, which regenerates workflow outputs. This creates frequent rebase/merge contention and cross-feature churn.

**Evidence:**
- `.github/workflows/gh-aw-fragments/runtime-setup.md:3-88` centralizes language setup, Copilot CLI settings, and conventions fetch logic.
- `.github/workflows/gh-aw-issue-triage.md:5-10` imports `gh-aw-fragments/runtime-setup.md`.
- `.github/workflows/gh-aw-pr-review.md:5-10` imports `gh-aw-fragments/runtime-setup.md`.
- Repo-wide count: `51` of `52` `.github/workflows/gh-aw-*.md` files import `gh-aw-fragments/runtime-setup.md`.
- `gh-agent-workflows/DEVELOPING.md:145-148` requires running `make compile` and committing generated artifacts after fragment edits.
- `Makefile:170-173` shows compile flow (`gh-aw compile`) that regenerates workflow outputs after shared-source changes.

**Suggested fix:**
Split `runtime-setup.md` into smaller, low-churn fragments (for example: language/tool setup, Copilot config, conventions fetch), and let workflows import only what they need. This reduces shared edit collisions and narrows regeneration blast radius for concurrent work.

## Suggested Actions
- [ ] Extract `runtime-setup.md` into focused fragments and update imports incrementally.
- [ ] Add an impact-scoped compile path for changed workflow sources/fragments to reduce cross-workflow regeneration conflicts.

---
[What is this?](https://ela.st/github-ai-tools) | [From workflow: Trigger Autonomy Atomicity Analyzer](https://github.com/elastic/ai-github-actions/actions/runs/24146762948)

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.