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

レビューアーティファクト(Review Artifact)

River Review のレビュー実行結果を構造化した JSON 出力スキーマです。レビュー計画・コンテキスト・指摘事項・デバッグ情報をひとつのアーティファクトにまとめ、監査・メモリ取り込み・評価パイプラインの入力として利用できます。

概要

既存の output.schema.json は個別の指摘事項(findings)の形式を定義していますが、レビュー実行全体のメタデータ(どのスキルが実行されたか、どのファイルが対象だったか、プランナーの判断理由など)はカバーしていません。

Review Artifact スキーマは、レビュー実行の完全な記録を提供します。

フィールド一覧

トップレベル

フィールド必須説明
versionstringYesスキーマバージョン。現在は常に "1"
timestampstring (date-time)Yesレビュー実行完了時の ISO 8601 タイムスタンプ。
phasestringYesレビュー対象の SDLC フェーズ。upstream / midstream / downstream
statusstringYes実行の終了ステータス。ok / no-changes / skipped-by-label / error
planobjectNo実行計画。詳細は下記。
findingsarrayNoレビュー指摘事項の配列。各要素は output.schema.json の issue 定義と互換($defs/finding として同一構造を定義)。
contextobjectNoリポジトリと差分のコンテキスト情報。
debugobjectNoデバッグ情報。自由形式でバージョン間の構造保証なし。

plan オブジェクト

フィールド説明
selectedSkillsarray実行対象として選択されたスキルの配列。各要素は id(必須)、name(必須)、phasemodelHintcheap / balanced / high-accuracy)を持つ。
skippedSkillsarrayスキップされたスキルの配列。各要素は id(必須)と reasons(必須、文字列配列)を持つ。
plannerModestringAI プランナーのモード。off / order / prune
plannerReasonsarrayプランナーによるスキルごとの判断理由。各要素は id(必須)と reason(必須)を持つ。
impactTagsarray変更の影響領域を示すタグ(例: security, performance)。

findings 配列の各要素

各要素は output.schema.jsonissue 定義と同一構造です。idruleIdtitlemessageseverityphasefile は必須。

フィールド必須説明
idstringYesランスコープ内のユニークな識別子。
ruleIdstringYes指摘を生成したルール / スキルの識別子。
titlestringYes指摘の短いタイトル。
messagestringYes問題の詳細説明。
severitystringYes重要度。critical / major / minor / info
phasestringYesSDLC フェーズ。upstream / midstream / downstream
filestringYes対象ファイルパス。
lineintegerNo指摘に関連する開始行番号。
lineEndintegerNoマルチライン指摘の終了行番号(省略可)。
confidencestringNo指摘の信頼度。high / medium / low(省略可)。
statusstringNoライフサイクルステータス。open / suppressed / verified(省略可)。
evidencearray<string>No指摘を支持する証拠スニペットの配列(省略可)。
reviewerstringNo指摘を生成したスキル / エージェントの識別子。
suggestionstringNo修正や後続アクションのヒント。

context オブジェクト

フィールド説明
repoRootstringリポジトリルートの絶対パス。
defaultBranchstringデフォルトブランチ名(例: main)。
mergeBasestring差分取得に使用したマージベースのコミット SHA。
changedFilesarrayレビュー対象のファイルパス一覧。
tokenEstimatenumber最適化後の差分テキストの推定トークン数(>= 0)。
rawTokenEstimatenumber最適化前(生差分)の推定トークン数(>= 0)。
reductionnumber差分最適化によるトークン削減率(0-100)。

status の値

意味
okレビューが正常に完了した。
no-changes対象差分がなかった。
skipped-by-labelPR ラベルにより実行がスキップされた。
errorエラーが発生した。

下流消費者

Review Artifact は以下のシステムで消費されることを想定しています。

CI(GitHub Actions)

  • レビュー結果を構造化データとして取得し、PR コメントの生成やステータスチェックに利用。
  • status フィールドで早期リターン判定が可能。

Riverbed Memory

  • レビュー結果をリポジトリ固有の学習データとして蓄積。
  • plan セクションから、どのスキルが有効だったかを記録。
  • findings から過去の指摘パターンを分析。

Eval(評価パイプライン)

  • planfindings を評価フィクスチャと照合し、スキルの精度を測定。
  • context.tokenEstimatecontext.reduction で差分最適化の効果を追跡。

シリアライゼーション

  • 形式: JSON
  • エンコーディング: UTF-8
  • ファイル拡張子: .json
  • MIME タイプ: application/json

関連ドキュメント