Skip to content

Fix posting invalid response to a comment#26266

Merged
gundermanc merged 2 commits intomainfrom
gundermanc/fix-bot
Apr 30, 2026
Merged

Fix posting invalid response to a comment#26266
gundermanc merged 2 commits intomainfrom
gundermanc/fix-bot

Conversation

@gundermanc
Copy link
Copy Markdown
Member

Summary

Fixes an issue where the repo agent posts the wrong comment in response to being @ mentioned. Also provides a generic error message if the agent chooses not to reply.

@gundermanc gundermanc marked this pull request as ready for review April 30, 2026 16:35
@gundermanc gundermanc requested review from a team as code owners April 30, 2026 16:35
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request updates the operational documentation for the repository agent to enforce the correct usage of file-writing tools. By clarifying these protocols, the changes ensure that the agent consistently generates the necessary files for posting comments and handling tasks, thereby resolving issues where the bot might otherwise fail to communicate or post incorrect information.

Highlights

  • Tool Usage Clarification: Updated documentation to explicitly require the use of the write_file tool when interacting with bot-related files, ensuring consistent workflow execution.
  • Workflow Enforcement: Added strict instructions to prevent console-only output, mandating that responses be saved to issue-comment.md to ensure the bot correctly posts comments.
Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/gemini-cli-bot-brain.yml
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gundermanc gundermanc changed the title Gundermanc/fix bot Fix posting invalid response to a comment Apr 30, 2026
@github-actions
Copy link
Copy Markdown

Size Change: -4 B (0%)

Total Size: 33.9 MB

