mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-07-08 00:57:16 -07:00
feat(repo): add clear_memory and enable_prs workflow inputs and update brain instructions
This commit is contained in:
@@ -44,6 +44,11 @@ jobs:
|
||||
env:
|
||||
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
||||
run: |
|
||||
if [ "${{ github.event.inputs.clear_memory }}" = "true" ]; then
|
||||
echo "Memory clear requested. Skipping previous state download."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Find the last successful run of this workflow
|
||||
LAST_RUN_ID=$(gh run list --workflow "${{ github.workflow }}" --status success --limit 1 --json databaseId --jq '.[0].databaseId')
|
||||
|
||||
@@ -73,6 +78,7 @@ jobs:
|
||||
GEMINI_API_KEY: '${{ secrets.GEMINI_API_KEY }}'
|
||||
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
|
||||
GEMINI_MODEL: 'gemini-3-flash-preview'
|
||||
ENABLE_PRS: '${{ github.event.inputs.enable_prs || 'false' }}'
|
||||
run: 'node bundle/gemini.js --policy tools/gemini-cli-bot/ci-policy.toml tools/gemini-cli-bot/brain/metrics.md'
|
||||
|
||||
- name: 'Stash Brain Outputs'
|
||||
@@ -112,3 +118,5 @@ jobs:
|
||||
name: 'brain-scripts'
|
||||
path: 'temp_outputs/reflexes/scripts/'
|
||||
retention-days: 90
|
||||
_outputs/reflexes/scripts/'
|
||||
retention-days: 90
|
||||
|
||||
@@ -14,79 +14,45 @@ repository health.
|
||||
`tools/gemini-cli-bot/history/metrics-before-prev.csv` and the current run's
|
||||
metrics.
|
||||
- Findings and state are recorded in `tools/gemini-cli-bot/lessons-learned.md`.
|
||||
- **Preservation Status**: Check the `ENABLE_PRS` environment variable. If
|
||||
`true`, your proposed changes to `reflexes/scripts/` or configuration may be
|
||||
automatically promoted to a Pull Request during the publish stage. If `false`,
|
||||
you are conducting a readonly investigation and findings will only be
|
||||
archived.
|
||||
|
||||
## Repo Policy Priorities
|
||||
|
||||
When analyzing data and proposing solutions, prioritize the following in order:
|
||||
|
||||
1. **Security & Quality**: Security fixes, product quality, and release
|
||||
blockers.
|
||||
2. **Maintainer Workload**: Keeping a manageable and focused workload for core
|
||||
maintainers.
|
||||
3. **Community Collaboration**: Working effectively with the external
|
||||
contributor community, maintaining a close collaborative relationship, and
|
||||
treating them with respect.
|
||||
... (rest of priorities) ...
|
||||
|
||||
## Instructions
|
||||
|
||||
### 1. Read & Identify Trends (Time-Series Analysis)
|
||||
|
||||
- Load and analyze `tools/gemini-cli-bot/history/metrics-timeseries.csv`.
|
||||
- Identify significant anomalies or deteriorating trends over time (e.g.,
|
||||
`latency_pr_overall_hours` steadily increasing, `open_issues` growing faster
|
||||
than closure rates, spikes in `review_distribution_variance`).
|
||||
... (rest of step 1) ...
|
||||
|
||||
### 2. Hypothesis Testing & Deep Dive
|
||||
|
||||
For each metric not meeting goals or showing a negative trend:
|
||||
|
||||
- **Develop Competing Hypotheses**: Brainstorm multiple potential root causes
|
||||
(e.g., "PR Latency is high because CI is flaky" vs. "PR Latency is high
|
||||
because reviewers are unresponsive").
|
||||
- **Gather Evidence**: Use your tools (e.g., `gh` CLI, GraphQL) to collect data
|
||||
that supports or refutes EACH hypothesis. You may write temporary local
|
||||
scripts to slice the data (e.g., checking issue labels, ages, or assignees).
|
||||
- **Select Root Cause**: Identify the hypothesis most strongly supported by the
|
||||
data.
|
||||
- **Prioritize Impact**: Always prioritize solving for verified hypotheses that
|
||||
have the largest impact (e.g., if 30 out of 500 PRs have merge conflicts,
|
||||
fixing merge conflicts is lower priority than addressing a bottleneck
|
||||
affecting 300 PRs).
|
||||
... (rest of step 2) ...
|
||||
|
||||
### 3. Maintainer Workload Assessment
|
||||
|
||||
Before blaming or proposing reflexes that rely on maintainer action (e.g., more
|
||||
triage, more reviews):
|
||||
|
||||
- **Quantify Capacity**: Assess the volume of open, unactioned work (untriaged
|
||||
issues, review requests) against the number of active maintainers.
|
||||
- If the ratio indicates overload, **do not propose solutions that simply
|
||||
generate more pings**. Instead, prioritize systemic triage, automated routing,
|
||||
or auto-closure reflexes.
|
||||
... (rest of step 3) ...
|
||||
|
||||
### 4. Actor-Aware Bottleneck Identification
|
||||
|
||||
Before proposing an intervention, accurately identify the blocker:
|
||||
|
||||
- **Waiting on Author**: Needs a polite nudge or closure grace period.
|
||||
- **Waiting on Maintainer**: Needs routing, aggregated reports, or escalation
|
||||
(do not nudge the author).
|
||||
- **Waiting on System (CI/Infra)**: Needs tooling fixes or reporting.
|
||||
... (rest of step 4) ...
|
||||
|
||||
### 5. Policy Critique & Evaluation
|
||||
|
||||
- **Review Existing Policies**: Examine the existing automation in
|
||||
`.github/workflows/` and scripts in `tools/gemini-cli-bot/reflexes/scripts/`.
|
||||
- **Analyze Effectiveness**: Based on your metrics analysis, determine if
|
||||
current policies are achieving their goals (e.g., Is triage reducing latency?
|
||||
Are stale issues closed as expected?).
|
||||
- **Identify Gaps**: Where is the automation failing? Are there manual tasks
|
||||
that should be automated?
|
||||
... (rest of step 5) ...
|
||||
|
||||
### 6. Record Findings & Propose Actions
|
||||
|
||||
- Document your formulated hypotheses, the evidence gathered, and your final
|
||||
conclusions in `tools/gemini-cli-bot/lessons-learned.md`.
|
||||
- **Memory Preservation**: When updating `lessons-learned.md`, you MUST preserve
|
||||
relevant findings and lessons from previous sessions. Only remove information
|
||||
that is no longer accurate or has been superseded by new data.
|
||||
- Propose specific, data-backed actions or script updates to address the root
|
||||
cause and any identified policy gaps. Ensure proposed actions align with the
|
||||
Repo Policy Priorities and include concepts like graceful closures and
|
||||
|
||||
Reference in New Issue
Block a user