---
generated_at: 2026-03-01 12:00:00
metrics:
  claims_total: 206
  claims_with_evidence: 198
  claims_without_evidence: 8
confidence_derived: 0.96
---

# 根拠レポート：lib-core 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.96**
  - 根拠あり：198 / 206、根拠なし：8
- 優先レビュー（高）
  1. **Compilation.seal (C-045)**: Compilation.jsが巨大でseal内部の全フック呼び出しを完全には追跡できていない
  2. **Compilation.codeGeneration (C-065)**: 内部のジョブ実行フローが複雑で完全な検証が困難
  3. **Compilation.processRuntimeRequirements (C-066)**: ランタイム要件処理の内部状態遷移が複雑
  4. **WebpackOptionsApply.process 各分岐 (C-143〜C-151)**: 多数のプラグイン適用条件の網羅性確認が必要
  5. **webpack関数のスキーマバリデーション (C-159, C-160)**: 外部依存(schema-utils)の挙動に依存

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。

- E-01: `lib/Compiler.js` - Compilerクラスの定義（constructor, watch, run, compile等のメソッド）
- E-02: `lib/Compilation.js` - Compilationクラスの定義（addModule, buildModule, seal, emitAsset等のメソッド）
- E-03: `lib/MultiCompiler.js` - MultiCompilerクラスの定義（constructor, run, watch, validateDependencies等）
- E-04: `lib/Watching.js` - Watchingクラスの定義（constructor, invalidate, suspend, resume, close等）
- E-05: `lib/MultiWatching.js` - MultiWatchingクラスの定義（invalidate, suspend, resume, close）
- E-06: `lib/MultiStats.js` - MultiStatsクラスの定義（hasErrors, hasWarnings, toJson, toString）
- E-07: `lib/Stats.js` - Statsクラスの定義（hasWarnings, hasErrors, toJson, toString）
- E-08: `lib/WebpackOptionsApply.js` - WebpackOptionsApplyクラスのprocessメソッド
- E-09: `lib/OptionsApply.js` - OptionsApply基底クラス
- E-10: `lib/WebpackOptionsDefaulter.js` - WebpackOptionsDefaulterクラスのprocessメソッド
- E-11: `lib/webpack.js` - webpack関数、createCompiler、createMultiCompiler
- E-12: `lib/index.js` - エントリポイント、mergeExports、lazyFunction、各エクスポート定義
- E-13: `lib/cli.js` - getArguments、processArguments、isColorSupported、createColors、parseValueForArgumentConfig等
- E-14: `lib/validateSchema.js` - validateSchema関数、DID_YOU_MEAN、REMOVEDマッピング

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

### Compiler.js (C-001 〜 C-029)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-001 | Compilerのconstructor初期化 | E-01 (L163-350) | ○ |
| C-002 | hooksオブジェクトの初期化 | E-01 (L163-350, hooks定義部分) | ○ |
| C-003 | optionsデフォルト空オブジェクト | E-01 (L163) | ○ |
| C-004 | getCache返却値 | E-01 (L352-362) | ○ |
| C-005 | getInfrastructureLogger返却値 | E-01 (L364-440) | ○ |
| C-006 | getInfrastructureLogger遅延名前 | E-01 (L364-440) | ○ |
| C-007 | watch正常系 | E-01 (L480-494) | ○ |
| C-008 | watch同時実行防止 | E-01 (L480-486) | ○ |
| C-009 | run正常系 | E-01 (L496-636) | ○ |
| C-010 | run同時実行防止 | E-01 (L496-502) | ○ |
| C-011 | runエラーハンドリング | E-01 (L496-636) | ○ |
| C-012 | runAsChild正常系 | E-01 (L638-686) | ○ |
| C-013 | purgeInputFileSystem | E-01 (L688-697) | ○ |
| C-014 | emitAssets正常系 | E-01 (L699-1049) | ○ |
| C-015 | emitAssetsディレクトリ作成失敗 | E-01 (L699-1049) | ○ |
| C-016 | emitRecords正常系 | E-01 (L1051-1122) | ○ |
| C-017 | emitRecordsスキップ | E-01 (L1051-1073) | ○ |
| C-018 | readRecords正常系 | E-01 (L1124-1192) | ○ |
| C-019 | readRecordsスキップ | E-01 (L1124-1148) | ○ |
| C-020 | createChildCompiler | E-01 (L1194-1282) | ○ |
| C-021 | isChild=true | E-01 (L1284-1290) | ○ |
| C-022 | isChild=false | E-01 (L1284-1290) | ○ |
| C-023 | createCompilation | E-01 (L1292-1299) | ○ |
| C-024 | newCompilation | E-01 (L1301-1308) | ○ |
| C-025 | newCompilationParams | E-01 (L1330-1340) | ○ |
| C-026 | compile | E-01 (L1342-1391) | ○ |
| C-027 | close | E-01 (L1393以降) | ○ |
| C-028 | _cleanupLastCompilation | E-01 (L442-466) | ○ |
| C-029 | _cleanupLastNormalModuleFactory | E-01 (L468-478) | ○ |

