🤖 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:
gemini-cli[bot]
2026-05-05 03:18:02 +00:00
parent ec786aeaa8
commit b95cadcc14
2 changed files with 4 additions and 4 deletions
+1 -1
View File
@@ -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)')"