takt/builtins/ja/pieces/review-only.yaml
nrslib 7ae4a78831 Output Contracts と Quality Gates の実装 + 未使用コード検出ポリシー厳格化
Output Contracts を report 配下のネスト構造に変更し、Quality Gates をスキーマ・パーサーに追加。
未使用コード検出ポリシーから公開API例外ルールを削除し、AIが未使用コードを許容する抜け道を塞ぐ。
2026-02-07 22:26:50 +09:00

239 lines
7.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

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.

name: review-only
description: レビュー専用ピース - コードをレビューするだけで編集は行わない
max_iterations: 10
policies:
review: ../policies/review.md
ai-antipattern: ../policies/ai-antipattern.md
knowledge:
architecture: ../knowledge/architecture.md
security: ../knowledge/security.md
personas:
planner: ../personas/planner.md
architecture-reviewer: ../personas/architecture-reviewer.md
security-reviewer: ../personas/security-reviewer.md
ai-antipattern-reviewer: ../personas/ai-antipattern-reviewer.md
supervisor: ../personas/supervisor.md
pr-commenter: ../personas/pr-commenter.md
instructions:
review-arch: ../instructions/review-arch.md
review-security: ../instructions/review-security.md
review-ai: ../instructions/review-ai.md
initial_movement: plan
movements:
- name: plan
edit: false
persona: planner
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
rules:
- condition: レビュー対象が明確
next: reviewers
- condition: ユーザーが質問をしている(レビュータスクではない)
next: COMPLETE
- condition: 要件が不明確、情報不足
next: ABORT
appendix: |
確認事項:
- {質問1}
- {質問2}
instruction_template: |
## Previous Response (superviseからの差し戻し時)
{previous_response}
レビュー依頼を分析し、レビュー方針を立ててください。
**これはレビュー専用ピースです。** コード編集は行いません。
以下に集中してください:
1. レビュー対象のファイル/モジュールを特定
2. レビューの重点領域を決定アーキテクチャ、セキュリティ、AIパターン等
3. 依頼に記載された特定の懸念事項を整理
**PR番号が記載されている場合**(例: "PR #42")、レビュアーが
PRの変更ファイルに集中できるよう計画に含めてください。
- name: reviewers
parallel:
- name: arch-review
edit: false
persona: architecture-reviewer
policy: review
knowledge: architecture
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
rules:
- condition: approved
- condition: needs_fix
instruction: review-arch
output_contracts:
report:
- name: 01-architect-review.md
format: architecture-review
- name: security-review
edit: false
persona: security-reviewer
policy: review
knowledge: security
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
rules:
- condition: approved
- condition: needs_fix
instruction: review-security
output_contracts:
report:
- name: 02-security-review.md
format: security-review
- name: ai-review
edit: false
persona: ai-antipattern-reviewer
policy:
- review
- ai-antipattern
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
rules:
- condition: approved
- condition: needs_fix
instruction: review-ai
output_contracts:
report:
- name: 03-ai-review.md
format: ai-review
rules:
- condition: all("approved")
next: supervise
- condition: any("needs_fix")
next: supervise
- name: supervise
edit: false
persona: supervisor
policy: review
allowed_tools:
- Read
- Glob
- Grep
- WebSearch
- WebFetch
rules:
- condition: approved, PR comment requested
next: pr-comment
- condition: approved
next: COMPLETE
- condition: rejected
next: ABORT
instruction_template: |
## レビュー結果
{previous_response}
**これはレビュー専用ピースです。** テスト実行やビルドは行わないでください。
レビュー結果を統合し、最終サマリーを作成する役割です。
**やること:**
1. Report Directory内の全レビューレポートを読む
2. アーキテクチャ・セキュリティ・AIレビューの結果を統合
3. 統合レビューサマリーと総合判定を作成
4. ルーティング判断:
- タスクにPRへのコメント投稿が含まれている場合
(例: "PRにコメントして"、"PRにレビュー結果を投稿"
→ `pr-comment` ムーブメントへcondition: "approved, PR comment requested"
- ローカルレビューのみ → COMPLETEcondition: "approved"
- 重大な問題が見つかった場合 → ABORTcondition: "rejected"
**Review Summary出力契約:**
```markdown
# レビューサマリー
## 総合判定: APPROVE / REJECT
## サマリー
{2-3文で全レビュー結果を統合}
## レビュー結果
| レビュー | 結果 | 主要な発見 |
|---------|------|-----------|
| アーキテクチャ | APPROVE/REJECT | {概要} |
| セキュリティ | APPROVE/REJECT | {概要} |
| AIアンチパターン | APPROVE/REJECT | {概要} |
## 要注意の問題
| # | 重大度 | ソース | 場所 | 問題 |
|---|--------|--------|------|------|
| 1 | High | セキュリティ | `file:line` | 説明 |
## 改善提案
- {全レビューからの統合提案}
```
output_contracts:
report:
- Review Summary: 04-review-summary.md
- name: pr-comment
edit: false
persona: pr-commenter
allowed_tools:
- Read
- Glob
- Grep
- Bash
rules:
- condition: コメント投稿完了
next: COMPLETE
- condition: コメント投稿失敗
next: COMPLETE
instruction_template: |
## レビューサマリー
{previous_response}
レビュー結果をPRにコメントとして投稿してください。
**手順:**
1. タスク説明からPR番号を抽出
2. Report Directory内の全レビューレポートを読む:
- `01-architect-review.md`(アーキテクチャレビュー)
- `02-security-review.md`(セキュリティレビュー)
- `03-ai-review.md`AIアンチパターンレビュー
- `04-review-summary.md`(統合サマリー)
3. 重要度でフィルタリングし、Critical/High/Mediumの指摘をインラインコメントとして投稿
4. 以下のフォーマットでサマリーコメントを投稿:
```
## 自動レビューサマリー
{04-review-summary.mdからの総合判定とサマリー}
### レビュー結果
| レビュー | 結果 |
|---------|------|
| アーキテクチャ | {結果} |
| セキュリティ | {結果} |
| AIアンチパターン | {結果} |
### 主要な発見
{重要な指摘のリスト}
### 改善提案
{統合された提案}
---
*[takt](https://github.com/toruticas/takt) review-only ピースで生成*
```
report_formats:
architecture-review: ../output-contracts/architecture-review.md
security-review: ../output-contracts/security-review.md
ai-review: ../output-contracts/ai-review.md
review-summary: ../output-contracts/review-summary.md