fix: prevent duplicate review_all runs via reason-based dedup (#848)

Two problems:
1. Schedule was every 20 min but review_all cycles take 35 min,
   causing overlapping triggers that fill both slots
2. Trigger server only deduped by issue number, not by reason,
   so two review_all runs could stack up

Fixes:
- Change schedule from */20 to 0,45 (every 45 min)
- Add reason-based dedup in trigger-server.ts: reject 409 if a
  non-issue run with the same reason is already in progress

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
L 2026-02-13 01:41:11 -08:00 committed by GitHub
parent d9a18b49d3
commit 49bb39c8ec
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 19 additions and 3 deletions

View file

@ -4,8 +4,8 @@ on:
issues:
types: [opened, reopened]
schedule:
# Consolidated review + scan — every 20 min
- cron: '*/20 * * * *'
# Consolidated review + scan — every 45 min (must exceed 35-min cycle timeout)
- cron: '0,45 * * * *'
workflow_dispatch:
inputs:
mode: