elastic / elastic/ai-github-actions

[product-manager-impersonator] Backwards-compat rename parity check

Open
#1,809 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

## Feature Idea

**Summary:** Add an automated parity check that keeps deprecated workflow rename aliases synchronized across docs, generation script, and generated lock files.

## Why a Customer Would Want This
Maintainers and downstream repos rely on backwards-compatible workflow aliases to avoid breakage when names change. If docs say an alias exists but the generator script does not produce it, adopters following the docs can hit failed `uses:` references and lose trust in upgrade guidance.

## Rough Implementation Sketch
- Add a small validation script (for example, `scripts/check-backwards-compat-mappings.py`) that parses rename pairs from `docs/upgrading.md` and from `scripts/backwards-compat.sh`.
- Fail when a documented pair is missing from script arrays (or when script pairs are undocumented).
- Verify that each expected old alias lock file exists when its new target lock file exists in `.github/workflows/`.
- Wire the check into `make lint` (or the compile pipeline) so drift is caught in CI before release.

## Why It Won't Be That Hard
This is a focused guardrail: one lightweight script plus Makefile wiring. It reuses existing mapping sources and existing compile/lint flow, with no workflow engine changes and minimal blast radius.

## Evidence
- Docs define the rename `gh-aw-deep-research.lock.yml → gh-aw-internal-gemini-cli-web-search.lock.yml` in `docs/upgrading.md` (lines 119-126).
- `scripts/backwards-compat.sh` only contains five rename pairs and does not include that deep-research mapping (lines 18-31).
- Backwards-compat copies are generated from that script during compile (`Makefile` line 205).
- The new target file exists (`.github/workflows/gh-aw-internal-gemini-cli-web-search.lock.yml`) while the documented old alias file is absent (`.github/workflows/gh-aw-deep-research.lock.yml`), showing practical drift risk.

---
[What is this?](https://ela.st/github-ai-tools) | [From workflow: Trigger Product Manager Impersonator](https://github.com/elastic/ai-github-actions/actions/runs/31587076413)

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

Contributor guide

Open the contributing guide

Research direction

Start by comparing the rename pairs in docs/upgrading.md with scripts/backwards-compat.sh, then inspect the compile wiring around Makefile line 205 and the related files in .github/workflows/. Add the parity check and connect it to make lint or the compile pipeline; done means documented and scripted pairs agree and expected alias lock files are detected before release.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, shell
Domain
build-system, ci-cd, documentation
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.