Skip to content

Conversation

@lkawka
Copy link
Member

@lkawka lkawka commented Nov 17, 2025

The new task/list method's specification dictates that tasks must be ordered by the last update time. However, the current data model lacks a direct way to determine when a task was last updated. To resolve this, a new field with last update time is being added to the Task message.

Addressing potential concerns:

  1. The timestamp field in the TaskStatus message already exists: There are two issues with this field:
    1. Not all task updates are necessarily status updates.
    2. The field is optional, which can lead to unstable ordering when sorting by this field alone.
  2. Backends can just incorporate this information into their internal data models: While true, including this in the public API offers significant advantages by allowing clients to readily access and display this value to users.

Fixes #1207

@lkawka lkawka requested a review from a team as a code owner November 17, 2025 15:47
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @lkawka, 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 enhances the Task data model by introducing a new update_time field. This addition is essential to fulfill the task/list method's requirement for ordering tasks by their last update, providing a dedicated and reliable timestamp for all task modifications, distinct from just status changes. The change is propagated across the gRPC protobuf definition, the JSON schema, and the TypeScript type definitions to ensure consistency and client accessibility.

Highlights

  • Task Message Update: Introduced an update_time field to the Task message in a2a.proto to track the last modification time, crucial for ordering tasks.
  • JSON Schema and TypeScript Updates: The updateTime field was added to the Task definition in a2a.json (as a required ISO 8601 string) and to the Task interface in types.ts to ensure consistency across all definitions.
  • Minor Formatting Adjustment: A small formatting change was applied to the ListTaskPushNotificationConfigParams interface in types/src/types.ts.
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.

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 introduces an update_time field to the Task message across the Protobuf, JSON, and TypeScript specifications. This change is well-justified by the need to order tasks by their last update time. The implementation is consistent and correct across all modified files. I have one minor suggestion to revert a purely stylistic change to keep the pull request focused on its primary goal. Otherwise, the changes look good.

lkawka and others added 3 commits November 17, 2025 16:53
@lkawka lkawka changed the title feat: Add update_time to Task feat: Add last update time to Task Nov 21, 2025
@darrelmiller
Copy link
Contributor

/vote

@git-vote
Copy link

git-vote bot commented Dec 1, 2025

Vote created

@darrelmiller has called for a vote on feat: Add last update time to Task`` (#1206).

The members of the following teams have binding votes:

Team
@a2aproject/a2a-tsc

Non-binding votes are also appreciated as a sign of support!

How to vote

You can cast your vote by reacting to this comment. The following reactions are supported:

In favor Against Abstain
👍 👎 👀

Please note that voting for multiple options is not allowed and those votes won't be counted.

The vote will be open for 7days. It will pass if at least 51% of the users with binding votes vote In favor 👍. Once it's closed, results will be published here as a new comment.

@amye amye added this to TSC Review Dec 2, 2025
@amye amye moved this to In Voting in TSC Review Dec 2, 2025
@git-vote
Copy link

git-vote bot commented Dec 2, 2025

Vote status

So far 12.50% of the users with binding vote are in favor and 0.00% are against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
1 0 0 7

Binding votes (1)

User Vote Timestamp
geneknit In favor 2025-12-02 17:59:29.0 +00:00:00
@muscariello Pending
@darrelmiller Pending
@lerhaupt Pending
@hughesthe1st Pending
@ToddSegal Pending
@000-000-000-000-000 Pending
@SivaNSAP Pending

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: In Voting

Development

Successfully merging this pull request may close these issues.

[Feat]: Add last update time to Task

2 participants