---
generated_at: 2026-02-20 12:00:00
metrics:
  claims_total: 75
  claims_with_evidence: 68
  claims_without_evidence: 7
confidence_derived: 0.91
---

# 根拠レポート：結合テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.91**
  - 根拠あり：68 / 75、根拠なし：7
- 優先レビュー（高）
  1. **IT-018（DCD遅延起動）**：LazyWorkspaceD内部のコールバック挙動は直接テスト未確認
  2. **IT-023（DCDクラッシュ再起動）**：MessageHandler.handleCrashの実行時挙動は推測を含む
  3. **IT-065（多数プロジェクトスキップ）**：ManyProjectsAction.ask時のUI応答フローは動的挙動
  4. **IT-066（HTTPダウンロード）**：ネットワーク依存の外部連携テスト
  5. **IT-067（プログレス通知）**：reportProgressの具体的な通知段階は推測を含む
  6. **IT-072（Fiber並行処理）**：FiberManagerの協調動作は内部実装依存
  7. **IT-073（GCクリーンアップ）**：GC動作タイミングは実行環境依存

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

- E-01: `source/app.d` - エントリポイント、コマンドライン引数処理
- E-02: `source/served/extension.d` - LSP初期化、ワークスペース管理、コンポーネント登録
- E-03: `source/served/types.d` - 型定義、LanguageServerRouter mixin、設定構造体
- E-04: `lsp/source/served/lsp/jsonrpc.d` - JSON-RPC処理、RPCProcessor、MockRPC、unittest
- E-05: `serverbase/source/served/serverbase.d` - LanguageServerRouter mixin、リクエスト/通知処理、unittest
- E-06: `protocol/source/served/lsp/protocol.d` - LSPプロトコル型定義
- E-07: `http/source/served/http.d` - HTTPダウンロード機能
- E-08: `lsp/source/served/lsp/textdocumentmanager.d` - ドキュメント管理、TextDocumentManager
- E-09: `source/served/commands/complete.d` - 補完機能、DCD/DScanner/Snippets連携
- E-10: `source/served/commands/definition.d` - 定義ジャンプ、ホバー
- E-11: `source/served/commands/format.d` - dfmtフォーマット、SDLフォーマット、diff算出
- E-12: `source/served/commands/dub.d` - Dub連携（設定一覧、依存関係管理、ビルドタスク）
- E-13: `source/served/commands/references.d` - 参照検索
- E-14: `source/served/commands/rename.d` - リネーム
- E-15: `source/served/commands/code_actions.d` - コードアクション（インターフェース実装、インポートソート等）
- E-16: `source/served/commands/dcd_update.d` - DCD更新処理
- E-17: `source/served/linters/diagnosticmanager.d` - Diagnostics統合管理
- E-18: `source/served/linters/dscanner.d` - DScanner lint連携
- E-19: `source/served/linters/dub.d` - Dub lint連携
- E-20: `source/served/backend/lazy_workspaced.d` - 遅延ロード機構
- E-21: `test/runtests.sh` - 統合テスト実行スクリプト
- E-22: `dub.json` - プロジェクト依存関係定義
- E-23: `source/served/commands/highlight.d` - ドキュメントハイライト（rename依存）
- E-24: `source/served/utils/progress.d` - プログレス通知ユーティリティ
- E-25: `source/served/commands/inlay_hints.d` - インレイヒント
- E-26: `source/served/commands/symbol_search.d` - シンボル検索
- E-27: `source/served/commands/folding.d` - 折りたたみ範囲
- E-28: `source/served/commands/code_lens.d` - コードレンズ
- E-29: `source/served/commands/color.d` - カラー情報
- E-30: `source/served/commands/test_provider.d` - テストプロバイダ

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | IT-001: initialize要求に対するサーバー応答 | E-02, E-05 | ○ |
| C-02 | IT-002: initializeフック連鎖実行 | E-05 | ○ |
| C-03 | IT-003: shutdown/exitシーケンス | E-02, E-05 | ○ |
| C-04 | IT-004: 初期化前のリクエスト拒否 | E-05 | ○ |
| C-05 | IT-005: 正常なリクエスト受信とレスポンス送信 | E-04 | ○ |
| C-06 | IT-006: 不正なJSON-RPCリクエストのエラーハンドリング | E-04 | ○ |
| C-07 | IT-007: Content-Length未指定時のエラーハンドリング | E-04 | ○ |
| C-08 | IT-008: 空バッチリクエストのエラーハンドリング | E-04 | ○ |
| C-09 | IT-009: バッチリクエスト処理 | E-04 | ○ |
| C-10 | IT-010: 不完全なメッセージ受信時の処理 | E-04 | ○ |
| C-11 | IT-011: 分割受信時のバッファリング | E-04 | ○ |
| C-12 | IT-012: メッセージ前後の空白耐性 | E-04 | ○ |
| C-13 | IT-013: sendMethod/awaitResponseの往復通信 | E-04 | ○ |
| C-14 | IT-014: 未知のレスポンスIDエラー | E-04 | ○ |
| C-15 | IT-015: ワークスペースフォルダ追加通知 | E-02 | ○ |
| C-16 | IT-016: ワークスペースフォルダ削除通知 | E-02 | ○ |
| C-17 | IT-017: DCDサーバー起動とauto-complete | E-02, E-09 | ○ |
| C-18 | IT-018: DCDサーバー遅延起動（LazyLoad） | E-02, E-20 | △ |
| C-19 | IT-019: DCD定義ジャンプ | E-10 | ○ |
| C-20 | IT-020: DCDホバー情報取得 | E-10 | ○ |
| C-21 | IT-021: DCDサーバー再起動 | E-09 | ○ |
| C-22 | IT-022: DCDサーバー停止 | E-09 | ○ |
| C-23 | IT-023: DCDクラッシュ時の自動再起動 | E-02 | △ |
| C-24 | IT-024: DCD自動更新フロー | E-16 | ○ |
| C-25 | IT-025: Dubプロジェクトロード | E-02 | ○ |
| C-26 | IT-026: Dub依存関係の自動ダウンロード | E-02 | ○ |
| C-27 | IT-027: Dubレシピ保存時の自動更新 | E-12 | ○ |
| C-28 | IT-028: Dub設定一覧取得 | E-12 | ○ |
| C-29 | IT-029: Dub設定切替 | E-12 | ○ |
| C-30 | IT-030: Dubビルドタスク提供 | E-12 | ○ |
| C-31 | IT-031: Dub依存関係インストール | E-12 | ○ |
| C-32 | IT-032: Dub依存関係アンインストール | E-12 | ○ |
| C-33 | IT-033: Dubフォーマット変換 | E-12 | ○ |
| C-34 | IT-034: 静的解析によるdiagnostics発行 | E-18 | ○ |
| C-35 | IT-035: DScanner解析結果のフィルタリング | E-18 | ○ |
| C-36 | IT-036: @suppress行アノテーションによる警告抑制 | E-18 | ○ |
| C-37 | IT-037: コードフォーマット | E-11 | ○ |
| C-38 | IT-038: 範囲フォーマット | E-11 | ○ |
| C-39 | IT-039: SDLファイルフォーマット | E-11 | ○ |
| C-40 | IT-040: 複数プロバイダのdiagnostics統合 | E-17 | ○ |
| C-41 | IT-041: 古いdiagnosticsのクリア | E-17 | ○ |
| C-42 | IT-042: Dubビルドlintエラー表示 | E-19 | ○ |
| C-43 | IT-043: TextDocumentManagerのドキュメントライフサイクル | E-08, E-02 | ○ |
| C-44 | IT-044: ファイルオープン時の自動lint | E-02 | ○ |
| C-45 | IT-045: 外部ファイルクローズ時のdiagnosticsクリア | E-02 | ○ |
| C-46 | IT-046: D言語ソース補完統合 | E-09 | ○ |
| C-47 | IT-047: 補完アイテム解決 | E-09 | ○ |
| C-48 | IT-048: 自動インポート補完 | E-09 | ○ |
| C-49 | IT-049: Diet Templateソース補完 | E-09 | ○ |
| C-50 | IT-050: DMLソース補完 | E-09 | ○ |
| C-51 | IT-051: dscanner.ini補完 | E-09 | ○ |
| C-52 | IT-052: インターフェース実装コードアクション | E-15 | ○ |
| C-53 | IT-053: インポートソートコードアクション | E-15 | ○ |
| C-54 | IT-054: 未定義シンボルの自動インポート提案 | E-15 | ○ |
| C-55 | IT-055: DScanner自動修正提案 | E-15 | ○ |
| C-56 | IT-056: codeAction/resolve | E-15 | ○ |
| C-57 | IT-057: textDocument/rename | E-14 | ○ |
| C-58 | IT-058: textDocument/prepareRename | E-14 | ○ |
| C-59 | IT-059: textDocument/references | E-13 | ○ |
| C-60 | IT-060: ワークスペース設定変更反映 | E-02 | ○ |
| C-61 | IT-061: DCD有効/無効の切替 | E-02 | ○ |
| C-62 | IT-062: lint無効化時のdiagnosticsクリア | E-02 | ○ |
| C-63 | IT-063: コンポーネント登録の順序 | E-02 | ○ |
| C-64 | IT-064: Dubフォールバック: fsworkspace | E-02 | ○ |
| C-65 | IT-065: 多数プロジェクトのスキップ制御 | E-02 | △ |
| C-66 | IT-066: HTTPファイルダウンロード | E-07 | △ |
| C-67 | IT-067: プログレス通知 | E-02, E-24 | △ |
| C-68 | IT-068: served/getInfo | E-02 | ○ |
| C-69 | IT-069: served/getDscannerConfig | E-02 | ○ |
| C-70 | IT-070: served/forceLoadProjects | E-02 | ○ |
| C-71 | IT-071: window/showMessageRequest応答処理 | E-04 | ○ |
| C-72 | IT-072: Fiberベースの並行処理 | E-05 | △ |
| C-73 | IT-073: 定期的なGC収集 | E-05 | △ |
| C-74 | IT-074: $/setTrace通知 | E-02 | ○ |
| C-75 | IT-075: client/registerCapability | E-04 | ○ |

