---
generated_at: 2026-03-01 12:00:00
metrics:
  claims_total: 66
  claims_with_evidence: 60
  claims_without_evidence: 6
confidence_derived: 0.91
---

# 根拠レポート：非機能要件テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.91**
  - 根拠あり：60 / 66、根拠なし：6
- 優先レビュー（高）
  1. **NFT-017 メモリ制限テスト**：合格基準「4GBのメモリ制限内でビルド完了」はテストスクリプトの設定値であり、プロダクション環境の要件として妥当か確認が必要
  2. **NFT-044 Node.jsバージョン互換性検証**：engines.nodeは>=10.13.0だが、webpack 5の実質的な最低動作バージョンが異なる可能性がある
  3. **NFT-042 browserslistターゲット検証**：browserslist設定の具体的な検証基準がコードから特定できない
  4. **NFT-043 electronターゲット検証**：Electron環境固有のランタイムAPI検証の具体的な合格基準がコードから明確でない
  5. **NFT-046/047 WebAssemblyモジュール検証**：wasm-sync/wasm-asyncの具体的な合格基準がコードの表面的な解析からは明確でない
  6. **NFT-053 キャッシュ圧縮機能検証**：cache.compression設定のデフォルト値は無効だが、有効時の具体的な動作仕様がコードから完全には読み取れない

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

