elastic / elastic/ai-github-actions
[product-manager-impersonator] Detective-to-Fixer One-Click Handoff
- Dominant language
- Python
- Stars
- 11
- Forks
- 16
- Avg merge
- 22h 9m
- Merged PRs (30d)
- 31
Description
## Feature Idea
**Summary:** Add an optional one-click handoff from PR Actions Detective comments to PR Actions Fixer, prefilled with the failing `workflow-run-id`.
## Why a Customer Would Want This
When CI fails on a PR, users already get a diagnosis from PR Actions Detective, but still have to manually copy/paste the run ID to invoke PR Actions Fixer. A direct handoff reduces friction and shortens time-to-remediation for maintainers who want opt-in automated fixes.
## Rough Implementation Sketch
- Add a small optional output section in PR Actions Detective comments: “Run PR Actions Fixer for this failure.”
- Generate a `workflow_dispatch` URL targeting the repo’s fixer workflow with `workflow-run-id=$\{\{ github.event.workflow_run.id }}`.
- Add a guard toggle (e.g., `enable-fixer-handoff`, default true) so teams can disable links if desired.
- Document the pairing flow in both READMEs (`pr-actions-detective` and `pr-actions-fixer`) and in the workflow catalog page.
## Why It Won't Be That Hard
This is mostly comment-template and docs wiring across workflows that already exist. The key datum (`github.event.workflow_run.id`) is already available in detective context, and fixer already accepts `workflow-run-id` as required input.
## Evidence
- Workflow catalog shows today’s split UX (detective event-driven, fixer manual): `docs/workflows/gh-agent-workflows.md:51-63`.
- Detective is read-only and currently only comments: `gh-agent-workflows/pr-actions-detective/README.md:7`, `gh-agent-workflows/pr-actions-detective/README.md:35-36`.
- Fixer requires manual `workflow-run-id`: `gh-agent-workflows/pr-actions-fixer/README.md:23`, `gh-agent-workflows/pr-actions-fixer/README.md:29`.
- Example workflows confirm trigger gap:
- `gh-agent-workflows/pr-actions-detective/example.yml:1-20`
- `gh-agent-workflows/pr-actions-fixer/example.yml:1-22`
- Detective context already has run metadata needed for the handoff link: `.github/workflows/gh-aw-pr-actions-detective.md:85-87`.
## Duplicate Check
- Checked open feature/idea issues and prior PM reports (`/tmp/previous-findings.json` + `repo:elastic/ai-github-actions is:issue in:title "[product-manager-impersonator]"`).
- Closest open issues are related but distinct:
- `#684` (shorter detective replies)
- `#709` (scheduled workflow health watchdog)
- `#837` (stale monitor dispatch names)
- No open PM issue proposes a detective-to-fixer one-click handoff.
> [!NOTE]
>
> 🔒 Integrity filtering filtered 13 items
>
> Integrity filtering activated and filtered the following items during workflow execution.
> This happens when a tool call accesses a resource that does not meet the required integrity or secrecy level of the workflow.
>
> - [#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".)
> - [#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".)
> - issue:elastic/ai-github-actions#unknown (`search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".)
> - issue:#unknown (`search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".)
> - issue:elastic/ai-github-actions#796 (`issue_read`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".)
> - issue:elastic/ai-github-actions#829 (`issue_read`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".)
> - issue:elastic/ai-github-actions#777 (`issue_read`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".)
> - issue:elastic/ai-github-actions#730 (`issue_read`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".)
> - issue:elastic/ai-github-actions#683 (`issue_read`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".)
> - issue:elastic/ai-github-actions#679 (`issue_read`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".)
> - issue:elastic/ai-github-actions#769 (`issue_read`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".)
> - issue:elastic/ai-github-actions#780 (`issue_read`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".)
> - issue:elastic/ai-github-actions#809 (`issue_read`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".)
>
>
---
[What is this?](https://ela.st/github-ai-tools) | [From workflow: Trigger Product Manager Impersonator](https://github.com/elastic/ai-github-actions/actions/runs/23792395322)
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
Contributor guide
Assessment
This issue has not been assessed yet.