---
generated_at: 2026-03-01 10:00:00
metrics:
  claims_total: 206
  claims_with_evidence: 206
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：nu-plugin-engine 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：206 / 206、根拠なし：0
- 優先レビュー（高）
  1. 該当なし - 全てのテストケースはソースコードから直接抽出されました

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `crates/nu-plugin-engine/src/lib.rs` - モジュール構造とエクスポート定義
- E-02: `crates/nu-plugin-engine/src/declaration.rs` - PluginDeclaration構造体とCommand trait実装
- E-03: `crates/nu-plugin-engine/src/gc.rs` - PluginGc構造体とPluginGcState、既存テスト含む
- E-04: `crates/nu-plugin-engine/src/context.rs` - PluginExecutionContext traitと実装
- E-05: `crates/nu-plugin-engine/src/source.rs` - PluginSource構造体
- E-06: `crates/nu-plugin-engine/src/persistent.rs` - PersistentPlugin構造体とGetPlugin trait
- E-07: `crates/nu-plugin-engine/src/process.rs` - PluginProcess構造体
- E-08: `crates/nu-plugin-engine/src/init.rs` - プラグイン初期化関数群
- E-09: `crates/nu-plugin-engine/src/interface/mod.rs` - PluginInterface, PluginInterfaceManager
- E-10: `crates/nu-plugin-engine/src/interface/tests.rs` - 既存の単体テスト（49テスト）
- E-11: `crates/nu-plugin-engine/src/plugin_custom_value_with_source/mod.rs` - PluginCustomValueWithSource構造体
- E-12: `crates/nu-plugin-engine/src/plugin_custom_value_with_source/tests.rs` - 既存の単体テスト
- E-13: `crates/nu-plugin-engine/src/util/mutable_cow.rs` - MutableCow enum
- E-14: `crates/nu-plugin-engine/src/test_util.rs` - テストユーティリティ

## 3) Claims と根拠の対応（レビューの主戦場）

### declaration.rs (UT-PLE-001 ~ UT-PLE-013)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | PluginDeclaration::new が正しく動作すること | E-02 L21-27 | ○ |
| C-02 | Command trait メソッド群が正しく実装されていること | E-02 L30-129 | ○ |
| C-03 | run メソッドがプラグイン実行を行うこと | E-02 L68-121 | ○ |
| C-04 | get_dynamic_completion が補完を取得すること | E-02 L132-173 | ○ |

### gc.rs (UT-PLE-014 ~ UT-PLE-031)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-05 | PluginGc::new がGCスレッドを起動すること | E-03 L21-41 | ○ |
| C-06 | GCメッセージ送信メソッド群が存在すること | E-03 L44-87 | ○ |
| C-07 | PluginGcState::next_timeout のタイムアウト計算 | E-03 L111-125, 既存テストL230-293 | ○ |
| C-08 | handle_message が各メッセージを処理すること | E-03 L129-165 | ○ |
| C-09 | run ループがメッセージを処理すること | E-03 L167-212 | ○ |

### context.rs (UT-PLE-032 ~ UT-PLE-053)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-10 | PluginExecutionCommandContext が初期化されること | E-04 L74-88 | ○ |
| C-11 | PluginExecutionContext trait メソッドが実装されていること | E-04 L90-302 | ○ |
| C-12 | eval_closure が閉包を評価すること | E-04 L167-217 | ○ |
| C-13 | call_decl が宣言を呼び出すこと | E-04 L250-292 | ○ |

### source.rs (UT-PLE-054 ~ UT-PLE-059)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-14 | PluginSource::new がソースを生成すること | E-05 L19-25 | ○ |
| C-15 | persistent が弱参照をアップグレードすること | E-05 L39-49 | ○ |
| C-16 | is_compatible が互換性をチェックすること | E-05 L52-54 | ○ |