Filename Size Change
./bundle/chunk-7FXC36TH.js 0 B -3.43 kB (removed) 🏆
./bundle/chunk-BWV3CGS2.js 0 B -19.5 kB (removed) 🏆
./bundle/chunk-HQ2BNR2A.js 0 B -12.6 kB (removed) 🏆
./bundle/chunk-L5S7SMIL.js 0 B -2.72 MB (removed) 🏆
./bundle/chunk-NQJDCJAK.js 0 B -3.8 kB (removed) 🏆
./bundle/chunk-P7UOP2CB.js 0 B -14.7 MB (removed) 🏆
./bundle/chunk-QW2RJHD7.js 0 B -49.2 kB (removed) 🏆
./bundle/chunk-WCDXTSYE.js 0 B -655 kB (removed) 🏆
./bundle/core-F76P3CYN.js 0 B -48.2 kB (removed) 🏆
./bundle/devtoolsService-325LDILM.js 0 B -28 kB (removed) 🏆
./bundle/gemini-VVWQP7J3.js 0 B -580 kB (removed) 🏆
./bundle/interactiveCli-XP3M34EH.js 0 B -1.31 MB (removed) 🏆
./bundle/liteRtServerManager-NWL62OOM.js 0 B -2.11 kB (removed) 🏆
./bundle/oauth2-provider-N6WBYKWL.js 0 B -9.16 kB (removed) 🏆
./bundle/chunk-6X6PHWBL.js 49.2 kB +49.2 kB (new file) 🆕
./bundle/chunk-6ZUWJPTD.js 3.43 kB +3.43 kB (new file) 🆕
./bundle/chunk-ENDZ3XVG.js 14.7 MB +14.7 MB (new file) 🆕
./bundle/chunk-G6SOXXAX.js 12.6 kB +12.6 kB (new file) 🆕
./bundle/chunk-JRX7CTHG.js 655 kB +655 kB (new file) 🆕
./bundle/chunk-OIEAMF7D.js 19.5 kB +19.5 kB (new file) 🆕
./bundle/chunk-QUZVP6TW.js 3.8 kB +3.8 kB (new file) 🆕
./bundle/chunk-VQDUBWIN.js 2.72 MB +2.72 MB (new file) 🆕
./bundle/core-YWZWS4QL.js 48.2 kB +48.2 kB (new file) 🆕
./bundle/devtoolsService-2EKNHUTC.js 28 kB +28 kB (new file) 🆕
./bundle/gemini-KU2KRWJX.js 580 kB +580 kB (new file) 🆕
./bundle/interactiveCli-K62XJOO7.js 1.31 MB +1.31 MB (new file) 🆕
./bundle/liteRtServerManager-B7NIR2C6.js 2.11 kB +2.11 kB (new file) 🆕
./bundle/oauth2-provider-5VN4DQZN.js 9.16 kB +9.16 kB (new file) 🆕
ℹ️ View Unchanged
Filename Size Change
./bundle/bundled/third_party/index.js 8 MB 0 B
./bundle/chunk-34MYV7JD.js 2.45 kB 0 B
./bundle/chunk-5AUYMPVF.js 858 B 0 B
./bundle/chunk-5PS3AYFU.js 1.18 kB 0 B
./bundle/chunk-664ZODQF.js 124 kB 0 B
./bundle/chunk-DAHVX5MI.js 206 kB 0 B
./bundle/chunk-IUUIT4SU.js 56.5 kB 0 B
./bundle/chunk-RJTRUG2J.js 39.8 kB 0 B
./bundle/chunk-XRLFHCHC.js 1.97 MB 0 B
./bundle/cleanup-FAXUYKKI.js 0 B -932 B (removed) 🏆
./bundle/devtools-36NN55EP.js 696 kB 0 B
./bundle/dist-T73EYRDX.js 356 B 0 B
./bundle/events-XB7DADIJ.js 418 B 0 B
./bundle/examples/hooks/scripts/on-start.js 188 B 0 B
./bundle/examples/mcp-server/example.js 1.43 kB 0 B
./bundle/gemini.js 5.1 kB 0 B
./bundle/getMachineId-bsd-TXG52NKR.js 1.55 kB 0 B
./bundle/getMachineId-darwin-7OE4DDZ6.js 1.55 kB 0 B
./bundle/getMachineId-linux-SHIFKOOX.js 1.34 kB 0 B
./bundle/getMachineId-unsupported-5U5DOEYY.js 1.06 kB 0 B
./bundle/getMachineId-win-6KLLGOI4.js 1.72 kB 0 B
./bundle/memoryDiscovery-FN3IAPBT.js 980 B 0 B
./bundle/multipart-parser-KPBZEGQU.js 11.7 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/client/main.js 222 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/_client-assets.js 229 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/index.js 13.4 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/types.js 132 B 0 B
./bundle/sandbox-macos-permissive-open.sb 890 B 0 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB 0 B
./bundle/sandbox-macos-strict-open.sb 4.82 kB 0 B
./bundle/sandbox-macos-strict-proxied.sb 5.02 kB 0 B
./bundle/src-QVCVGIUX.js 47 kB 0 B
./bundle/start-PCSSMGDB.js 0 B -652 B (removed) 🏆
./bundle/tree-sitter-7U6MW5PS.js 274 kB 0 B
./bundle/tree-sitter-bash-34ZGLXVX.js 1.84 MB 0 B
./bundle/cleanup-R24HDM2K.js 932 B +932 B (new file) 🆕
./bundle/start-LXMVME5B.js 652 B +652 B (new file) 🆕

compressed-size-action

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the bot's operational instructions in common.md and interactive.md to explicitly mandate the use of the write_file tool for creating metadata and communication files like pr-description.md and issue-comment.md. The review feedback recommends further clarifying these instructions by using 'MUST' directives and explicitly forbidding console output to ensure the workflow correctly captures the bot's responses. Additionally, a suggestion was made to instruct the bot to terminate its process after informing a user that a request is obsolete or requires no action, preventing unintended subsequent operations.

Note: Security Review has been skipped due to the limited scope of the PR.

Comment on lines +33 to +34
addressed or obsolete, inform them by using the `write_file` tool to save a
message to `issue-comment.md`.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The prompt instructs the agent to inform the user if a request is obsolete, but it lacks a directive to terminate the process. Without this, the agent may continue to the analysis and implementation phases, potentially overwriting the 'obsolete' message or performing unintended actions. Additionally, incorporating a generic message here fulfills the goal mentioned in the PR description regarding cases where the agent chooses not to reply.

