elastic / elastic/ai-github-actions
[product-manager-impersonator] Scoped compile target for single-workflow iteration
- Dominant language
- Python
- Stars
- 11
- Forks
- 16
- Avg merge
- 22h 9m
- Merged PRs (30d)
- 31
Description
## Feature Idea
**Summary:** Add a scoped compile command (for example `make compile-workflow WORKFLOW=`) so maintainers can iterate on one workflow without recompiling and syncing the entire repository.
## Why a Customer Would Want This
Workflow maintainers often change one workflow at a time, but today the documented path is always full-repo `make compile`. That creates slower feedback loops and unrelated generated diffs, making small fixes harder to review.
## Rough Implementation Sketch
- Add a new Make target that accepts `WORKFLOW=` and validates the slug against existing `gh-aw-*.md` sources.
- Compile only `.github/workflows/gh-aw-.md` (plus compat behavior only if applicable), while preserving existing `make compile` behavior for full builds.
- Extend `scripts/dogfood.sh` with an optional workflow filter so trigger sync can target only `gh-agent-workflows//example.yml`.
- Document the new command in developer docs with examples and fallback to full `make compile`.
## Why It Won't Be That Hard
The repository already has all core primitives: a Make-based compile entrypoint and a script that syncs triggers from workflow examples. This idea is mostly parameterization and guardrails on top of existing paths, not new infrastructure.
## Evidence
- `Makefile` currently exposes only full `compile` in help (`Makefile:55-63`) and runs full sync + compile (`Makefile:170-183`).
- Trigger sync currently loops every workflow example (`scripts/dogfood.sh:55-56`) instead of supporting a scoped target.
- Developer docs direct contributors to run full `make compile` for edits (`docs/developing.md:27-30`, `gh-agent-workflows/DEVELOPING.md:145-154`).
- The repo contains many workflow packages, so single-workflow iteration is a common path (`gh-agent-workflows/README.md:25-42`).
## Duplicate Check
- Reviewed open PM-impersonator ideas and prior findings list (`/tmp/previous-findings.json`), including compile-adjacent `#899` (fail-fast compile mode).
- This proposal is distinct: it adds **scoped compilation/sync for one workflow**, not fail-fast behavior for full compilation.
> [!NOTE]
>
> 🔒 Integrity filter blocked 39 items
>
> The following items were blocked because they don't meet the GitHub integrity level.
>
> - [#1175](https://github.com/elastic/ai-github-actions/pull/1175) `list_pull_requests`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#359](https://github.com/elastic/ai-github-actions/issues/359) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#248](https://github.com/elastic/ai-github-actions/issues/248) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#547](https://github.com/elastic/ai-github-actions/issues/547) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#336](https://github.com/elastic/ai-github-actions/issues/336) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#225](https://github.com/elastic/ai-github-actions/issues/225) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#191](https://github.com/elastic/ai-github-actions/issues/191) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#676](https://github.com/elastic/ai-github-actions/issues/676) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#139](https://github.com/elastic/ai-github-actions/issues/139) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#321](https://github.com/elastic/ai-github-actions/issues/321) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#704](https://github.com/elastic/ai-github-actions/issues/704) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#140](https://github.com/elastic/ai-github-actions/issues/140) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#1067](https://github.com/elastic/ai-github-actions/issues/1067) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#235](https://github.com/elastic/ai-github-actions/issues/235) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#505](https://github.com/elastic/ai-github-actions/issues/505) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#424](https://github.com/elastic/ai-github-actions/issues/424) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - ... and 23 more items
>
> To allow these resources, lower `min-integrity` in your GitHub frontmatter:
>
> ```yaml
> tools:
> github:
> min-integrity: approved # merged | approved | unapproved | none
> ```
>
>
---
[What is this?](https://ela.st/github-ai-tools) | [From workflow: Trigger Product Manager Impersonator](https://github.com/elastic/ai-github-actions/actions/runs/27272292357)
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
Contributor guide
Assessment
This issue has not been assessed yet.