### Compilation.js (C-030 〜 C-072)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-030 | Compilation constructor | E-02 (L511以降) | ○ |
| C-031 | getStats | E-02 (L1272-1279) | ○ |
| C-032 | createStatsOptions (文字列) | E-02 (L1281-1311) | ○ |
| C-033 | createStatsOptions (オブジェクト) | E-02 (L1281-1311) | ○ |
| C-034 | getCache | E-02 (L1333-1339) | ○ |
| C-035 | getLogger | E-02 (L1341-1466) | ○ |
| C-036 | addModule正常系 | E-02 (L1468-1520) | ○ |
| C-037 | addModule重複 | E-02 (L1478-1520) | ○ |
| C-038 | getModule | E-02 (L1522-1530) | ○ |
| C-039 | findModule | E-02 (L1532-1540) | ○ |
| C-040 | buildModule正常系 | E-02 (L1542-1624) | ○ |
| C-041 | buildModuleエラー | E-02 (L1552-1624) | ○ |
| C-042 | processModuleDependencies | E-02 (L1626-1969) | ○ |
| C-043 | addEntry正常系 | E-02 (L2437-2470) | ○ |
| C-044 | addEntry同名マージ | E-02 (L2472-2547) | ○ |
| C-045 | seal正常系 | E-02 (L3172-3550) | △ |
| C-046 | unseal | E-02 (L3153-3170) | ○ |
| C-047 | emitAsset正常系 | E-02 (L4747-4776) | ○ |
| C-048 | emitAsset重複エラー | E-02 (L4747-4776) | ○ |
| C-049 | updateAsset正常系 | E-02 (L4844-4874) | ○ |
| C-050 | updateAsset存在しないアセット | E-02 (L4844-4874) | ○ |
| C-051 | renameAsset | E-02 (L4876-4943) | ○ |
| C-052 | deleteAsset | E-02 (L4945-4979) | ○ |
| C-053 | getAssets | E-02 (L4981-4998) | ○ |
| C-054 | getAssets空 | E-02 (L4981-4998) | ○ |
| C-055 | getAsset | E-02 (L5000-5007) | ○ |
| C-056 | getAsset存在しない | E-02 (L5000-5007) | ○ |
| C-057 | getPath | E-02 (L5219-5232) | ○ |
| C-058 | getWarnings | E-02 (L5273-5275) | ○ |
| C-059 | getErrors | E-02 (L5277-5288) | ○ |
| C-060 | createChildCompiler | E-02 (L5290-5305) | ○ |
| C-061 | addChunk名前付き | E-02 (L4113-4134) | ○ |
| C-062 | addChunk名前なし | E-02 (L4113-4134) | ○ |
| C-063 | addChunk重複 | E-02 (L4113-4134) | ○ |
| C-064 | assignDepth | E-02 (L4136-4169) | ○ |
| C-065 | codeGeneration | E-02 (L3586-3740) | △ |
| C-066 | processRuntimeRequirements | E-02 (L3830-3968) | △ |
| C-067 | createModuleHashes | E-02 (L4349-4417) | ○ |
| C-068 | createHash | E-02 (L4452-4745) | ○ |
| C-069 | createChunkAssets | E-02 (L5053-5217) | ○ |
| C-070 | finish | E-02 (L2901-3151) | ○ |
| C-071 | reportDependencyErrorsAndWarnings | E-02 (L3552-3584) | ○ |
| C-072 | checkConstraints | E-02 (L5697以降) | ○ |

