commit 055f3b5b032e467768a0036a40a86ae3301a33dd
parent fb868ac903592f78303d4872f3728732f7b89bb1
Author: andrewlaack-collab <andrew.laack@imbue.com>
Date: Wed, 18 Feb 2026 22:35:05 -0600
Restyle issue output with emoji prefix, 'Vet Issue' label, and cleaner metadata (#105)
* Restyle issue output with emoji prefix, 'Vet Issue' label, and cleaner metadata
* Refactor
---------
Co-authored-by: Andrew Laack <andrew@laack.co>
Diffstat:
2 files changed, 29 insertions(+), 24 deletions(-)
diff --git a/vet/__snapshots__/formatters_test.ambr b/vet/__snapshots__/formatters_test.ambr
@@ -6,14 +6,14 @@
---
- **[incorrect_function_implementation]** (severity 2/5) (confidence 0.75)
+ 🔴 **Vet Issue** `incorrect_function_implementation` *severity: 2/5*, *confidence: 0.75*
General architecture concern
''',
'comments': list([
dict({
'body': '''
- **[incorrect_function_implementation]** (severity 2/5) (confidence 0.75)
+ 🔴 **Vet Issue** `incorrect_function_implementation` *severity: 2/5*, *confidence: 0.75*
This function has a bug
''',
diff --git a/vet/formatters.py b/vet/formatters.py
@@ -61,26 +61,38 @@ def format_location(issue: IdentifiedVerifyIssue) -> str:
return location_str
+def _build_issue_header(
+ issue: IdentifiedVerifyIssue,
+ fields: list[str],
+ *,
+ bold_label: bool = False,
+ severity_format: str = "g",
+) -> str:
+ label = "**Vet Issue**" if bold_label else "Vet Issue"
+ parts: list[str] = [f"\U0001f534 {label}"]
+ if "issue_code" in fields:
+ parts.append(f"`{issue.code}`")
+ meta: list[str] = []
+ if "severity" in fields and issue.severity_score:
+ meta.append(f"*severity: {issue.severity_score.raw:{severity_format}}/5*")
+ if "confidence" in fields and issue.confidence_score:
+ meta.append(f"*confidence: {issue.confidence_score.normalized:.2f}*")
+ if meta:
+ parts.append(", ".join(meta))
+ return " ".join(parts)
+
+
def format_issue_text(issue: IdentifiedVerifyIssue, fields: list[str]) -> str:
lines = []
location_str = format_location(issue)
+ lines.append(_build_issue_header(issue, fields))
- header_parts = []
- if "issue_code" in fields:
- header_parts.append(f"[{issue.code}]")
if "file_path" in fields or "line_number" in fields:
if location_str:
- header_parts.append(location_str)
- if header_parts:
- lines.append(" ".join(header_parts))
-
+ lines.append(f" {location_str}")
if "description" in fields:
- lines.append(f" Description: {issue.description}")
- if "confidence" in fields and issue.confidence_score:
- lines.append(f" Confidence: {issue.confidence_score.normalized:.2f}")
- if "severity" in fields and issue.severity_score:
- lines.append(f" Severity: {issue.severity_score.raw}/5")
+ lines.append(f" {issue.description}")
return "\n".join(lines)
@@ -94,16 +106,9 @@ def issue_to_dict(issue: IdentifiedVerifyIssue, fields: list[str]) -> dict:
def _format_review_comment_body(issue: IdentifiedVerifyIssue, fields: list[str]) -> str:
- parts: list[str] = []
- header = []
- if "issue_code" in fields:
- header.append(f"**[{issue.code}]**")
- if "severity" in fields and issue.severity_score:
- header.append(f"(severity {issue.severity_score.raw:.0f}/5)")
- if "confidence" in fields and issue.confidence_score:
- header.append(f"(confidence {issue.confidence_score.normalized:.2f})")
- if header:
- parts.append(" ".join(header))
+ parts: list[str] = [
+ _build_issue_header(issue, fields, bold_label=True, severity_format=".0f"),
+ ]
if "description" in fields:
parts.append(issue.description)
return "\n\n".join(parts)