mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-15 06:12:50 -07:00
7428a3b799
This PR implements a more robust issue deduplication workflow for the backlog, addressing critical feedback from the previous iteration.
## Changes
1. **State Tracking with `status/checked-for-duplicates` label**:
- Added a new label `status/checked-for-duplicates` that is applied to every issue processed by the bot, even if no duplicates are found.
- Updated the backlog search query to exclude issues with this label (`-label:status/checked-for-duplicates`).
- This prevents the bot from re-processing the same unique issues every day, solving the infinite loop risk.
2. **Optimized Batch and Turn Limits**:
- Reduced the processing batch size from 50 to 20 issues.
- Increased `maxSessionTurns` from 50 to 100.
- This ensures Gemini has enough turns to fetch details for potential duplicates and perform thorough analysis without hitting session limits.
3. **Safety Truncation for Issue Bodies**:
- Added a `jq` step to truncate issue bodies to the first 2000 characters before passing them to Gemini.
- This prevents potential environment variable overflow issues in GitHub Actions runners for issues with extremely large descriptions.
4. **Automatic Label Creation**:
- Updated the `github-script` step to automatically ensure that both `status/checked-for-duplicates` and `status/possible-duplicate` labels exist in the repository before attempting to apply them.
## Impact
- **Efficiency**: Clears the backlog systematically without redundant processing.
- **Reliability**: Reduces the risk of session timeouts and environment variable overflows.
- **Visibility**: Clearly indicates which issues have been reviewed for duplicates.
## Validation
- Ran `npm run lint` to ensure no regressions in repository standards.
- Manually verified the `jq` truncation logic and GraphQL search query syntax.