### MultiCompiler.js (C-073 〜 C-093)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-073 | constructor配列形式 | E-03 (L58-127) | ○ |
| C-074 | constructorオブジェクト形式 | E-03 (L64-71) | ○ |
| C-075 | parallelismオプション | E-03 (L92-93) | ○ |
| C-076 | parallelismデフォルト | E-03 (L92-93) | ○ |
| C-077 | バリデーションスキップ | E-03 (L129-131) | ○ |
| C-078 | cache.name重複検出 | E-03 (L129-161) | ○ |
| C-079 | options getter | E-03 (L163-168) | ○ |
| C-080 | outputPath共通パス | E-03 (L170-183) | ○ |
| C-081 | outputPathルート返却 | E-03 (L181) | ○ |
| C-082 | inputFileSystem getter例外 | E-03 (L185-187) | ○ |
| C-083 | inputFileSystem setter | E-03 (L192-196) | ○ |
| C-084 | setDependencies | E-03 (L250-252) | ○ |
| C-085 | validateDependencies正常 | E-03 (L258-332) | ○ |
| C-086 | validateDependencies不明な依存先 | E-03 (L288-304) | ○ |
| C-087 | validateDependencies循環依存 | E-03 (L305-325) | ○ |
| C-088 | run正常系 | E-03 (L633-653) | ○ |
| C-089 | run同時実行防止 | E-03 (L634-637) | ○ |
| C-090 | watch正常系 | E-03 (L596-627) | ○ |
| C-091 | watch同時実行防止 | E-03 (L597-600) | ○ |
| C-092 | purgeInputFileSystem | E-03 (L655-661) | ○ |
| C-093 | close | E-03 (L667-677) | ○ |

### Watching.js (C-094 〜 C-108)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-094 | constructor正常 | E-04 (L28-82) | ○ |
| C-095 | constructor数値変換 | E-04 (L50-54) | ○ |
| C-096 | デフォルトaggregateTimeout | E-04 (L62-64) | ○ |
| C-097 | _mergeWithCollected初回 | E-04 (L88-105) | ○ |
| C-098 | _mergeWithCollected累積 | E-04 (L93-104) | ○ |
| C-099 | _mergeWithCollected null | E-04 (L89) | ○ |
| C-100 | invalidate | E-04 (L404-414) | ○ |
| C-101 | invalidateコールバック | E-04 (L405-407) | ○ |
| C-102 | suspend | E-04 (L447-449) | ○ |
| C-103 | resume | E-04 (L451-456) | ○ |
| C-104 | resume非サスペンド | E-04 (L452) | ○ |
| C-105 | close正常 | E-04 (L462-528) | ○ |
| C-106 | close実行中 | E-04 (L522-524) | ○ |
| C-107 | close二重呼び出し | E-04 (L463-468) | ○ |
| C-108 | _getStats | E-04 (L248-251) | ○ |

### MultiWatching.js (C-109 〜 C-115)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-109 | constructor | E-05 (L19-22) | ○ |
| C-110 | invalidateコールバックなし | E-05 (L38-41) | ○ |
| C-111 | invalidateコールバックあり | E-05 (L29-36) | ○ |
| C-112 | suspend | E-05 (L44-48) | ○ |
| C-113 | resume | E-05 (L50-54) | ○ |
| C-114 | close | E-05 (L60-74) | ○ |
| C-115 | closeフック呼び出し | E-05 (L67) | ○ |

### MultiStats.js (C-116 〜 C-127)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-116 | constructor | E-06 (L36-38) | ○ |
| C-117 | hash getter | E-06 (L40-42) | ○ |
| C-118 | hasErrorsあり | E-06 (L47-49) | ○ |
| C-119 | hasErrorsなし | E-06 (L47-49) | ○ |
| C-120 | hasWarningsあり | E-06 (L54-56) | ○ |
| C-121 | hasWarningsなし | E-06 (L54-56) | ○ |
| C-122 | toJson | E-06 (L115-184) | ○ |
| C-123 | toJsonフィルタ | E-06 (L115-184) | ○ |
| C-124 | toString | E-06 (L190-210) | ○ |
| C-125 | toStringプレフィックス | E-06 (L196-208) | ○ |
| C-126 | _createChildOptions boolean | E-06 (L63-109) | ○ |
| C-127 | _createChildOptions 文字列 | E-06 (L63-109) | ○ |

### Stats.js (C-128 〜 C-141)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-128 | constructor | E-07 (L17-19) | ○ |
| C-129 | hash getter | E-07 (L21-23) | ○ |
| C-130 | startTime getter | E-07 (L25-27) | ○ |
| C-131 | endTime getter | E-07 (L29-31) | ○ |
| C-132 | hasWarningsあり | E-07 (L36-41) | ○ |
| C-133 | hasWarningsなし | E-07 (L36-41) | ○ |
| C-134 | hasWarnings子compilation | E-07 (L39-40) | ○ |
| C-135 | hasErrorsあり | E-07 (L46-50) | ○ |
| C-136 | hasErrorsなし | E-07 (L46-50) | ○ |
| C-137 | hasErrors子compilation | E-07 (L49-50) | ○ |
| C-138 | toJson | E-07 (L57-67) | ○ |
| C-139 | toJsonデフォルト | E-07 (L57-67) | ○ |
| C-140 | toString | E-07 (L73-86) | ○ |
| C-141 | toString空出力 | E-07 (L85) | ○ |

