From 4a1b042152036ad2fd93e9415492eecea8c3bb8b Mon Sep 17 00:00:00 2001 From: mrT23 Date: Tue, 31 Dec 2024 12:00:21 +0200 Subject: [PATCH] fix: improve bullet point formatting and file path display in PR description --- pr_agent/algo/pr_processing.py | 3 ++- pr_agent/settings/pr_description_prompts.toml | 2 +- pr_agent/tools/pr_description.py | 5 +++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pr_agent/algo/pr_processing.py b/pr_agent/algo/pr_processing.py index 78c15438..6d5a86d9 100644 --- a/pr_agent/algo/pr_processing.py +++ b/pr_agent/algo/pr_processing.py @@ -205,10 +205,11 @@ def pr_generate_extended_diff(pr_languages: list, if not extended_patch: get_logger().warning(f"Failed to extend patch for file: {file.filename}") continue - full_extended_patch = f"\n\n## {file.filename}\n{extended_patch.rstrip()}\n" if add_line_numbers_to_hunks: full_extended_patch = convert_to_hunks_with_lines_numbers(extended_patch, file) + else: + full_extended_patch = f"\n\n## File: '{file.filename.strip()}'\n{extended_patch.rstrip()}\n" # add AI-summary metadata to the patch if file.ai_file_summary and get_settings().get("config.enable_ai_metadata", False): diff --git a/pr_agent/settings/pr_description_prompts.toml b/pr_agent/settings/pr_description_prompts.toml index 9748cbce..7e93d9da 100644 --- a/pr_agent/settings/pr_description_prompts.toml +++ b/pr_agent/settings/pr_description_prompts.toml @@ -52,7 +52,7 @@ class PRDescription(BaseModel): {%- if enable_semantic_files_types %} pr_files: List[FileDescription] = Field(max_items=20, description="a list of all the files that were changed in the PR, and summary of their changes. Each file must be analyzed regardless of change size.") {%- endif %} - description: str = Field(description="a clear and concise description of the PR using short bullet points (with sub-bullets if needed). Prioritize the most significant changes first") + description: str = Field(description="summarize the PR changes in up to four bullet points, each up to 8 words. Add sub-bullets if needed. Order bullets by importance, with each bullet highlighting a key change group.") title: str = Field(description="a concise and descriptive title that captures the PR's main theme") ===== diff --git a/pr_agent/tools/pr_description.py b/pr_agent/tools/pr_description.py index b610e83b..18df4f10 100644 --- a/pr_agent/tools/pr_description.py +++ b/pr_agent/tools/pr_description.py @@ -556,6 +556,11 @@ class PRDescription: elif 'pr_files' in key.lower() and get_settings().pr_description.enable_semantic_files_types: changes_walkthrough, pr_file_changes = self.process_pr_files_prediction(changes_walkthrough, value) changes_walkthrough = f"{PRDescriptionHeader.CHANGES_WALKTHROUGH.value}\n{changes_walkthrough}" + elif key.lower().strip() == 'description': + if isinstance(value, list): + value = ', '.join(v.rstrip() for v in value) + value = value.replace('\n-', '\n\n-').strip() # makes the bullet points more readable by adding double space + pr_body += f"{value}\n" else: # if the value is a list, join its items by comma if isinstance(value, list):