- E-01: `lib/runtime/LoadScriptRuntimeModule.js` - チャンクロードタイムアウト、crossOriginLoading、nonce属性、TrustedTypes URL生成
- E-02: `lib/config/defaults.js` - 各種デフォルト値（タイムアウト、パフォーマンス、ハッシュ、キャッシュ、splitChunks、trustedTypes等）
- E-03: `lib/cache/IdleFileCachePlugin.js` - ファイルキャッシュのアイドルタイムアウト、バッチ処理、進捗報告
- E-04: `lib/Watching.js` - ウォッチモードの集約タイムアウト、再ビルド機構
- E-05: `lib/performance/SizeLimitsPlugin.js` - アセットサイズ制限、エントリポイントサイズ制限、ソースマップ除外
- E-06: `lib/cache/MemoryWithGcCachePlugin.js` - GC付きメモリキャッシュ、世代管理
- E-07: `lib/cache/MemoryCachePlugin.js` - メモリキャッシュ基本動作、シャットダウン
- E-08: `lib/cache/PackFileCacheStrategy.js` - ファイルシステムキャッシュ永続化、スナップショット検証
- E-09: `lib/runtime/GetTrustedTypesPolicyRuntimeModule.js` - Trusted Typesポリシー生成、stop/continueモード
- E-10: `lib/runtime/NonceRuntimeModule.js` - CSP nonce属性
- E-11: `lib/runtime/CreateScriptUrlRuntimeModule.js` - Trusted Types経由のスクリプトURL生成
- E-12: `lib/schemes/HttpUriPlugin.js` - SHA-512ハッシュ検証、MAX_REDIRECTS=5、sanitizeUrlForError、parseCacheControl、Lockfile
- E-13: `lib/optimize/SplitChunksPlugin.js` - チャンク分割戦略
- E-14: `lib/optimize/LimitChunkCountPlugin.js` - チャンク数制限
- E-15: `lib/optimize/MinChunkSizePlugin.js` - 最小チャンクサイズ制御
- E-16: `lib/Compiler.js` - コンパイラフック、並行コンパイルエラー検出
- E-17: `lib/MultiCompiler.js` - 並列コンパイル、parallelismオプション
- E-18: `lib/validateSchema.js` - スキーマバリデーション（schema-utils連携）
- E-19: `lib/config/target.js` - ターゲットプラットフォーム（web/node/electron/browserslist）
- E-20: `lib/logging/createConsoleLogger.js` - ログレベル制御、デバッグフィルタ
- E-21: `lib/logging/Logger.js` - ログ種別定義、パフォーマンス計測メソッド
- E-22: `lib/ProgressPlugin.js` - ビルド進捗報告
- E-23: `lib/serialization/BinaryMiddleware.js` - バイナリシリアライゼーション
- E-24: `lib/serialization/FileMiddleware.js` - ファイルI/O管理
- E-25: `lib/util/fs.js` - lstatReadlinkAbsoluteリトライロジック
- E-26: `lib/Cache.js` - キャッシュステージ定数（STAGE_MEMORY/DEFAULT/DISK/NETWORK）
- E-27: `package.json` - Node.jsバージョン要件、テストスクリプト設定
- E-28: `test/MemoryLimitTestCases.test.js` - メモリ制限テスト
- E-29: `lib/container/ModuleFederationPlugin.js` - Module Federation
- E-30: `lib/css/CssModulesPlugin.js` - CSSモジュール処理
- E-31: `lib/wasm-sync/WebAssemblyModulesPlugin.js` - 同期WebAssemblyモジュール
- E-32: `lib/wasm-async/AsyncWebAssemblyModulesPlugin.js` - 非同期WebAssemblyモジュール
- E-33: `lib/ConcurrentCompilationError.js` - 並行コンパイルエラー
- E-34: `lib/cache/ResolverCachePlugin.js` - リゾルバキャッシュ
- E-35: `docs/code-to-docs/非機能要件定義書/非機能要件定義書.md` - 既存の非機能要件定義書

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | NFT-001: チャンクロードタイムアウト120,000ms | E-01, E-02 | ○ |
| C-02 | NFT-002: ファイルキャッシュアイドルタイムアウト60,000ms | E-03, E-02 | ○ |
| C-03 | NFT-003: 初回ストアタイムアウト5,000ms | E-03, E-02 | ○ |
| C-04 | NFT-004: 大規模変更後タイムアウト1,000ms | E-03, E-02 | ○ |
| C-05 | NFT-005: ウォッチモード集約タイムアウト20ms | E-04, E-02 | ○ |
| C-06 | NFT-006: 並列処理数上限100 | E-02, E-17 | ○ |
| C-07 | NFT-007: アイドル時バッチ処理 最大100件/100ms | E-03 | ○ |
| C-08 | NFT-008: 最大非同期リクエスト数30（production） | E-02, E-13 | ○ |
| C-09 | NFT-009: 最大初期リクエスト数30（production） | E-02, E-13 | ○ |
| C-10 | NFT-010: 最大アセットサイズ250,000bytes | E-05, E-02 | ○ |
| C-11 | NFT-011: 最大エントリポイントサイズ250,000bytes | E-05, E-02 | ○ |
| C-12 | NFT-012: ヒントエラーモード | E-05 | ○ |
| C-13 | NFT-013: ソースマップ除外フィルタ | E-05 | ○ |
| C-14 | NFT-014: splitChunks minSize 20,000（production） | E-02, E-13 | ○ |
| C-15 | NFT-015: splitChunks minSize 10,000（development） | E-02, E-13 | ○ |
| C-16 | NFT-016: enforceSizeThreshold 50,000（production） | E-02, E-13 | ○ |
| C-17 | NFT-017: メモリ制限4GB | E-27, E-28 | ○ |
| C-18 | NFT-018: メモリキャッシュGC世代管理（maxGenerations=5） | E-06, E-02 | ○ |
| C-19 | NFT-019: キャッシュ最大保持期間60日 | E-02, E-35 | ○ |
| C-20 | NFT-020: ウォッチモードエラー後継続 | E-04 | ○ |
| C-21 | NFT-021: ウォッチモード自動再ビルド | E-04 | ○ |
| C-22 | NFT-022: キャッシュ復旧・整合性検証 | E-08 | ○ |
| C-23 | NFT-023: メモリキャッシュシャットダウンクリア | E-07 | ○ |
| C-24 | NFT-024: 並行コンパイルエラー検出 | E-16, E-33 | ○ |
| C-25 | NFT-025: Trusted Typesポリシー生成 | E-09, E-02 | ○ |
| C-26 | NFT-026: Trusted Typesポリシー名自動生成 | E-02, E-09 | ○ |
| C-27 | NFT-027: ポリシー作成失敗時stopモード | E-09 | ○ |
| C-28 | NFT-028: ポリシー作成失敗時continueモード | E-09 | ○ |
| C-29 | NFT-029: CSP nonce属性付与 | E-10, E-01 | ○ |
| C-30 | NFT-030: crossOriginLoading=anonymous | E-01, E-02 | ○ |
| C-31 | NFT-031: crossOriginLoading=use-credentials | E-01, E-02 | ○ |
| C-32 | NFT-032: Trusted Types経由スクリプトURL生成 | E-11, E-09 | ○ |
| C-33 | NFT-033: HTTP URIリソースSHA-512整合性検証 | E-12 | ○ |
| C-34 | NFT-034: 最大リダイレクト回数5回制限 | E-12 | ○ |
| C-35 | NFT-035: リダイレクト先プロトコル制限 | E-12 | ○ |
| C-36 | NFT-036: リダイレクト先allowedUris検証 | E-12 | ○ |
| C-37 | NFT-037: エラーメッセージURL無害化 | E-12 | ○ |
| C-38 | NFT-038: デフォルトハッシュ関数md4 | E-02 | ○ |
| C-39 | NFT-039: futureDefaultsハッシュ関数xxhash64 | E-02 | ○ |
| C-40 | NFT-040: WebpackOptionsスキーマバリデーション | E-18 | ○ |
| C-41 | NFT-041: web/nodeターゲット切替 | E-19 | ○ |
| C-42 | NFT-042: browserslistターゲット検証 | E-19 | △ |
| C-43 | NFT-043: electronターゲット検証 | E-19 | △ |
| C-44 | NFT-044: Node.js >= 10.13.0互換性 | E-27 | ○ |
| C-45 | NFT-045: ESM/CommonJS/AMD互換性 | E-02, E-16 | ○ |
| C-46 | NFT-046: WebAssembly同期モジュール | E-31 | △ |
| C-47 | NFT-047: WebAssembly非同期モジュール | E-32 | △ |
| C-48 | NFT-048: Module Federation | E-29 | ○ |
| C-49 | NFT-049: CSSモジュール処理 | E-30 | ○ |
| C-50 | NFT-050: メモリキャッシュ基本動作 | E-07 | ○ |
| C-51 | NFT-051: ファイルシステムキャッシュ永続化 | E-08, E-03 | ○ |
| C-52 | NFT-052: リゾルバキャッシュ | E-34 | ○ |
| C-53 | NFT-053: キャッシュ圧縮機能 | E-02 | △ |
| C-54 | NFT-054: バイナリシリアライゼーション | E-23 | ○ |
| C-55 | NFT-055: ファイルミドルウェア | E-24 | ○ |
| C-56 | NFT-056: symlinkリトライ（最大3回） | E-25 | ○ |
| C-57 | NFT-057: ログレベル制御 | E-20 | ○ |
| C-58 | NFT-058: デバッグフィルタ | E-20 | ○ |
| C-59 | NFT-059: ProgressPlugin動作 | E-22 | ○ |
| C-60 | NFT-060: キャッシュ書き込み進捗報告 | E-03, E-22 | ○ |
| C-61 | NFT-061: Tapableフック拡張性 | E-16 | ○ |
| C-62 | NFT-062: キャッシュステージ制御 | E-26 | ○ |
| C-63 | NFT-063: developmentモードデフォルト値 | E-02, E-35 | ○ |
| C-64 | NFT-064: productionモードデフォルト値 | E-02, E-35 | ○ |
| C-65 | NFT-065: Cache-Controlヘッダー解析 | E-12 | ○ |
| C-66 | NFT-066: ロックファイル管理 | E-12 | ○ |

