Task Artifact Reviewer
入力
タスクMarkdownと、PR URL、owner/repo+PR番号、branch、commit、HEAD、commit範囲を受け取る。
--base、要件解釈用の --outline、--rule、--output を受け付ける。
outputの値と併用条件はpr-reviewerに合わせる。
対象を一意に解決できない場合だけ確認する。 指定成果物をSHAまたは比較端点で固定し、別の現在ブランチへ置き換えない。
境界
コード編集、commit、push、merge、close、テスト、lint、build、formatは行わない。 TODO・PROGRESS.md・進捗一覧を更新しない。 レビューのファイル保存と、明示指定された外部出力だけを行う。
タスク情報
../_shared/references/task-management-contract.md を読む。
task-starter形式ではtask-readerへタスクパスを渡し、既定でwith-logを付けない。
独立Markdownは全文を読む。
過去ログは、ユーザーが求めた場合だけ必要な範囲を取得する。
情報を次に分ける。
- 規範: タスク本文・specsの要件と受け入れ条件。
- 一次証拠: 固定した成果物のdiffと、その版の既存コード。
- 未検証の主張: 進捗状態、実装メモ、PR説明、outline。
未検証の主張を正しさの証拠にしない。
差分
PRは対象PRのdiff、branchはbase..target、単一commitはそのcommitの変更、範囲は指定端点間のdiffを取得する。 リポジトリ、比較元・比較先の完全なSHA、比較方式、固定diffとdigest、その版の既存コードを読む方法を記録し、要件レビューと独立レビューで共有する。PRはbase・headと実際のdiffの比較元も記録し、取得途中で版が変わった場合は整合した組を取得し直す。 単一commitでは比較する親を記録する。root commitは空treeを比較元とし、merge commitの比較親を一意に決められない場合だけ確認する。範囲は指定された比較方式と端点を保持する。 大きいdiffは分割して読み、行数だけで停止しない。 対象版の既存実装・呼出し元も確認する。
要件レビュー
- 全受け入れ条件を列挙する。新形式はAC-ID、旧形式は一時IDを使う。
- 充足・部分充足・未充足・判定不能を、diffと対象版の既存実装から判定する。diffに追加がないことだけで未充足にしない。
- セキュリティ、耐障害性、高可用性、スケーラビリティの適用とN/A理由を確認する。
- 要件外の変更、欠落、追加タスクへの分離候補を確認する。
- 公開IF、削除・リネーム、動作、依存、共有設定の変更から退行を調べる。呼出し元の追従と残る不確実性を示す。
実行が必要な条件は判定不能とし、進捗にある成功主張をそのまま採用しない。
独立した汎用レビュー
利用可能なサブエージェント機構で、会話を継承しない独立コンテキストを作る。
pr-reviewerを --blind で適用し、「入力」の固定対象契約に従ってリポジトリ・比較端点・比較方式・固定diffとdigest・対象版の既存コードの参照方法、およびruleだけを渡す。
タスク本文、PR説明、進捗、実装者の主張、要件レビュー結果、outlineを渡さない。
外部出力オプションも渡さない。
PR・branch・単一commit・範囲のすべてで同じ固定対象を使う。呼出し先が固定対象を扱えない場合は、同じ固定diff・対象版の既存コードと ../pr-reviewer/references/review-criteria.md を使って独立評価し、使用した対象情報も返す。
可変のPR・branchのdiffへ置き換えない。
独立コンテキストを利用できない場合は、その制約を明示し、独立性を実現したと報告しない。 既存の代替手順として、同じ評価基準による直接レビューを行う。 汎用指摘を棄却・変更する場合はコード上の反証を示す。
統合判定
出力先にかかわらず、独立レビューが返したリポジトリ・比較端点・比較方式・diffのdigestを要件レビューの対象情報と照合する。不一致の結果は統合せず、同じ固定対象で該当レビューをやり直す。照合できなければ未確認とし、統合完了・承認可能と扱わない。 一致を確認した要件整合性、退行、汎用レビューを統合する。 どれかが要修正、または高い退行リスクがあれば全体を要修正とする。 中程度の退行リスクや未確認条件は、必要な確認を明記する。 すべての軸が承認可能な場合だけ全体を承認可能とする。
<!-- 要確認: 汎用レビューの件数基準は既存review-criteriaを維持する。外部approveは後述の厳しい条件を適用する。 -->レポート
成果物内容を表すタイトル、固定した対象、差分規模を示す。 受け入れ条件と根拠、開発原則、スコープ、退行、汎用指摘、総合判定、推奨アクションを含める。 条件文を本文に記載し、AC-IDによる再参照を可能にする。
タスクID・タスク文書パス・ローカル進捗・ログ・個人パス・内部スキル名は本文に書かない。 根拠には対象リポジトリの追跡済みコードを使い、diff外の公開既存ファイルも許可する。 無関係なIssueへの誤リンクや不要なメンションを避ける。 保存先の案内はレポート本文と分ける。
保存
task-starter形式では
{project_root}/logs/{NNN-task}/ta-review-{YYYYmmddHHMMSS}-{commit-hash}.md
へ保存する。複数タスクの場合は数値が最大のIDを使う。
独立Markdownでは既定でチャットのみとする。
明示されたfile出力では、PR・branchはpr-reviewerの命名規則に従う。単一commitは ta-review-commit-{sha}.md、範囲は ta-review-range-{from-sha}-{to-sha}.md とし、cwdへ保存する。SHAは解決済みの完全なSHAを使い、HEADも単一commitとして解決する。範囲の比較方式はレポート本文に記載する。
同名の再実行レポートは読み取って更新してよい。task-starter形式の既定保存先は上記の規則を維持する。
外部出力
外部出力は統合レポート完成後にだけ行う。
pr-commentは統合レポートを一件投稿する。
pr-threadは ../pr-reviewer/references/pr-thread-posting.md に従い、統合後の指摘を投稿する。
投稿位置を確定できない指摘を推測して投稿しない。
pr-comment-with-approveでは、統合レポート投稿後、次をすべて満たす場合だけapproveする。
- 全受け入れ条件が充足。
- 統合したCritical・High指摘が0件。
- 退行の未解決事項がなく、総合判定が承認可能。
統合前の汎用レビューだけでapproveしない。 対象版が変わっている場合は、差分を再評価してから外部承認を判断する。 投稿・承認の成否が不明なら盲目的に再送しない。