- phase-runner: レポートを上書きせずタイムスタンプ付きで同ディレクトリに保存し、fix が過去指摘の傾向を追跡できるよう改善
- output-contracts: persists/reopened/family_tag フィールドを追加してレビュー指摘の継続性を明示
- pieces: 全ビルトインピースに reviewers↔fix の loop_monitors を追加し、発散ループを自動検知
- fix.md: 過去レポートの参照方法を「Glob で {レポート名}.* を検索、最大2件読む」と具体化
- loop-monitor-reviewers-fix.md: ループモニタ判定用の共通インストラクションを新規追加
50 lines
1.9 KiB
Markdown
50 lines
1.9 KiB
Markdown
```markdown
|
||
# 要件充足レビュー
|
||
|
||
## 結果: APPROVE / REJECT
|
||
|
||
## サマリー
|
||
{1-2文で結果を要約}
|
||
|
||
## 要件照合
|
||
| # | 要件(タスクから抽出) | 充足 | 根拠(ファイル:行) |
|
||
|---|-------------------|------|-------------------|
|
||
| 1 | {要件1} | ✅/❌ | `src/file.ts:42` |
|
||
|
||
- ❌ が1件でもある場合は REJECT 必須
|
||
- 根拠なしの ✅ は無効(実コードで確認すること)
|
||
|
||
## スコープチェック
|
||
| # | 要求外の変更 | ファイル | 妥当性 |
|
||
|---|-------------|---------|--------|
|
||
| 1 | {要求にない変更} | `src/file.ts` | 妥当/不要 |
|
||
|
||
## 今回の指摘(new)
|
||
| # | finding_id | family_tag | カテゴリ | 場所 | 問題 | 修正案 |
|
||
|---|------------|------------|---------|------|------|--------|
|
||
| 1 | REQ-NEW-src-file-L42 | req-gap | 未実装 | `src/file.ts:42` | 問題の説明 | 修正方法 |
|
||
|
||
## 継続指摘(persists)
|
||
| # | finding_id | family_tag | 前回根拠 | 今回根拠 | 問題 | 修正案 |
|
||
|---|------------|------------|----------|----------|------|--------|
|
||
| 1 | REQ-PERSIST-src-file-L77 | req-gap | `file:line` | `file:line` | 未解消 | 修正方法 |
|
||
|
||
## 解消済み(resolved)
|
||
| finding_id | 解消根拠 |
|
||
|------------|----------|
|
||
| REQ-RESOLVED-src-file-L10 | `file:line` は要件を充足 |
|
||
|
||
## 再開指摘(reopened)
|
||
| # | finding_id | family_tag | 解消根拠(前回) | 再発根拠 | 問題 | 修正案 |
|
||
|---|------------|------------|----------------|---------|------|--------|
|
||
| 1 | REQ-REOPENED-src-file-L55 | req-gap | `前回: file:line で修正済み` | `file:line で再発` | 問題の説明 | 修正方法 |
|
||
|
||
## REJECT判定条件
|
||
- `new`、`persists`、または `reopened` が1件以上ある場合のみ REJECT 可
|
||
- `finding_id` なしの指摘は無効
|
||
```
|
||
|
||
**認知負荷軽減ルール:**
|
||
- APPROVE → サマリーのみ(5行以内)
|
||
- REJECT → 該当指摘のみ表で記載(30行以内)
|