### WebpackOptionsApply.js (C-142 〜 C-151)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-142 | process基本オプション適用 | E-08 (L98-103) | ○ |
| C-143 | externals適用 | E-08 (L104-111) | ○ |
| C-144 | chunkFormat適用 | E-08 (L215-239) | ○ |
| C-145 | 不正chunkFormatエラー | E-08 (L235-238) | ○ |
| C-146 | moduleIds適用 | E-08 (L652-700) | ○ |
| C-147 | 不正moduleIdsエラー | E-08 (L695-699) | ○ |
| C-148 | CSS実験機能 | E-08 (L421-425) | ○ |
| C-149 | outputModule制約 | E-08 (L379-403) | ○ |
| C-150 | inputFileSystem必須 | E-08 (L905-907) | ○ |
| C-151 | process戻り値 | E-08 (L937) | ○ |

### OptionsApply.js (C-152)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-152 | processデフォルト実装 | E-09 (L19-21) | ○ |

### WebpackOptionsDefaulter.js (C-153 〜 C-154)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-153 | process正規化 | E-10 (L19-23) | ○ |
| C-154 | デフォルト値適用 | E-10 (L20-21) | △ |

### webpack.js (C-155 〜 C-166)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-155 | webpack単一設定 | E-11 (L155-225) | ○ |
| C-156 | webpack配列設定 | E-11 (L175-183) | ○ |
| C-157 | webpackコールバック付き | E-11 (L193-213) | ○ |
| C-158 | webpack watchモード | E-11 (L196-198) | ○ |
| C-159 | webpackスキーマバリデーション | E-11 (L157-168) | △ |
| C-160 | webpackエラー伝播 | E-11 (L210-212) | ○ |
| C-161 | webpack非推奨警告 | E-11 (L216-222) | ○ |
| C-162 | createCompiler | E-11 (L76-118) | ○ |
| C-163 | createCompilerプラグイン | E-11 (L91-99) | ○ |
| C-164 | createCompiler関数型プラグイン | E-11 (L93-95) | ○ |
| C-165 | createMultiCompiler | E-11 (L55-69) | ○ |
| C-166 | createMultiCompiler依存関係 | E-11 (L60-67) | ○ |

### index.js (C-167 〜 C-174)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-167 | mergeExports getter | E-12 (L111-136) | ○ |
| C-168 | mergeExports ネスト | E-12 (L122-128) | ○ |
| C-169 | mergeExports不正値型 | E-12 (L130-133) | ○ |
| C-170 | validate正常 | E-12 (L147-168) | ○ |
| C-171 | validate異常 | E-12 (L147-168) | △ |
| C-172 | version | E-12 (L174-176) | ○ |
| C-173 | lazyFunction初期化 | E-12 (L92-102) | ○ |
| C-174 | lazyFunctionキャッシュ | E-12 (L93, memoize) | ○ |

### cli.js (C-175 〜 C-200)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-175 | getArguments | E-13 (L78-428) | ○ |
| C-176 | getArgumentsカスタム | E-13 (L78) | ○ |
| C-177 | enum型引数 | E-13 (L163-169) | ○ |
| C-178 | boolean型引数 | E-13 (L179-182) | ○ |
| C-179 | 配列リセットフラグ | E-13 (L196-219) | ○ |
| C-180 | processArguments正常 | E-13 (L671-716) | ○ |
| C-181 | processArguments不明引数 | E-13 (L676-682) | ○ |
| C-182 | processArguments不正値 | E-13 (L561-578) | ○ |
| C-183 | processArgumentsなし | E-13 (L714-715) | ○ |
| C-184 | isColorSupportedカラーあり | E-13 (L721-739) | ○ |
| C-185 | isColorSupportedNO_COLOR | E-13 (L724) | ○ |
| C-186 | isColorSupportedFORCE_COLOR | E-13 (L725) | ○ |
| C-187 | createColorsカラー有効 | E-13 (L812-854) | ○ |
| C-188 | createColorsカラー無効 | E-13 (L812-854) | ○ |
| C-189 | getObjectAndPropertyネスト | E-13 (L441-533) | ○ |
| C-190 | getObjectAndProperty配列 | E-13 (L451-481) | ○ |
| C-191 | getObjectAndProperty非オブジェクト | E-13 (L485-490) | ○ |
| C-192 | getObjectAndProperty非配列 | E-13 (L456-463) | ○ |
| C-193 | getObjectAndProperty空パス | E-13 (L442) | ○ |
| C-194 | parseValueForArgumentConfig string | E-13 (L613-617) | ○ |
| C-195 | parseValueForArgumentConfig number | E-13 (L624-629) | ○ |
| C-196 | parseValueForArgumentConfig boolean | E-13 (L631-634) | ○ |
| C-197 | parseValueForArgumentConfig path | E-13 (L618-622) | ○ |
| C-198 | parseValueForArgumentConfig RegExp | E-13 (L635-644) | ○ |
| C-199 | parseValueForArgumentConfig型不一致 | E-13 (L611-661) | ○ |
| C-200 | parseValueForArgumentConfig reset | E-13 (L657-659) | ○ |