## 4) 不足情報（Unknown / Missing）
- **LazyWorkspaceD内部動作の詳細**: LazyWorkspaceD.LazyInstanceの遅延ロードコールバックの正確な発火タイミングはソースコードの構造から推測しているが、実行時テストによる確認が必要
  - 候補：`source/served/backend/lazy_workspaced.d` の詳細読み込み / 実行時デバッグログ / 統合テスト結果
- **ネットワーク依存のHTTPダウンロード**: served/http.dのdownloadFileManualは外部URLへのアクセスを含むため、テスト環境のネットワーク状態に依存
  - 候補：モックHTTPサーバー / ネットワークスタブ / オフラインテスト環境
- **プログレス通知の段階的送信**: reportProgressの呼び出し箇所は確認できるが、$/progressの具体的なJSON形式はprotocol.dの全量確認が必要
  - 候補：`protocol/source/served/lsp/protocol.d` の全量読み込み / LSPクライアント側ログ
- **Fiber並行処理の動作保証**: FiberManagerの協調スケジューリングは内部実装に依存し、タイミング問題の再現が困難
  - 候補：`serverbase/source/served/utils/fibermanager.d` / 負荷テスト
- **GC動作の予測可能性**: GC.collectの実行結果は実行環境やメモリ状態に依存
  - 候補：メモリプロファイラ / 長時間稼働テスト

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**: IT-001〜IT-016 - JSON-RPC基盤とLSPライフサイクルは既存unittestで十分カバーされている
- **0（低リスク）**: IT-028〜IT-033 - Dub連携のCRUD操作は明確なAPI定義あり
- **1（中リスク）**: IT-017〜IT-024 - DCD連携はプロセス間通信を含み、環境依存性がある
- **1（中リスク）**: IT-034〜IT-042 - Linter連携はDScanner/Dubの外部プロセスに依存
- **1（中リスク）**: IT-046〜IT-056 - 補完・コードアクションは複数コンポーネントの統合が必要
- **2（高リスク）**: IT-024 - DCD更新はインターネット接続とOS固有のバイナリに依存
- **2（高リスク）**: IT-066 - HTTPダウンロードはネットワーク環境に完全に依存

## 6) レビュアーチェックリスト（最小）
- [ ] LSP初期化/シャットダウンシーケンス（IT-001〜IT-004）の期待結果がLSP仕様と一致しているか
- [ ] JSON-RPCエラーコード（-32700, -32600等）がLSP仕様と一致しているか
- [ ] DCDコンポーネント連携テスト（IT-017〜IT-024）でDCDバージョン依存の問題がないか
- [ ] Dub連携テスト（IT-025〜IT-033）でdub.json/dub.sdl両形式が網羅されているか
- [ ] Diagnostics統合テスト（IT-040〜IT-042）で全linterスロット（DScanner=0, Dub=1）が考慮されているか
- [ ] 補完テスト（IT-046〜IT-051）で各言語ID（d, diet, dml, sdl）の分岐が網羅されているか
- [ ] コードアクションテスト（IT-052〜IT-056）でCodeActionKindフィルタリングが考慮されているか
- [ ] テスト前提条件にある「コンポーネントが利用可能」の具体的なセットアップ手順が明確か
- [ ] 外部プロセス依存テスト（DCD, DScanner, dfmt）のタイムアウト設定が適切か
