2.6 KiB
AI Code Reviewer — Output Comment Format
1. Summary Comment
The summary comment is posted by the bot as a top-level PR comment after the review is complete. It provides a high-level assessment of the entire diff.
Format
🔴 Code quality assessment: <Poor | Acceptable | Excellent>
ℹ️ Conclusion: <Short explanation of the most critical finding and its impact>
❌ Merge: No - <reason>
✅ Merge: Yes
Example
🔴 Code quality assessment: Poor
ℹ️ Conclusion: The commit introduces a critical bug where
Stopwatch.StartNew()is called twice on consecutive lines (lines 15–16 insamples/AR/App.cs). The duplicate assignment statement must be removed.❌ Merge: No - blocking issue must be resolved first
Quality Levels
| Badge | Label | Meaning |
|---|---|---|
| 🔴 | Poor | Blocking issues found, must not merge |
| 🟡 | Acceptable | Minor suggestions only |
| ✅ | Excellent | No issues found |
2. Inline Comments
Inline comments are posted directly on the changed lines in the diff. They follow the Conventional Comments approach to make severity and intent immediately clear.
Conventional Comments Format
<emoji> <label> (<optional decoration>): <subject>
<body — explanation of the issue>
💻 Suggested Code:
<code block with the fix>
Example
Posted inline on line 16 of samples/AR/App.cs:
🔴 Issue (Blocking): Duplicate Stopwatch initialization
The
Stopwatch.StartNew()call on line 15 is repeated on line 16, which overwrites the first instance. This appears to be an accidental duplicate that should be removed.💻 Suggested Code:
public void Run(string reportName, Dictionary<string, object[]>? reportParameters) { var sw = Stopwatch.StartNew(); Trace.WriteLine($"{sw.ElapsedMilliseconds} : Start { reportName}!"); _reportExport.Run(reportName, reportParameters, sw); sw.Stop(); Trace.WriteLine($"{sw.ElapsedMilliseconds} : End!"); }
3. Request Changes or Approve Pull Request
After posting comments, the bot submits a formal PR review with one of two states.
Request Changes
Triggered when one or more Blocking issues are found.
Status: ❌ Request Changes
The PR is blocked from merging (if branch protection rules are enabled) until:
- The author fixes the blocking issues
- The bot re-reviews after a new commit (
synchronizeevent) - A human reviewer overrides the block
Approved
Triggered when no blocking issues are found.
Status: ✅ Approved