## 4) 不足情報（Unknown / Missing）
- **NFT-042（browserslistターゲット）**: browserslist設定の具体的な検証基準がコードの表面解析からは完全に特定できない。実際のブラウザクエリとES機能レベルのマッピングはbrowserslistTargetHandler内部で動的に解決されるため。
  - 候補：`lib/config/browserslistTargetHandler.js` / browserslistパッケージのドキュメント / E2Eテストケース
- **NFT-043（electronターゲット）**: Electron環境固有のランタイムAPI（mainプロセスAPI等）の具体的な検証項目がコードから明確でない。
  - 候補：`lib/electron/` ディレクトリの詳細解析 / Electronの公式ドキュメント
- **NFT-046/047（WebAssemblyモジュール）**: wasm-sync/wasm-asyncの具体的な合格基準（正常動作の定義）がモジュールプラグインのコードからは抽象的。
  - 候補：`test/` ディレクトリ配下のWebAssembly関連テストケース / WebAssembly仕様書
- **NFT-053（キャッシュ圧縮）**: `cache.compression` 設定が有効な場合の具体的な圧縮方式・動作仕様がdefaults.jsの設定値からのみの推測。
  - 候補：PackFileCacheStrategy.jsの圧縮処理詳細 / 設定スキーマの検証

## 5) リスクフラグ（レビュー観点）
- 0: NFT-001～NFT-013（性能テスト/レスポンス/バンドルサイズ）- デフォルト値がコードに明確に記載されており低リスク
- 0: NFT-025～NFT-037（セキュリティテスト）- コード上で実装が明確に確認でき低リスク
- 1: NFT-042/043（互換性テスト/browserslist/electron）- ターゲットプロパティの具体的な検証基準が一部不明確で中リスク
- 1: NFT-046/047（互換性テスト/WebAssembly）- 合格基準の具体性に不足があり中リスク
- 1: NFT-053（保守性テスト/キャッシュ圧縮）- 圧縮仕様の詳細が不明確で中リスク
- 0: NFT-050～NFT-066（その他保守性テスト）- コード根拠が明確で低リスク

## 6) レビュアーチェックリスト（最小）
- [ ] 性能テストの合格基準値がconfig/defaults.jsのデフォルト値と一致しているか確認
- [ ] セキュリティテスト（Trusted Types/CSP/CORS）の合格基準がランタイムモジュールの実装と一致しているか確認
- [ ] HttpUriPluginのセキュリティテスト（NFT-033～037）の合格基準がHttpUriPlugin.jsの実装と一致しているか確認
- [ ] browserslist/electronターゲットの合格基準（NFT-042/043）を実際のテストケースと照合し具体化が必要か判断
- [ ] WebAssemblyモジュールテスト（NFT-046/047）の合格基準をtest/ディレクトリの既存テストと照合し具体化
- [ ] キャッシュ圧縮テスト（NFT-053）の合格基準をPackFileCacheStrategy.jsの実装と照合し具体化
- [ ] developmentモード/productionモードの差異テスト（NFT-063/064）が非機能要件定義書の記載と一致しているか確認
- [ ] 全テストケースの優先度（高/中/低）がプロジェクトの重要度と整合しているか確認
