---
generated_at: 2026-03-01 11:00:00
metrics:
  claims_total: 25
  claims_with_evidence: 24
  claims_without_evidence: 1
confidence_derived: 0.96
---

# 根拠レポート：10-チャンクグラフ構築

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.96**
  - 根拠あり：24 / 25、根拠なし：1
- 優先レビュー（高）
  1. **Compilation.seal()内でのbuildChunkGraph呼び出し**：Compilation.jsのseal()メソッド内のbuildChunkGraph呼び出し箇所の確認が必要

## 2) 参照した情報（Evidence一覧）

- E-01: `lib/ChunkGraph.js` 1-300行目（インポート、ヘルパー関数、ChunkGraphModule、ChunkGraphChunk、ChunkGraphコンストラクタ）
- E-02: `lib/ChunkGraph.js` 300-600行目（_getChunkGraphModule/Chunk、connectChunkAndModule、disconnectChunkAndModule、replaceModule、isModuleInChunk等）
- E-03: `lib/ChunkGraph.js` 600-900行目（getModuleRuntimes、getChunkModules、getChunkModuleIdMap等クエリメソッド群）
- E-04: `lib/ChunkGraph.js` 900-1200行目（compareChunks、getChunkSize、canChunksBeIntegrated、integrateChunks、connectChunkAndEntryModule等）
- E-05: `lib/ChunkGraph.js` 1200-1500行目（disconnectEntryModule、getChunkEntryModulesIterable、getModuleHash、setModuleHashes等）
- E-06: `lib/ChunkGraph.js` 1500-1700行目（addModuleRuntimeRequirements、addChunkRuntimeRequirements、getModuleGraphHash等）
- E-07: `lib/ChunkGraph.js` 1700-1969行目（_getModuleGraphHashWithConnections、静的メソッド群、エクスポート）
- E-08: `lib/buildChunkGraph.js` 1-150行目（型定義、QueueItem、ChunkGroupInfo、BigIntビットマスク操作、getActiveStateOfConnections）
- E-09: `lib/buildChunkGraph.js` 109-237行目（extractBlockModules関数）
- E-10: `lib/buildChunkGraph.js` 249-600行目（visitModules冒頭、エントリポイント初期化、iteratorBlock）
- E-11: `lib/buildChunkGraph.js` 600-900行目（iteratorBlock続き、processBlock、processEntryBlock、processQueue）
- E-12: `lib/buildChunkGraph.js` 900-1240行目（processQueue続き、calculateResultingAvailableModules、processConnectQueue、processChunkGroupsForMerging、processOutdatedChunkGroupInfo、メインループ）
- E-13: `lib/buildChunkGraph.js` 1242-1393行目（connectChunkGroups、cleanupUnconnectedGroups、buildChunkGraph関数）
- E-14: `docs/code-to-docs/機能一覧/機能一覧.csv` No.10行
- E-15: `docs/code-to-docs/画面機能マッピング/画面機能マッピング.csv` 機能No.10の全行

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

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | ChunkGraphModuleクラスの構造（chunks, entryInChunks, runtimeInChunks, hashes, id, runtimeRequirements等） | E-01 (215-234行目) | ○ |
| C-02 | ChunkGraphChunkクラスの構造（modules, entryModules, runtimeModules, fullHashModules等） | E-01 (239-260行目) | ○ |
| C-03 | ChunkGraphコンストラクタで_modules(WeakMap), _chunks(WeakMap), _blockChunkGroups(WeakMap), _runtimeIds(Map)を初期化 | E-01 (270-302行目) | ○ |
| C-04 | connectChunkAndModule()がcgm.chunks.add + cgc.modules.addで双方向接続 | E-02 (368-373行目) | ○ |
| C-05 | disconnectChunkAndModule()で双方向切断 + sourceTypesByModule整合性維持 | E-02 (380-387行目) | ○ |
| C-06 | replaceModule()でチャンク内モジュール置換（通常、エントリ、ランタイム対応） | E-02 (461-525行目) | ○ |
| C-07 | canChunksBeIntegrated()の統合可否判定ロジック（preventIntegration, runtime, entryModules） | E-04 (983-1009行目) | ○ |
| C-08 | integrateChunks()のチャンク統合ロジック（名前決定、モジュール移動、グループ更新） | E-04 (1016-1072行目) | ○ |
| C-09 | getChunkSize()の計算式（chunkOverhead + modulesSize * multiplicator） | E-04 (936-949行目) | ○ |
| C-10 | BigIntビットマスクによるモジュール集合管理（isOrdinalSetInMask関数） | E-08 (73-82行目) | ○ |
| C-11 | QueueItem型の6アクション種別（ADD_AND_ENTER_ENTRY_MODULE=0〜LEAVE_MODULE=5） | E-10 (372-377行目) | ○ |
| C-12 | ChunkGroupInfo型の構造（minAvailableModules, availableModulesToBeMerged, skippedItems等） | E-08 (37-55行目) | ○ |
| C-13 | extractBlockModules()でブロック内モジュールを抽出（インデックスマップ最適化付き） | E-09 (109-237行目) | ○ |
| C-14 | visitModules()のメインループ構造（processQueue→processChunkGroupsForCombining→processConnectQueue→processChunkGroupsForMerging→processOutdatedChunkGroupInfo） | E-12 (1143-1181行目) | ○ |
| C-15 | 非同期ブロックはqueueDelayedに投入され同期処理後に処理 | E-12 (1176-1180行目) | ○ |
| C-16 | processChunkGroupsForMergingでminAvailableModulesをBigInt ANDでマージ | E-12 (978-1028行目, 993行目: minAvailableModules &= availableModules) | ○ |
| C-17 | processOutdatedChunkGroupInfoでskippedItems/skippedModuleConnectionsの再処理 | E-12 (1059-1139行目) | ○ |
| C-18 | connectChunkGroups()で不要な接続をスキップ（areModulesAvailable判定） | E-13 (1248-1305行目) | ○ |
| C-19 | cleanupUnconnectedGroups()で親なしチャンクグループを削除 | E-13 (1312-1325行目) | ○ |
| C-20 | buildChunkGraph()が3段階処理（visitModules→connectChunkGroups→cleanup） | E-13 (1333-1392行目) | ○ |
| C-21 | SortableSetのキャッシュ機構を活用（getFromCache, getFromUnorderedCache） | E-03 (584行目, 602行目, 751行目等) | ○ |
| C-22 | 後方互換用静的メソッド（getChunkGraphForModule等、webpack 6で削除予定） | E-07 (1854-1949行目) | ○ |
| C-23 | connectChunkAndEntryModule()でエントリモジュール接続（cgm.entryInChunks + cgc.entryModules） | E-04 (1107-1115行目) | ○ |
| C-24 | AsyncDependencyToInitialChunkErrorの発生（非同期依存が初期チャンクグループを参照した場合） | E-11 (639-647行目) | ○ |
| C-25 | Compilation.seal()内でbuildChunkGraphが呼び出される | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- C-25: Compilation.seal()内でのbuildChunkGraph呼び出し箇所は、Compilation.jsのseal()メソッド内にあるはずだが、読み込み範囲（1-1057行目）では該当箇所に到達していない可能性がある
  - 候補：Compilation.jsのseal()メソッド全体（buildChunkGraph呼び出し箇所）

## 5) リスクフラグ（レビュー観点）
- 0: ChunkGraphクラスのデータ構造は低リスク（直接確認済み）
- 0: buildChunkGraphのアルゴリズム構造は低リスク（全量読み込み済み）
- 0: BigIntビットマスク操作は低リスク（明確なコードで確認済み）
- 0: 6アクション種別のキュー処理は低リスク（switch文で確認済み）
- 1: Compilation.seal()からの呼び出し箇所のみ中リスク（推論に基づく部分あり）

## 6) レビュアーチェックリスト（最小）
- [ ] Compilation.seal()内のbuildChunkGraph()呼び出し箇所が正確か
- [ ] visitModules()のメインループの終了条件が正確に記述されているか
- [ ] processChunkGroupsForMergingのBigInt AND演算の説明が正確か
- [ ] canChunksBeIntegrated()の統合可否条件が網羅されているか
- [ ] チャンクサイズ計算式のデフォルト値（chunkOverhead=10000, entryChunkMultiplicator=10）が正確か
