Skip to content

refactor(spec)!: Combine TaskPushNotificationConfig and PushNotificationConfig#1500

Merged
herczyn merged 5 commits intoa2aproject:mainfrom
herczyn:main
Mar 3, 2026
Merged

refactor(spec)!: Combine TaskPushNotificationConfig and PushNotificationConfig#1500
herczyn merged 5 commits intoa2aproject:mainfrom
herczyn:main

Conversation

@herczyn
Copy link
Member

@herczyn herczyn commented Feb 18, 2026

this PR:

  • removes CreateTaskPushNotificationConfigRequest and replace it with TaskPushNotificationConfig (same fields).
  • flattend TaskPushNotificationConfig and PushNotificationConfig removing the latter
  • puts TaskPushNotificationConfig in SendMessageConfig instead of the removed PushNotificationConfig

why: more readable structure, with less messages but with the same possibilities

Release-As: 1.0.0

@herczyn herczyn requested a review from a team as a code owner February 18, 2026 08:23
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @herczyn, 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 refactors the protobuf definitions related to push notification configurations to enhance readability and reduce message complexity. By consolidating related fields and removing redundant request messages, the changes aim to provide a more straightforward and flattened structure for managing task-specific push notifications, while maintaining the same functional capabilities.

Highlights

  • API Request Simplification: The CreateTaskPushNotificationConfigRequest message has been removed and its functionality merged directly into TaskPushNotificationConfig, simplifying the API for creating push notification configurations.
  • Configuration Message Flattening: The PushNotificationConfig message has been eliminated, and its fields have been directly integrated into TaskPushNotificationConfig, reducing message nesting and improving clarity.
  • Updated Message Configuration: The SendMessageConfiguration now directly references TaskPushNotificationConfig instead of the removed PushNotificationConfig, streamlining the structure for sending messages with push notification settings.
Changelog
  • specification/a2a.proto
    • Updated the CreateTaskPushNotificationConfig RPC method to directly accept TaskPushNotificationConfig as its request parameter.
    • Replaced the push_notification_config field with task_push_notification_config in the SendMessageConfiguration message.
    • Removed the PushNotificationConfig message definition.
    • Flattened the TaskPushNotificationConfig message by embedding the fields previously contained within PushNotificationConfig directly into it.
    • Deleted the CreateTaskPushNotificationConfigRequest message definition.
Activity
  • No human activity has occurred on this pull request yet.
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 refactors the push notification configuration messages to simplify the structure by removing PushNotificationConfig and CreateTaskPushNotificationConfigRequest. While the goal of simplification is good, the changes have introduced some critical inconsistencies in the CreateTaskPushNotificationConfig RPC definition and a problematic REQUIRED constraint on the task_id field. My review includes suggestions to fix these issues to ensure the protocol definition is valid and consistent.

Copy link
Contributor

@Tehsmash Tehsmash left a comment

Choose a reason for hiding this comment

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

LGTM, but its hitting an AIP linter issue. We do have the correct comment in place for ignoring AIP-133 but it doesn't seem to be applying it properly maybe because the extra comment line inbetween?

@holtskinner holtskinner changed the title fix(spec)!: Clean up TaskPushNotificationConfig and PushNotificationConfig. refactor(spec)!: Combine TaskPushNotificationConfig and PushNotificationConfig Feb 18, 2026
@holtskinner
Copy link
Member

@gemini-code-assist review

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 refactors the A2A protocol by combining TaskPushNotificationConfig and PushNotificationConfig messages, and removing CreateTaskPushNotificationConfigRequest. This simplifies the API structure and improves readability as described in the PR description. The changes are generally well-aligned with the stated objective, with one comment modified to include a check against authentication best practices.

@herczyn herczyn added the TSC Review To be reviewed by the Technical Steering Committee label Feb 18, 2026
@github-project-automation github-project-automation bot moved this to Backlog in TSC Review Feb 18, 2026
@herczyn
Copy link
Member Author

herczyn commented Feb 18, 2026

/vote

@git-vote
Copy link

git-vote bot commented Feb 18, 2026

Vote created

