Skip to content

Conversation

@https-sam
Copy link

Please ensure you have read the contribution guide before creating a pull request.

Link to Issue or Description of Change

1. Link to an existing issue (if applicable):

2. Or, if no issue exists, describe the change:

If applicable, please follow the issue templates to provide as much detail as
possible.

Problem:
Compaction runs a separate LLM call to summarize events, but the resulting
compaction event did not carry usage_metadata, so token usage for compaction
was lost in session analytics.

Solution:
Capture the summarizer LLM response usage_metadata and attach it to the
compaction Event so it is persisted and queryable like other LLM usage.

Testing Plan

Please describe the tests that you ran to verify your changes. This is required
for all PRs that are not small documentation or typo fixes.

Unit Tests:

  • I have added or updated unit tests for my change.
  • All unit tests pass locally.

Please include a summary of passed pytest results.

  • .venv/bin/python -m pytest tests/unittests/apps/test_llm_event_summarizer.py
  • 5 passed

Manual End-to-End (E2E) Tests:

N/A

Checklist

  • I have read the CONTRIBUTING.md document.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.
  • I have manually tested my changes end-to-end.
  • Any dependent changes have been merged and published in downstream modules.

Additional context

As a potential enhancement, we could tag compaction events in custom_metadata like usage_kind=compaction so analytics can easily include/exclude summarization cost without inspecting actions.compaction.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @https-sam, 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 addresses a gap in session analytics by ensuring that token usage from LLM calls made during event compaction is no longer lost. By capturing and attaching usage_metadata to compaction events, the system can now accurately track the costs associated with summarization processes, providing a more comprehensive view of LLM usage within user sessions.

Highlights

  • Usage Metadata Capture: Introduced a mechanism to capture usage_metadata from LLM responses during the event compaction process.
  • Event Enrichment: Attached the captured usage_metadata directly to the generated compaction Event objects, ensuring this data is persisted.
  • Unit Testing: Added a new unit test (test_maybe_compact_events_includes_usage_metadata) to verify that usage_metadata is correctly propagated and stored with compacted events.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

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.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

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.

@adk-bot adk-bot added the core [Component] This issue is related to the core interface and implementation label Dec 26, 2025
Copy link
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 successfully adds tracking for token usage during compaction events by capturing usage_metadata and attaching it to the resulting Event. The implementation is straightforward and includes a new unit test to verify the functionality. I've included one suggestion to make the logic for capturing the metadata more robust against potential edge cases.

…adata in the same if branch

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@ryanaiagent ryanaiagent self-assigned this Dec 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core [Component] This issue is related to the core interface and implementation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG]: Event Compaction event doesn't have token usage metadata.

3 participants