Code Review Full Output Format
Subagent Findings JSON Schema
Both subagents write findings in this format. The structured format enables deterministic merging without LLM re-parsing.
{
"summary": "<executive summary text>",
"verdict": "approve | approve_with_comments | request_changes",
"severity_counts": { "critical": 0, "high": 0, "medium": 0, "low": 0 },
"changed_files": [
{ "file": "<path>", "lines_changed": "<description>", "risk": "High|Medium|Low", "issue_count": 0 }
],
"findings": [
{
"number": 1,
"title": "<brief title>",
"severity": "Critical|High|Medium|Low",
"category": "<category name>",
"skill": "<skill name or null>",
"file": "<path>",
"lines": "<line range, e.g. 45-52>",
"problem": "<description>",
"current_code": "<code snippet or null>",
"suggested_fix": "<code snippet or null>"
}
],
"positive_changes": ["<observation>"],
"testing_recommendations": ["<recommendation>"],
"recommended_actions": ["<action>"],
"out_of_scope_observations": [
{ "file": "<path>", "observation": "<text>" }
],
"risk_assessment": "<risk level and explanation>",
"acceptance_criteria_coverage": [
{ "ac": "<AC text>", "status": "Implemented|Partial|Not found", "notes": "<explanation>" }
]
}
Fields that do not apply may be omitted or set to null / empty array. The acceptance_criteria_coverage field is present only when the standards subagent received a story definition.
Report Skeleton
Structure the merged report in this section order:
- Metadata header: reviewer name, branch, date, aggregate severity counts, and the standards subagent's Code/PR Summary as the report description. If the standards subagent was skipped, use the functional subagent's executive summary as the description.
- Changed Files Overview: unified table of all reviewed files with risk levels and issue counts.
- Merged Findings: all issues renumbered and tagged by source subagent, grouped by severity.
- Acceptance Criteria Coverage: the standards subagent's coverage table, included only when a story input was provided.
- Positive Changes: combined positive observations from both subagents.
- Testing Recommendations: combined testing guidance from both subagents.
- Recommended Actions: actions from the standards subagent's review. If the standards subagent was skipped, include any recommendations from the functional subagent; omit the section if both are absent.
- Out-of-scope Observations: combined observations from both subagents.
- Risk Assessment: the standards subagent's risk assessment for the overall change. If the standards subagent was skipped, derive risk level from the functional subagent's highest-severity finding.
- Verdict: the stricter of the two subagent verdicts with brief justification.
Omit sections sourced exclusively from a subagent that was skipped.
Persist and Present
Do not present the report until both review.md and metadata.json have been successfully written to disk.
-
Write the merged report and metadata to disk using the review-artifacts protocol with
reviewerset tocode-review-full. -
Confirm both files exist before proceeding.
-
Present a compact summary in the conversation, not the full report. The summary contains:
- Metadata table (reviewer, branch, date, severity counts)
- Changed Files Overview table
- One-line-per-finding table:
| # | Title [Source] | Severity | File:Lines |where File:Lines is a single markdown link with a line range anchor (for example,[review-test-sample.py](review-test-sample.py#L134-L136)). For single-line findings use#L<N>; for ranges use#L<start>-L<end>. - Verdict with brief justification
- Link to the full
review.mdon disk
Do not reproduce problem descriptions, code snippets, or suggested fixes in the conversation response; those exist in
review.md.
🤖 Crafted with precision by ✨Copilot following brilliant human instruction, then carefully refined by our team of discerning human reviewers.