elastic / elastic/ai-github-actions
[autonomy-atomicity] runtime-setup fragment is a merge-conflict hotspot across 51 workflows
- 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
Assessment
This issue has not been assessed yet.