メインコンテンツまでスキップ

Review Artifact

A structured JSON output schema for River Review run results. It bundles the execution plan, repository context, findings, and debug information into a single artifact that can be consumed by audit, memory ingestion, and evaluation pipelines.

Overview

The existing output.schema.json defines the format of individual findings (issues), but does not cover the metadata of a complete review run -- which skills were executed, which files were targeted, the planner's reasoning, and so on.

The Review Artifact schema provides a complete record of a review execution.

Field Reference

Top-Level

FieldTypeRequiredDescription
versionstringYesSchema version. Currently always "1".
timestampstring (date-time)YesISO 8601 timestamp of when the review run completed.
phasestringYesSDLC phase of the review. upstream / midstream / downstream.
statusstringYesTerminal status. ok / no-changes / skipped-by-label / error.
decisionstringNoTop-level verdict derived from findings (auto-approve / human-review-recommended / human-review-required). Maps to the proposal's pass / warn / fail. Recommendation only; does not bypass HITL policy.
suggestedLoopSignalstringNoLayer-1 loop signal for agentic fix loops. One of NO_SIGNAL / REVISE_REQUIRED / CONVERGED / ESCALATE_HUMAN. Additive; absent on older artifacts. See Loop Convergence Contract.
usageobjectNoProvider / model when an LLM ran (token / cost only when the surface reports them). Absent for heuristic / dry-run / plan-only.
traceobjectNoRun trace. run_id is a unique id generated at artifact finalization (independent of the --save result-store id; equality is not guaranteed).
planobjectNoExecution plan. See below.
findingsarrayNoArray of review findings. Each item is compatible with the issue schema in output.schema.json (defined inline as $defs/finding).
contextobjectNoRepository and diff context.
debugobjectNoFree-form debug information. Structure is not guaranteed across versions.

plan Object

FieldTypeDescription
selectedSkillsarraySkills selected for execution. Each item has id (required), name (required), phase, and modelHint (one of cheap / balanced / high-accuracy).
skippedSkillsarraySkills excluded from the run. Each item has id (required) and reasons (required, string array).
plannerModestringAI planner mode. off / order / prune.
plannerReasonsarrayPer-skill reasoning from the AI planner. Each item has id (required) and reason (required).
impactTagsarrayTags describing the impact area of changes (e.g. security, performance).

context Object

FieldTypeDescription
repoRootstringAbsolute path to the repository root.
defaultBranchstringDefault branch name (e.g. main).
mergeBasestringGit merge-base commit SHA used for diffing.
changedFilesarrayList of file paths included in the review diff.
tokenEstimatenumberEstimated token count of the optimized diff text (>= 0).
rawTokenEstimatenumberEstimated token count of the raw (unoptimized) diff (>= 0).
reductionnumberPercentage of tokens saved by diff optimization (0--100).

status Values

ValueMeaning
okReview completed successfully.
no-changesNo diff to review.
skipped-by-labelRun was skipped due to a PR label match.
errorAn error occurred during the run.

Downstream Consumers

The Review Artifact is designed to be consumed by the following systems.

CI (GitHub Actions)

  • Retrieves review results as structured data for generating PR comments and status checks.
  • The status field enables early-return decisions.

Riverbed Memory

  • Stores review results as repository-specific learning data.
  • Records which skills were effective from the plan section.
  • Analyzes historical finding patterns from findings.

Eval (Evaluation Pipeline)

  • Compares plan and findings against evaluation fixtures to measure skill accuracy.
  • Tracks diff optimization effectiveness via context.tokenEstimate and context.reduction.

Serialization

  • Format: JSON
  • Encoding: UTF-8
  • File extension: .json
  • MIME type: application/json