elastic / elastic/ai-github-actions
[product-manager-impersonator] Backwards-compat rename parity check
- 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
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