Improve AI release notes generation for OpenSearch#6055
Improve AI release notes generation for OpenSearch#6055gaiksaya merged 1 commit intoopensearch-project:mainfrom
Conversation
|
Failed to generate code suggestions for PR |
14ebe61 to
8257f38
Compare
|
Failed to generate code suggestions for PR |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6055 +/- ##
==========================================
+ Coverage 96.58% 96.61% +0.02%
==========================================
Files 405 405
Lines 18758 18851 +93
==========================================
+ Hits 18118 18212 +94
+ Misses 640 639 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
8257f38 to
0409941
Compare
|
Failed to generate code suggestions for PR |
0409941 to
eb682cd
Compare
PR Code Analyzer ❗AI-powered 'Code-Diff-Analyzer' found issues on commit 0d5720e.
The table above displays the top 10 most important findings. Pull Requests Author(s): Please update your Pull Request according to the report above. Repository Maintainer(s): You can Thanks. |
|
Failed to generate code suggestions for PR |
gaiksaya
left a comment
There was a problem hiding this comment.
Looks good overall with minor comments. If this works for opensearch maybe we can extend to other components as well.
Adding @rishabh6788 for another review.
| * "breaking change" or "breaking" → Breaking Changes | ||
| * "feature" or "feat" → Features | ||
| * "enhancement" or "improve" → Enhancements | ||
| * "bug" or "fix" or "bugfix" → Bug Fixes | ||
| * "maintenance" or "version" or "support" → Maintenance |
There was a problem hiding this comment.
The categories also include infrastructure and documentation changes as per guidelines.
https://github.com/opensearch-project/opensearch-plugins/blob/main/RELEASE_NOTES.md#categories
I agree they do no provide any value. @peterzhuamazon maybe we also need to exclude them from consolidated ones.
| - Example: `([#456](https://github.com/opensearch-project/OpenSearch/pull/456))` | ||
|
|
||
| 6. **Important Notes:** | ||
| - If you cannot determine the appropriate category from labels OR content analysis, place the entry in "Maintenance" |
There was a problem hiding this comment.
In the consolidation workflow where we combine all non-core components' release notes into one, we place the uncategorized data in non-compliant section? Would doing the same here avoid confusing between actual maintenance?
There was a problem hiding this comment.
That's probably a good idea.
The reason I hesitated is that anytime the LLM creates an "unknown" or "non-compliant" section it means manual work will be required. Probably not the end of the world if it truly has no idea how to categorize.
eb682cd to
2bc6cd2
Compare
|
Failed to generate code suggestions for PR |
2bc6cd2 to
0d5720e
Compare
|
Failed to generate code suggestions for PR |
| * Maintenance: Routine upkeep such as dependency updates that ship in the distribution. | ||
| - Do not use "Infrastructure", "Documentation", or "Refactoring" as categories. Changes that would | ||
| belong to those categories should have been excluded by the filtering step. If a PR survived filtering | ||
| but does not fit any of the above categories, place it in "Maintenance". |
There was a problem hiding this comment.
| but does not fit any of the above categories, place it in "Maintenance". | |
| but does not fit any of the above categories, place it in "Unknown". |
There was a problem hiding this comment.
Actually I think I should strike the last sentence. I find it confusing given the instruction at the end.
- Fetch PR body from GitHub API and include it (truncated to 2000 chars) in the commit data sent to the LLM for better categorization and filtering decisions. - Add OpenSearch-specific prompt that filters non-user-facing changes (test additions, CI action bumps, test fixture deps, internal refactoring, release machinery) before categorization. Removes Infrastructure/Documentation/Refactoring categories that contradicted the exclusion policy. Only Breaking Changes, Features, Enhancements, Bug Fixes, and Maintenance categories are used. - Add borderline calls section: the LLM appends an HTML comment documenting debatable inclusion/exclusion/categorization decisions. This is extracted from the LLM output and written to a separate -borderline.md file. - Update Jenkinsfile to include borderline calls in the PR description when creating or updating release notes PRs. Also fix the existing PR path to update the PR body via gh pr edit. Signed-off-by: Andrew Ross <andrross@amazon.com>
0d5720e to
22600f1
Compare
PR Reviewer Guide 🔍Here are some key observations to aid the review process:
|
PR Code Suggestions ✨Explore these optional code suggestions:
|
Fetch PR body from GitHub API and include it (truncated to 2000 chars) in the commit data sent to the LLM for better categorization and filtering decisions.
Add OpenSearch-specific prompt that filters non-user-facing changes (test additions, CI action bumps, test fixture deps, internal refactoring, release machinery) before categorization. Removes Infrastructure/Documentation/Refactoring categories that contradicted the exclusion policy. Only Breaking Changes, Features, Enhancements, Bug Fixes, and Maintenance categories are used.
Add borderline calls section: the LLM appends an HTML comment documenting debatable inclusion/exclusion/categorization decisions. This is extracted from the LLM output and written to a separate -borderline.md file.
Update Jenkinsfile to include borderline calls in the PR description when creating or updating release notes PRs. Also fix the existing PR path to update the PR body via gh pr edit.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.