2
ai reviewer output format
Alexey Efimchik edited this page 2026-03-12 18:36:34 +07:00
This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

📋 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 1516 in samples/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 (synchronize event)
  • A human reviewer overrides the block

Approved

Triggered when no blocking issues are found.

Status:  ✅ Approved