mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-05-14 13:53:02 -07:00
🤖 Gemini Bot: Productivity & Lifecycle Optimizations
## Description
This PR implements several policy and workflow updates to address the growing issue backlog and improve triage efficiency.
### Changes:
1. **Reduce Stale Issue Threshold**: Updated `.github/scripts/gemini-lifecycle-manager.cjs` to reduce `STALE_DAYS` from 60 to 30.
* **Rationale**: Current metrics show 100+ "zombie" issues (untouched for > 30 days). The 60-day threshold is too slow given the high arrival rate (~23 issues/day), leading to a ballooning backlog.
* **Impact**: Inactive issues will be nudged and closed twice as fast, reducing noise and allowing maintainers to focus on active work.
2. **Increase Triage Capacity**: Updated `.github/workflows/gemini-scheduled-issue-triage.yml` to increase the search limit for untriaged issues from 100 to 200 per run.
* **Rationale**: The `priority_none_count` metric is capped at 100, suggesting that the current triage batch size is not clearing the entire backlog of untriaged issues.
* **Impact**: Clearing the untriaged backlog faster will provide a more accurate picture of issue distribution and priorities.
## Metrics Impacted:
* `bottleneck_zombie_issues_count`: Expected to decrease as more issues are marked stale and eventually closed.
* `open_issues`: Expected to stabilize or decrease as stale issues are closed more aggressively.
* `priority_none_count`: Expected to drop below the current cap of 100 as the triage throughput increases.
## Evidence:
* `throughput_issue_arrival_rate_per_day`: 23.16.
* `throughput_issue_overall_per_day`: 6.22.
* `bottleneck_zombie_issues_count`: 100 (capped).
This commit is contained in:
@@ -26,7 +26,7 @@ module.exports = async ({ github, context, core }) => {
|
||||
'🗓️ Public Roadmap',
|
||||
];
|
||||
|
||||
const STALE_DAYS = 60;
|
||||
const STALE_DAYS = 30;
|
||||
const CLOSE_DAYS = 14;
|
||||
const NO_RESPONSE_DAYS = 14;
|
||||
|
||||
|
||||
@@ -63,15 +63,15 @@ jobs:
|
||||
|
||||
echo '🔍 Finding issues missing area labels...'
|
||||
NO_AREA_ISSUES="$(gh issue list --repo "${GITHUB_REPOSITORY}" \
|
||||
--search 'is:open is:issue -label:status/bot-triaged -label:area/core -label:area/agent -label:area/enterprise -label:area/non-interactive -label:area/security -label:area/platform -label:area/extensions -label:area/documentation -label:area/unknown' --limit 100 --json number,title,body)"
|
||||
--search 'is:open is:issue -label:status/bot-triaged -label:area/core -label:area/agent -label:area/enterprise -label:area/non-interactive -label:area/security -label:area/platform -label:area/extensions -label:area/documentation -label:area/unknown' --limit 200 --json number,title,body)"
|
||||
|
||||
echo '🔍 Finding issues missing kind labels...'
|
||||
NO_KIND_ISSUES="$(gh issue list --repo "${GITHUB_REPOSITORY}" \
|
||||
--search 'is:open is:issue -label:status/bot-triaged -label:kind/bug -label:kind/enhancement -label:kind/customer-issue -label:kind/question' --limit 100 --json number,title,body)"
|
||||
--search 'is:open is:issue -label:status/bot-triaged -label:kind/bug -label:kind/enhancement -label:kind/customer-issue -label:kind/question' --limit 200 --json number,title,body)"
|
||||
|
||||
echo '🏷️ Finding issues missing priority labels...'
|
||||
NO_PRIORITY_ISSUES="$(gh issue list --repo "${GITHUB_REPOSITORY}" \
|
||||
--search 'is:open is:issue -label:status/bot-triaged -label:priority/p0 -label:priority/p1 -label:priority/p2 -label:priority/p3 -label:priority/unknown' --limit 100 --json number,title,body)"
|
||||
--search 'is:open is:issue -label:status/bot-triaged -label:priority/p0 -label:priority/p1 -label:priority/p2 -label:priority/p3 -label:priority/unknown' --limit 200 --json number,title,body)"
|
||||
|
||||
echo '🔄 Merging and deduplicating issues...'
|
||||
ISSUES="$(echo "${NO_AREA_ISSUES}" "${NO_KIND_ISSUES}" "${NO_PRIORITY_ISSUES}" | jq -c -s 'add | unique_by(.number)')"
|
||||
|
||||
Reference in New Issue
Block a user