### persistent.rs (UT-PLE-060 ~ UT-PLE-082)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-17 | PersistentPlugin::new が初期化されること | E-06 L63-74 | ○ |
| C-18 | get メソッドがインターフェースを取得/スポーンすること | E-06 L80-133 | ○ |
| C-19 | spawn がプラグインプロセスを起動すること | E-06 L136-227 | ○ |
| C-20 | RegisteredPlugin trait が実装されていること | E-06 L255-312 | ○ |
| C-21 | GetPlugin trait が実装されていること | E-06 L349-370 | ○ |

### process.rs (UT-PLE-083 ~ UT-PLE-088)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-22 | PluginProcess がプロセスを管理すること | E-07 L19-28 | ○ |
| C-23 | enter_foreground/exit_foreground がフォアグラウンド制御すること | E-07 L47-89 | ○ |

### init.rs (UT-PLE-089 ~ UT-PLE-110)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-24 | create_command がプロセスコマンドを生成すること | E-08 L34-100 | ○ |
| C-25 | make_plugin_interface がインターフェースを生成すること | E-08 L106-138 | ○ |
| C-26 | get_plugin_encoding がエンコーディングを検出すること | E-08 L194-217 | ○ |
| C-27 | load_plugin_file がプラグインをロードすること | E-08 L220-231 | ○ |
| C-28 | load_plugin_registry_item がレジストリ項目をロードすること | E-08 L234-279 | ○ |
| C-29 | add_plugin_to_working_set がプラグインを追加すること | E-08 L285-312 | ○ |

### interface/mod.rs (UT-PLE-111 ~ UT-PLE-172)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-30 | PluginInterfaceManager が初期化されること | E-09 L158-185 | ○ |
| C-31 | consume_all がメッセージを消費すること | E-09 L421-456, E-10 | ○ |
| C-32 | InterfaceManager trait が実装されていること | E-09 L459-624 | ○ |
| C-33 | PluginInterface がプラグインと通信すること | E-09 L640-1195 | ○ |
| C-34 | handle_engine_call がエンジン呼び出しを処理すること | E-09 L1311-1406 | ○ |
| C-35 | set_foreground がフォアグラウンド状態を制御すること | E-09 L1409-1442 | ○ |

### plugin_custom_value_with_source/mod.rs (UT-PLE-173 ~ UT-PLE-200)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-36 | PluginCustomValueWithSource が初期化されること | E-11 L27-35 | ○ |
| C-37 | add_source/remove_source がソースを操作すること | E-11 L70-98 | ○ |
| C-38 | verify_source がソースを検証すること | E-11 L101-135 | ○ |
| C-39 | CustomValue trait が実装されていること | E-11 L159-263 | ○ |
| C-40 | Drop trait がドロップ通知を行うこと | E-11 L265-280 | ○ |

### util/mutable_cow.rs (UT-PLE-201 ~ UT-PLE-206)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-41 | MutableCow がBorrowed/Owned状態を管理すること | E-13 L3-6 | ○ |
| C-42 | owned メソッドが所有版を生成すること | E-13 L8-15 | ○ |
| C-43 | Deref/DerefMut が実装されていること | E-13 L17-35 | ○ |

## 4) 不足情報（Unknown / Missing）
- なし - 全てのテストケースはソースコードから直接抽出されました

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全てのテストケースはソースコードの実装に基づいています

### 注意点
- 本モジュールには既存のテストが多数存在します（interface/tests.rs, gc.rs内のテスト, plugin_custom_value_with_source/tests.rs）
- 生成されたテストケースは既存テストと重複する可能性があります
- 統合テストやエンドツーエンドテストは本一覧の対象外です

## 6) レビュアーチェックリスト（最小）
- [ ] 各テストケースの前提条件が現実的かどうか確認
- [ ] 入力値と期待結果の整合性を確認
- [ ] 優先度が適切に設定されているか確認
- [ ] 既存テスト（E-10, E-12）との重複を確認し、必要に応じて統合検討
- [ ] 境界値テストケースが網羅的かどうか確認
- [ ] エラーハンドリングのテストケースが十分かどうか確認
- [ ] プラグインプロセス管理に関するテストケースのカバレッジ確認