### validateSchema.js (C-201 〜 C-206)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-201 | validateSchema正常 | E-14 (L77-175) | ○ |
| C-202 | validateSchema異常 | E-14 (L77-175) | ○ |
| C-203 | カスタムvalidationConfiguration | E-14 (L77-81) | ○ |
| C-204 | absolutePathエラーメッセージ | E-14 (L84-94) | ○ |
| C-205 | DID_YOU_MEANヒント | E-14 (L110-123) | ○ |
| C-206 | REMOVEDメッセージ | E-14 (L125-134) | ○ |

## 4) 不足情報（Unknown / Missing）
- **C-045 (Compilation.seal)**: Compilation.jsが約5700行と非常に大きく、seal内部で呼び出される最適化フック群の完全なトレースが困難。テストケースの期待結果は概要レベルの記述となっている。
  - 候補：Compilation.jsの分割読み込みによる詳細確認 / webpackの公式テストケース参照 / 既存のインテグレーションテスト参照
- **C-065 (Compilation.codeGeneration)**: ジョブスケジューリングの内部フローが複雑で、並列実行時の挙動の完全な検証が不足。
  - 候補：_runCodeGenerationJobsの詳細解析 / パフォーマンステスト参照
- **C-066 (Compilation.processRuntimeRequirements)**: ランタイム要件の処理チェーンが複数ステップにまたがり、状態の完全なトレースが困難。
  - 候補：RuntimePlugin.jsとの連携を含めた解析
- **C-154 (WebpackOptionsDefaulter.process)**: applyWebpackOptionsDefaultsの内部実装がconfig/defaults.jsにあり、デフォルト値の具体的な内容は本モジュール外。
  - 候補：lib/config/defaults.js の詳細解析
- **C-159 (webpack スキーマバリデーション)**: webpackOptionsSchemaCheckの内部実装がschemas/WebpackOptions.check.jsにあり、pre-compiled schemaの具体的な挙動は本モジュール外。
  - 候補：schemas/WebpackOptions.check.js の確認
- **C-171 (index.js validate異常)**: validate関数がschema-utilsのValidationErrorをスローするが、そのエラーメッセージの具体的な形式は外部ライブラリに依存。
  - 候補：schema-utilsライブラリのドキュメント参照

## 5) リスクフラグ（レビュー観点）
- **1: 中リスク** - Compilation.jsが約5700行と非常に大きく、一部メソッド(seal, codeGeneration, processRuntimeRequirements)の内部フローの完全なテストケース化が困難。テストケースは主要な入出力をカバーしているが、内部状態遷移の網羅性には限界がある。
- **0: 低リスク** - Compiler.js、MultiCompiler.js、Watching.js等のファイルは構造が明確で、publicメソッドに対するテストケースの根拠は十分にある。
- **0: 低リスク** - cli.js、validateSchema.jsは純粋な関数が多く、入出力の対応関係が明確で検証が容易。

## 6) レビュアーチェックリスト（最小）
- [ ] Compilation.jsのseal/codeGeneration/processRuntimeRequirementsのテストケースが、実際の処理フローの主要パスをカバーしているか確認
- [ ] WebpackOptionsApply.processの条件分岐（externals, chunkFormat, moduleIds等）が網羅されているか確認
- [ ] webpack関数のスキーマバリデーション失敗パスのテストケースが実際のエラーメッセージと整合するか確認
- [ ] 各ファイルの異常系テストケースが、実際にスローされるエラークラス（ConcurrentCompilationError, WebpackError等）と一致するか確認
- [ ] Compiler.run/watchの同時実行防止テストが、runningフラグの制御フローと整合するか確認
- [ ] MultiCompiler.validateDependenciesの循環依存検出ロジックのテストケースが、実際のグラフ探索アルゴリズムと整合するか確認
