Conversation
Add CodSpeed performance benchmarks
Summary of ChangesHello, 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 project's development infrastructure by introducing performance benchmarking capabilities and improving community engagement documentation. It integrates new tools for measuring JSON schema performance and provides clear guidelines for contributions, aiming to foster a more robust and collaborative development environment. Highlights
Changelog
|
There was a problem hiding this comment.
Code Review
This pull request introduces several documentation updates and adds benchmarking capabilities. The main changes are in the specification/json/a2a.json schema, where numerous new type definitions have been added. While the functionality seems to be for testing and benchmarking, the naming of these new definitions is a major concern. Many definitions use single-letter names (e.g., 'B', 'L', 'S'), or names that look like TypeScript generics (e.g., 'a', 'Partial<Record<keyofb,N>>'), which severely hurts the readability and maintainability of the schema. I've added specific comments with suggestions for renaming these definitions to be more descriptive. Additionally, there is a duplicated definition ('a' and 'a_1') that should be consolidated.
| ], | ||
| "type": "string" | ||
| }, | ||
| "U": { |
| ], | ||
| "type": "object" | ||
| }, | ||
| "T": { |
| } | ||
| ] | ||
| }, | ||
| "m": { |
| ], | ||
| "type": "object" | ||
| }, | ||
| "e": { |
| ], | ||
| "type": "object" | ||
| }, | ||
| "c": { |
| "required": [ | ||
| "originalPath", | ||
| "path" | ||
| ], |
There was a problem hiding this comment.
The contentType property is defined for FailureScreenshotArtifactAttachment but is not listed in the required array. It seems like this should be a required field to properly interpret the attachment. Please consider adding it to the required array.
| "required": [ | |
| "originalPath", | |
| "path" | |
| ], | |
| "required": [ | |
| "contentType", | |
| "originalPath", | |
| "path" | |
| ], |
| "median": { | ||
| "type": "integer" |
There was a problem hiding this comment.
| "enum": [ | ||
| "actual", | ||
| "diff", | ||
| "reference" | ||
| ], |
There was a problem hiding this comment.
The enum values for the name property should be in SCREAMING_SNAKE_CASE to follow the project's convention.
| "enum": [ | |
| "actual", | |
| "diff", | |
| "reference" | |
| ], | |
| "enum": [ | |
| "ACTUAL", | |
| "DIFF", | |
| "REFERENCE" | |
| ], |
References
- Enum values in the A2A protocol should be in
SCREAMING_SNAKE_CASEto comply with the ProtoJSON specification.
| "enum": [ | ||
| "stderr", | ||
| "stdout" | ||
| ], |
There was a problem hiding this comment.
The enum values for the type property should be in SCREAMING_SNAKE_CASE to follow the project's convention.
| "enum": [ | |
| "stderr", | |
| "stdout" | |
| ], | |
| "enum": [ | |
| "STDERR", | |
| "STDOUT" | |
| ], |
References
- Enum values in the A2A protocol should be in
SCREAMING_SNAKE_CASEto comply with the ProtoJSON specification.
| "enum": [ | ||
| "fail", | ||
| "only", | ||
| "pass", | ||
| "queued", | ||
| "run", | ||
| "skip", | ||
| "todo" | ||
| ], |
There was a problem hiding this comment.
The enum values in TaskState should be in SCREAMING_SNAKE_CASE to follow the project's convention.
| "enum": [ | |
| "fail", | |
| "only", | |
| "pass", | |
| "queued", | |
| "run", | |
| "skip", | |
| "todo" | |
| ], | |
| "enum": [ | |
| "FAIL", | |
| "ONLY", | |
| "PASS", | |
| "QUEUED", | |
| "RUN", | |
| "SKIP", | |
| "TODO" | |
| ], |
References
- Enum values in the A2A protocol should be in
SCREAMING_SNAKE_CASEto comply with the ProtoJSON specification.
|
Hey @jozrftamson this PR is a bit confusing to me. Can you clarify the intent and perhaps reduce the scope? What exactly are you trying to change and why? |
No description provided.