@herczyn has called for a vote on refactor(spec)!: Combine TaskPushNotificationConfigandPushNotificationConfig`` (#1500).

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 11months 29days 3h 50m 24s. 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
Copy link
Contributor

amye commented Feb 19, 2026

@a2aproject/a2a-tsc - ping for review

@git-vote
Copy link

git-vote bot commented Feb 19, 2026

Vote status

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

Summary

In favor Against Abstain Not voted
0 0 0 7

Binding votes (0)

User Vote Timestamp
@muscariello Pending
@darrelmiller Pending
@geneknit Pending
@hughesthe1st Pending
@ToddSegal Pending
@SivaNSAP Pending
@spetschulatSFDC Pending

Non-binding votes (1)

User Vote Timestamp
herczyn In favor 2026-02-18 16:03:56.0 +00:00:00

1 similar comment
@git-vote
Copy link

git-vote bot commented Feb 20, 2026

Vote status

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

Summary

In favor Against Abstain Not voted
0 0 0 7

Binding votes (0)

User Vote Timestamp
@muscariello Pending
@darrelmiller Pending
@geneknit Pending
@hughesthe1st Pending
@ToddSegal Pending
@SivaNSAP Pending
@spetschulatSFDC Pending

Non-binding votes (1)

User Vote Timestamp
herczyn In favor 2026-02-18 16:03:56.0 +00:00:00

@git-vote
Copy link

git-vote bot commented Feb 21, 2026

Vote status

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

Summary

In favor Against Abstain Not voted
0 0 0 7

Binding votes (0)

User Vote Timestamp
@muscariello Pending
@darrelmiller Pending
@geneknit Pending
@hughesthe1st Pending
@ToddSegal Pending
@SivaNSAP Pending
@spetschulatSFDC Pending

Non-binding votes (2)

User Vote Timestamp
herczyn In favor 2026-02-18 16:03:56.0 +00:00:00
holtskinner In favor 2026-02-20 17:08:51.0 +00:00:00

@git-vote
Copy link

git-vote bot commented Feb 22, 2026

Vote status

So far 14.29% 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 6

Binding votes (1)

User Vote Timestamp
muscariello In favor 2026-02-21 22:31:04.0 +00:00:00
@darrelmiller Pending
@geneknit Pending
@hughesthe1st Pending
@ToddSegal Pending
@SivaNSAP Pending
@spetschulatSFDC Pending

Non-binding votes (2)

User Vote Timestamp
herczyn In favor 2026-02-18 16:03:56.0 +00:00:00
holtskinner In favor 2026-02-20 17:08:51.0 +00:00:00

1 similar comment
@git-vote
Copy link

git-vote bot commented Feb 23, 2026

Vote status

So far 14.29% 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 6

Binding votes (1)

User Vote Timestamp
muscariello In favor 2026-02-21 22:31:04.0 +00:00:00
@darrelmiller Pending
@geneknit Pending
@hughesthe1st Pending
@ToddSegal Pending
@SivaNSAP Pending
@spetschulatSFDC Pending

Non-binding votes (2)

User Vote Timestamp
herczyn In favor 2026-02-18 16:03:56.0 +00:00:00
holtskinner In favor 2026-02-20 17:08:51.0 +00:00:00

@darrelmiller
Copy link
Contributor

I'm for this change in principle, I just want to get clarity on the issue around the "required" for taskId

@git-vote
Copy link

git-vote bot commented Feb 24, 2026

Vote status

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

Summary

In favor Against Abstain Not voted
3 0 0 4

Binding votes (3)

User Vote Timestamp
darrelmiller In favor 2026-02-24 17:04:56.0 +00:00:00
muscariello In favor 2026-02-21 22:31:04.0 +00:00:00
spetschulatSFDC In favor 2026-02-24 17:05:10.0 +00:00:00
@geneknit Pending
@hughesthe1st Pending
@ToddSegal Pending
@SivaNSAP Pending

Non-binding votes (2)

User Vote Timestamp
herczyn In favor 2026-02-18 16:03:56.0 +00:00:00
holtskinner In favor 2026-02-20 17:08:51.0 +00:00:00

1 similar comment
@git-vote
Copy link

git-vote bot commented Feb 25, 2026

Vote status

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

Summary

In favor Against Abstain Not voted
3 0 0 4

Binding votes (3)

User Vote Timestamp
darrelmiller In favor 2026-02-24 17:04:56.0 +00:00:00
muscariello In favor 2026-02-21 22:31:04.0 +00:00:00
spetschulatSFDC In favor 2026-02-24 17:05:10.0 +00:00:00
@geneknit Pending
@hughesthe1st Pending
@ToddSegal Pending
@SivaNSAP Pending

Non-binding votes (2)

User Vote Timestamp
herczyn In favor 2026-02-18 16:03:56.0 +00:00:00
holtskinner In favor 2026-02-20 17:08:51.0 +00:00:00

@git-vote
Copy link

git-vote bot commented Feb 26, 2026

Vote status

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

Summary

In favor Against Abstain Not voted
3 0 0 4

Binding votes (3)

User Vote Timestamp
darrelmiller In favor 2026-02-24 17:04:56.0 +00:00:00
muscariello In favor 2026-02-21 22:31:04.0 +00:00:00
spetschulatSFDC In favor 2026-02-24 17:05:10.0 +00:00:00
@geneknit Pending
@hughesthe1st Pending
@ToddSegal Pending
@SivaNSAP Pending

Non-binding votes (2)

User Vote Timestamp
herczyn In favor 2026-02-18 16:03:56.0 +00:00:00
holtskinner In favor 2026-02-20 17:08:51.0 +00:00:00

4 similar comments
@git-vote
Copy link

git-vote bot commented Feb 27, 2026

Vote status

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

Summary

In favor Against Abstain Not voted
3 0 0 4

Binding votes (3)

User Vote Timestamp
darrelmiller In favor 2026-02-24 17:04:56.0 +00:00:00
muscariello In favor 2026-02-21 22:31:04.0 +00:00:00
spetschulatSFDC In favor 2026-02-24 17:05:10.0 +00:00:00
@geneknit Pending
@hughesthe1st Pending
@ToddSegal Pending
@SivaNSAP Pending

Non-binding votes (2)

User Vote Timestamp
herczyn In favor 2026-02-18 16:03:56.0 +00:00:00
holtskinner In favor 2026-02-20 17:08:51.0 +00:00:00

@git-vote
Copy link

git-vote bot commented Feb 28, 2026

Vote status

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

Summary

In favor Against Abstain Not voted
3 0 0 4

Binding votes (3)

User Vote Timestamp
darrelmiller In favor 2026-02-24 17:04:56.0 +00:00:00
muscariello In favor 2026-02-21 22:31:04.0 +00:00:00
spetschulatSFDC In favor 2026-02-24 17:05:10.0 +00:00:00
@geneknit Pending
@hughesthe1st Pending
@ToddSegal Pending
@SivaNSAP Pending

Non-binding votes (2)

User Vote Timestamp
herczyn In favor 2026-02-18 16:03:56.0 +00:00:00
holtskinner In favor 2026-02-20 17:08:51.0 +00:00:00

@git-vote
Copy link

git-vote bot commented Mar 1, 2026

Vote status

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

Summary

In favor Against Abstain Not voted
3 0 0 4

Binding votes (3)

User Vote Timestamp
darrelmiller In favor 2026-02-24 17:04:56.0 +00:00:00
muscariello In favor 2026-02-21 22:31:04.0 +00:00:00
spetschulatSFDC In favor 2026-02-24 17:05:10.0 +00:00:00
@geneknit Pending
@hughesthe1st Pending
@ToddSegal Pending
@SivaNSAP Pending

Non-binding votes (2)

User Vote Timestamp
herczyn In favor 2026-02-18 16:03:56.0 +00:00:00
holtskinner In favor 2026-02-20 17:08:51.0 +00:00:00

@git-vote
Copy link

git-vote bot commented Mar 2, 2026

Vote status

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

Summary

In favor Against Abstain Not voted
3 0 0 4

Binding votes (3)

User Vote Timestamp
darrelmiller In favor 2026-02-24 17:04:56.0 +00:00:00
muscariello In favor 2026-02-21 22:31:04.0 +00:00:00
spetschulatSFDC In favor 2026-02-24 17:05:10.0 +00:00:00
@geneknit Pending
@hughesthe1st Pending
@ToddSegal Pending
@SivaNSAP Pending

Non-binding votes (2)

User Vote Timestamp
herczyn In favor 2026-02-18 16:03:56.0 +00:00:00
holtskinner In favor 2026-02-20 17:08:51.0 +00:00:00

@git-vote
Copy link

git-vote bot commented Mar 3, 2026

Vote closed

The vote passed! 🎉

57.14% of the users with binding vote were in favor and 0.00% were against (passing threshold: 51%).

Summary

In favor Against Abstain Not voted
4 0 0 3

Binding votes (4)

User Vote Timestamp
@ToddSegal In favor 2026-03-02 21:50:39.0 +00:00:00
@darrelmiller In favor 2026-02-24 17:04:56.0 +00:00:00
@muscariello In favor 2026-02-21 22:31:04.0 +00:00:00
@spetschulatSFDC In favor 2026-02-24 17:05:10.0 +00:00:00

Non-binding votes (2)

User Vote Timestamp
@herczyn In favor 2026-02-18 16:03:56.0 +00:00:00
@holtskinner In favor 2026-02-20 17:08:51.0 +00:00:00

@herczyn herczyn merged commit d1ed0da into a2aproject:main Mar 3, 2026
7 checks passed
@github-project-automation github-project-automation bot moved this from Backlog to Done in TSC Review Mar 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gitvote/closed gitvote/passed gitvote no-issue TSC Review To be reviewed by the Technical Steering Committee

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

5 participants