---
generated_at: 2026-03-01 10:30:00
metrics:
  claims_total: 40
  claims_with_evidence: 38
  claims_without_evidence: 2
confidence_derived: 0.95
---

# 根拠レポート：babel-plugin-proposal-partial-application.csv

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.95**
  - 根拠あり：38 / 40、根拠なし：2
- 優先レビュー（高）
  1. **UT-PPA-031（バージョン検証）**：REQUIRED_VERSIONマクロの実装詳細が不明
  2. **UT-PPA-040（uncurry-thisパターン）**：フィクスチャは存在するが変換仕様の詳細確認が必要

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

- E-01: `packages/babel-plugin-proposal-partial-application/src/index.ts` - プラグインのメインソースコード
- E-02: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/simple-call/input.js` - 単純な呼び出しの入力
- E-03: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/simple-call/output.js` - 単純な呼び出しの出力
- E-04: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/member-expression/input.js` - メンバー式の入力
- E-05: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/member-expression/output.js` - メンバー式の出力
- E-06: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/with-spread/input.js` - スプレッド構文の入力
- E-07: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/with-spread/output.js` - スプレッド構文の出力
- E-08: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/member-expression-super/input.js` - super式の入力
- E-09: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/bound-method-super/input.js` - boundメソッドsuperの入力
- E-10: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/curry/input.js` - カリー化パターンの入力
- E-11: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/nested-calls/input.js` - ネスト呼び出しの入力
- E-12: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/from-left/input.js` - 左プレースホルダーの入力
- E-13: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/from-right/input.js` - 右プレースホルダーの入力
- E-14: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/multiple-calls/input.js` - 複数呼び出しの入力
- E-15: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/nested-member-expression/input.js` - ネストメンバー式の入力
- E-16: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/bound-method/input.js` - バウンドメソッドの入力
- E-17: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/not-assigned-and-chained/input.js` - 未代入チェーンの入力
- E-18: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/uncurry-this/input.js` - uncurry-thisの入力
- E-19: `packages/babel-plugin-proposal-partial-application/test/fixtures/2018-07/member-expression-private-name/input.js` - プライベートメンバーの入力
- E-20: `packages/babel-plugin-proposal-partial-application/test/fixtures/invalid-empty-version/basic/options.json` - バージョン未指定エラー

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | hasArgumentPlaceholderがArgumentPlaceholderを含む場合trueを返す | E-01 (line 14-16) | ○ |
| C-02 | hasArgumentPlaceholderがArgumentPlaceholderを含まない場合falseを返す | E-01 (line 14-16) | ○ |
| C-03 | 引数が空の場合はfalseを返す | E-01 (line 15: some()の挙動) | ○ |
| C-04 | 複数のArgumentPlaceholderでもtrueを返す | E-01 (line 15: some()の挙動) | ○ |
| C-05 | unwrapArgumentsが通常の引数を一時変数に展開する | E-01 (line 18-44), E-05 | ○ |
| C-06 | unwrapArgumentsがArgumentPlaceholderをスキップする | E-01 (line 25) | ○ |
| C-07 | unwrapArgumentsがImmutableな値をスキップする | E-01 (line 25: t.isImmutable) | ○ |
| C-08 | unwrapArgumentsがSpreadElementを配列に変換する | E-01 (line 28-36), E-07 | ○ |
| C-09 | 引数が空の場合は空配列を返す | E-01 (line 22-43: forループの挙動) | ○ |
| C-10 | replacePlaceholdersがArgumentPlaceholderを識別子に置換する | E-01 (line 51-68), E-03 | ○ |
| C-11 | 複数のArgumentPlaceholderを個別の識別子に置換する | E-01 (line 58-66), E-07 | ○ |
| C-12 | 通常の引数はそのまま維持される | E-01 (line 63-65) | ○ |
| C-13 | 全ての引数がArgumentPlaceholderの場合 | E-01 (line 51-68) | ○ |
| C-14 | 単純な関数呼び出しのpartial applicationを変換する | E-02, E-03 | ○ |
| C-15 | 引数付きpartial applicationを変換する | E-04, E-05 | ○ |
| C-16 | MemberExpressionの呼び出しを正しく変換する | E-04, E-05 | ○ |
| C-17 | ネストしたMemberExpressionを正しく処理する | E-15, E-05 (line 10-12) | ○ |
| C-18 | super呼び出しのpartial applicationを変換する | E-08, E-01 (line 95-96) | ○ |
| C-19 | this.methodの呼び出しを正しく変換する | E-09, E-16 | ○ |
| C-20 | スプレッド構文を含むpartial applicationを変換する | E-06, E-07 | ○ |
| C-21 | 複数回のpartial applicationを変換する | E-14 | ○ |
| C-22 | ネストした呼び出しのpartial applicationを変換する | E-11 | ○ |
| C-23 | 右側からのpartial applicationを変換する | E-13 | ○ |
| C-24 | 左側からのpartial applicationを変換する | E-12 | ○ |
| C-25 | カリー化パターンを変換する | E-10 | ○ |
| C-26 | プライベートメンバーのpartial applicationを変換する | E-19 | ○ |
| C-27 | ArgumentPlaceholderがない場合は変換をスキップする | E-01 (line 77-79) | ○ |
| C-28 | 静的オブジェクトのメソッド呼び出しを最適化する | E-01 (line 97-98) | ○ |
| C-29 | syntaxPartialApplicationを継承する | E-01 (line 2, 72) | ○ |
| C-30 | プラグイン名が正しく設定される | E-01 (line 71) | ○ |
| C-31 | Babel 7未満のバージョンでエラーを投げる | E-01 (line 6), E-20 | △ |
| C-32 | 変数参照の引数を正しくメモ化する | E-04, E-05 | ○ |
| C-33 | 生成される関数に適切な名前が付与される | E-03, E-01 (line 166-168) | ○ |
| C-34 | MemberExpressionのプロパティ名が関数名として使用される | E-05, E-01 (line 134-136) | ○ |
| C-35 | 計算プロパティの場合はUID生成される | E-01 (line 136) | ○ |
| C-36 | SequenceExpressionに正しく変換される | E-01 (line 183) | ○ |
| C-37 | scope.pushで一時変数が登録される | E-01 (line 27, 88, 102, 116) | ○ |
| C-38 | generateUidで一意の識別子が生成される | E-01 (line 60) | ○ |
| C-39 | 未代入・チェーンなしの呼び出しを正しく変換する | E-17 | ○ |
| C-40 | uncurry-thisパターンを変換する | E-18 | △ |

## 4) 不足情報（Unknown / Missing）
- **C-31（バージョン検証）**：REQUIRED_VERSIONマクロはビルド時に解決されるため、実際の動作検証はビルド済みコードが必要
  - 候補：ビルド済みdistファイル / Babelコア内のバージョン検証ロジック / 統合テスト結果
- **C-40（uncurry-thisパターン）**：フィクスチャファイルは存在するが、変換仕様の詳細ドキュメントが不足
  - 候補：TC39プロポーザル仕様 / Babelプラグインドキュメント / フィクスチャのexec.js実行結果

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 大部分のテストケースはソースコードとフィクスチャに直接対応
- **1: 中リスク** - バージョン検証関連（C-31）はREQUIRED_VERSIONマクロの実装に依存
- **0: 低リスク** - uncurry-thisパターン（C-40）はフィクスチャが存在し、実行テストで検証可能

## 6) レビュアーチェックリスト（最小）
- [ ] hasArgumentPlaceholder関数の境界値テスト（空配列、単一要素）が適切か確認
- [ ] unwrapArguments関数のSpreadElement処理ロジックが正しく網羅されているか確認
- [ ] MemberExpression変換時のthisコンテキスト保持が全パターンでカバーされているか確認
- [ ] super呼び出しパターンの静的フィールド/インスタンスフィールド両方がカバーされているか確認
- [ ] プライベートメンバー（#method）のテストケースが既存フィクスチャと整合しているか確認
- [ ] バージョン検証エラー（C-31）の実際のエラーメッセージを確認
- [ ] uncurry-thisパターン（C-40）の期待結果が仕様と整合しているか確認
