elastic / elastic/ai-github-actions
[product-manager-impersonator] Scheduled audit report cooldown window
- Dominant language
- Python
- Stars
- 11
- Forks
- 16
- Avg merge
- 22h 9m
- Merged PRs (30d)
- 31
Description
## Feature Idea
**Summary:** Add an optional `report-cooldown-hours` input to scheduled audit-style workflows so repeated findings can be suppressed for a bounded time window instead of opening fresh issues on every run.
## Why a Customer Would Want This
Teams running weekday schedules want failure visibility, but repeated reports for the same unresolved condition create triage noise and reduce trust in signal. A cooldown keeps alerts visible while preventing repetitive issue churn.
## Rough Implementation Sketch
- Add `report-cooldown-hours` (default `0`, preserving current behavior) to `.github/workflows/gh-aw-scheduled-audit.md` and corresponding README/example docs.
- Extend the "previous findings" query step to include timestamps in `/tmp/previous-findings.json`, then compare the latest matching report age against cooldown.
- If within cooldown, emit `noop` with an explicit suppression reason; otherwise allow normal `create-issue` behavior.
- Document when to use cooldown vs existing `close-older-issues` replacement behavior.
## Why It Won't Be That Hard
The workflow already has dedup/replacement plumbing and already fetches prior findings; this is a small additive gate using data the workflow is already collecting, plus docs wiring.
## Evidence
- Scheduled cadence is frequent (`Weekdays`), increasing repeat-report risk: `gh-agent-workflows/scheduled-audit/README.md` L27-L30.
- Existing control is replacement-only (`close-older-issues`), not time-window throttling: `gh-agent-workflows/scheduled-audit/README.md` L38-L39.
- Previous findings are already fetched, but currently only `number,title,state` are captured: `.github/workflows/gh-aw-scheduled-audit.md` L93-L99.
- Current dedup guidance is similarity-based and has no cooldown mechanism: `.github/workflows/gh-aw-scheduled-audit.md` L111-L115.
- Safe-output config supports dedup/expiry, but no reporting rate control: `.github/workflows/gh-aw-fragments/safe-output-scheduled-audit-issue.md` L3-L8.
- Noise pressure is visible in open operational tracking/failure issues (`#945`, `#1166`).
> [!NOTE]
>
> 🔒 Integrity filter blocked 44 items
>
> The following items were blocked because they don't meet the GitHub integrity level.
>
> - [#1128](https://github.com/elastic/ai-github-actions/pull/1128) `search_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".
> - [#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".
> - [#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".
> - [#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".
> - [#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".
> - [#476](https://github.com/elastic/ai-github-actions/issues/476) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#1025](https://github.com/elastic/ai-github-actions/issues/1025) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#694](https://github.com/elastic/ai-github-actions/issues/694) `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".
> - [#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".
> - [#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".
> - [#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".
> - [#875](https://github.com/elastic/ai-github-actions/issues/875) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#245](https://github.com/elastic/ai-github-actions/issues/245) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - [#684](https://github.com/elastic/ai-github-actions/issues/684) `search_issues`: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
> - ... and 28 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/26507561374)
Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.
Contributor guide
Assessment
This issue has not been assessed yet.