Suggested change
addressed or obsolete, inform them by using the `write_file` tool to save a
message to `issue-comment.md`.
addressed or obsolete, or if you determine that no action is needed, inform
them by using the write_file tool to save a message to issue-comment.md
(e.g., "I've investigated your request but determined that no changes are
necessary at this time.") and do not proceed with further analysis or
changes.

Comment on lines +58 to +60
- **Acknowledgment**: Use the `write_file` tool to write a brief acknowledgement
to `issue-comment.md` (e.g., "I've investigated the request and implemented a
fix. A PR will be created shortly.").
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

To ensure the bot correctly posts the acknowledgement and avoids the "wrong comment" issue mentioned in the PR, this instruction should be as explicit as the one in the Q&A section. Adding a "MUST" and a warning against console output will help enforce the correct tool usage.

Suggested change
- **Acknowledgment**: Use the `write_file` tool to write a brief acknowledgement
to `issue-comment.md` (e.g., "I've investigated the request and implemented a
fix. A PR will be created shortly.").
- Acknowledgment: You MUST use the write_file tool to write a brief
acknowledgement to issue-comment.md (e.g., "I've investigated the request
and implemented a fix. A PR will be created shortly."). DO NOT simply output
your response to the console.

Comment on lines +103 to +104
3. **Acknowledgment**: If invoked by a comment, use the `write_file` tool to
save a brief acknowledgement to `issue-comment.md`.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Similar to the interactive brain, the common rules should explicitly forbid console output for acknowledgements to ensure they are correctly captured by the workflow. This maintains consistency across different brain configurations.

Suggested change
3. **Acknowledgment**: If invoked by a comment, use the `write_file` tool to
save a brief acknowledgement to `issue-comment.md`.
3. Acknowledgment: If invoked by a comment, you MUST use the write_file
tool to save a brief acknowledgement to issue-comment.md. DO NOT simply
output your response to the console.
References
  1. Maintain consistency in documentation. When information about a feature is present in multiple documents, ensure all instances are updated or removed together to avoid contradictions.

@gemini-cli gemini-cli Bot added the status/need-issue Pull requests that need to have an associated issue. label Apr 30, 2026
@gundermanc gundermanc enabled auto-merge April 30, 2026 17:59
@gundermanc
Copy link
Copy Markdown
Member Author

@gemini-cli running test for PR #26266 workflow changes

@gemini-cli
Copy link
Copy Markdown
Contributor

gemini-cli Bot commented Apr 30, 2026

Hello @gundermanc! I've investigated the changes in PR #26266 and confirmed that they correctly address the issue where the bot could post a stale comment from a previous session.

Findings:

  1. Selective Restore: The change to download artifacts to a temporary directory and selectively restore only lessons-learned.md and metrics history is exactly what's needed to preserve my long-term memory while discarding transient outputs like issue-comment.md.
  2. Fallback Handling: The new logic in brain.yml to generate a fallback error message ensures that I won't stay silent if I encounter a failure, which is a great UX improvement.
  3. Instruction Clarity: The updates to interactive.md and common.md provide clear guidance for future bot runs to ensure they use the correct tools for output.

Regarding your mention of .github/workflows/gemini-cli-bot-pulse.yml: I've reviewed that workflow as well. Since it currently does not download or upload any artifacts, it is not affected by this state-leakage issue. It remains a stateless reflex layer as intended.

The changes look solid and ready for merge! 🚀

@gundermanc gundermanc added this pull request to the merge queue Apr 30, 2026
Merged via the queue into main with commit 0af1314 Apr 30, 2026
33 checks passed
@gundermanc gundermanc deleted the gundermanc/fix-bot branch April 30, 2026 18:36
TirthNaik-99 pushed a commit to TirthNaik-99/gemini-cli that referenced this pull request May 4, 2026
kimjune01 pushed a commit to kimjune01/gemini-cli-claude that referenced this pull request May 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status/need-issue Pull requests that need to have an associated issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants