---
generated_at: 2026-02-19 12:00:00
metrics:
  claims_total: 31
  claims_with_evidence: 30
  claims_without_evidence: 1
confidence_derived: 0.97
---

# 根拠レポート：通知一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.97**
  - 根拠あり：30 / 31、根拠なし：1
- 優先レビュー（高）
  1. **C-31 client/registerCapability**：jsonrpc.dにメソッド定義はあるが、serve-d本体のソースコード内で実際に呼び出している箇所が確認できなかった

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

- E-01: `lsp/source/served/lsp/jsonrpc.d` - RPCProcessor（notifyMethod, log, notifyProgressRaw, sendMethod, WindowFunctions）
- E-02: `serverbase/source/served/serverbase.d` - LanguageServerRouter（processRequest, processNotify, gotRequest, gotNotify）
- E-03: `source/served/linters/diagnosticmanager.d` - updateDiagnostics(), textDocument/publishDiagnostics送信処理
- E-04: `source/served/extension.d` - protocolNotification/protocolMethodハンドラ群、showMessage/requestMessage呼び出し
- E-05: `source/served/commands/dcd_update.d` - coded/logInstall, coded/updateSetting通知送信
- E-06: `source/served/io/git_build.d` - coded/logInstall通知送信
- E-07: `source/served/io/http_wrap.d` - coded/logInstall通知送信
- E-08: `source/served/commands/dub.d` - coded/updateDubTree, protocolNotification, protocolMethodハンドラ群
- E-09: `source/served/commands/test_provider.d` - coded/pushProjectTests通知、protocolNotificationハンドラ群
- E-10: `source/served/types.d` - coded/changedSelectedWorkspace通知送信
- E-11: `source/served/commands/index.d` - protocolNotificationハンドラ（served/reindexAll, textDocument/didChange, textDocument/didSave）
- E-12: `source/served/commands/complete.d` - protocolNotificationハンドラ（served/killServer）、protocolMethodハンドラ（served/restartServer）
- E-13: `source/served/workers/rename_listener.d` - protocolNotificationハンドラ、workspace/applyEdit送信
- E-14: `source/served/workers/profilegc.d` - protocolNotificationハンドラ（workspace/didChangeWatchedFiles）
- E-15: `source/served/utils/progress.d` - ProgressType列挙体、reportProgress関数（rpc.log経由）
- E-16: `source/served/lsp/protoext.d` - UpdateSettingParams, SkippedLoadsNotification等の構造体定義
- E-17: `protocol/source/served/lsp/protocol.d` - LSPプロトコル型定義（MessageType, ShowMessageParams, LogMessageParams, PublishDiagnosticsParams等）

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | window/showMessage: WindowFunctions.showMessage()経由でクライアントにメッセージ表示通知を送信 | E-01 (jsonrpc.d L947-L953), E-04 (extension.d 各所) | ○ |
| C-02 | window/logMessage: RPCProcessor.log()経由でログ出力通知を送信 | E-01 (jsonrpc.d L353-L361), E-15 (progress.d L57-L63) | ○ |
| C-03 | textDocument/publishDiagnostics: diagnosticmanager.dのupdateDiagnostics()で診断情報を送信 | E-03 (diagnosticmanager.d L59-L89) | ○ |
| C-04 | $/progress: RPCProcessor.notifyProgressRaw()経由で進捗通知を送信 | E-01 (jsonrpc.d L213-L223), E-02 (serverbase.d L196, L227) | ○ |
| C-05 | textDocument/didOpen: extension.dとrename_listener.dの2箇所でハンドリング | E-04 (extension.d L1114), E-13 (rename_listener.d L108) | ○ |
| C-06 | textDocument/didClose: extension.dでハンドリング | E-04 (extension.d L1129) | ○ |
| C-07 | textDocument/didChange: extension.dとindex.dの2箇所でハンドリング | E-04 (extension.d L1148), E-11 (index.d L72) | ○ |
| C-08 | textDocument/didSave: extension.d, index.d, test_provider.d, dub.dの複数箇所でハンドリング | E-04 (extension.d L1316), E-11 (index.d L96), E-09 (test_provider.d L48), E-08 (dub.d L234) | ○ |
| C-09 | workspace/didChangeWatchedFiles: rename_listener.dとprofilegc.dでハンドリング | E-13 (rename_listener.d L95), E-14 (profilegc.d L158) | ○ |
| C-10 | workspace/didChangeWorkspaceFolders: extension.dでハンドリング | E-04 (extension.d L1101) | ○ |
| C-11 | $/setTrace: extension.dでハンドリング | E-04 (extension.d L1092) | ○ |
| C-12 | exit: serverbase.dのprocessNotify()でハンドリング | E-02 (serverbase.d L348-L364) | ○ |
| C-13 | coded/logInstall: dcd_update.d, git_build.d, http_wrap.dで送信 | E-05 (dcd_update.d 複数箇所), E-06 (git_build.d 複数箇所), E-07 (http_wrap.d L28) | ○ |
| C-14 | coded/updateSetting: dcd_update.dとextension.dで使用 | E-05 (dcd_update.d L270-L272), E-04 (extension.d L832, L838) | ○ |
| C-15 | coded/updateDubTree: dub.dで使用、パラメータなし | E-08 (dub.d L224, L324) | ○ |
| C-16 | coded/initDubTree: extension.dでsetTimeout(50ms)で送信 | E-04 (extension.d L929) | ○ |
| C-17 | coded/skippedLoads: extension.dでSkippedLoadsNotificationを送信 | E-04 (extension.d L919), E-16 (protoext.d SkippedLoadsNotification) | ○ |
| C-18 | coded/pushProjectTests: test_provider.dでUnittestProjectを送信 | E-09 (test_provider.d L31, L67, L186) | ○ |
| C-19 | coded/changedSelectedWorkspace: types.dのhandleThings()で送信 | E-10 (types.d L410) | ○ |
| C-20 | served/reindexAll: index.dでハンドリング | E-11 (index.d L23) | ○ |
| C-21 | served/killServer: complete.dでハンドリング | E-12 (complete.d L1388) | ○ |
| C-22 | served/updateDCD: dcd_update.dでハンドリング | E-05 (dcd_update.d L82) | ○ |
| C-23 | served/doDscanner: extension.dでハンドリング、coded/dodscannerはdeprecatedエイリアス | E-04 (extension.d L1168-L1169) | ○ |
| C-24 | served/rescanTests: test_provider.dでハンドリング | E-09 (test_provider.d L71) | ○ |
| C-25 | served/convertDubFormat: dub.dでハンドリング | E-08 (dub.d L513) | ○ |
| C-26 | served/installDependency: dub.dでInstallRequestを受信 | E-08 (dub.d L574), E-16 (protoext.d InstallRequest) | ○ |
| C-27 | served/updateDependency: dub.dでUpdateRequestを受信 | E-08 (dub.d L588), E-16 (protoext.d UpdateRequest) | ○ |
| C-28 | served/uninstallDependency: dub.dでUninstallRequestを受信 | E-08 (dub.d L606), E-16 (protoext.d UninstallRequest) | ○ |
| C-29 | window/showMessageRequest: extension.dでDCD更新確認等に利用 | E-04 (extension.d L454, L758, L825), E-01 (jsonrpc.d L956-L963) | ○ |
| C-30 | workspace/applyEdit: rename_listener.dとdub.dで使用 | E-13 (rename_listener.d L146, L162, L177), E-08 (dub.d L571) | ○ |
| C-31 | client/registerCapability: jsonrpc.dのregisterCapabilityAsync/Sync経由で送信 | E-01 (jsonrpc.d L229-L270) | △ |

## 4) 不足情報（Unknown / Missing）
- C-31 client/registerCapability: jsonrpc.dにメソッド定義（registerCapabilityAsync/registerCapabilitySync）は存在するが、serve-d本体のソースコード（source/配下）から実際にこれらを呼び出している箇所を特定できなかった。他のプロジェクト（null_serverなど）や動的に呼び出される可能性がある。
  - 候補：source/served/extension.d / null_server/source/null_server/extension.d / 外部プラグインからの利用

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - LSP標準通知（C-01～C-12）はソースコード上で明確に確認可能。LSP仕様に準拠。
- 0: 低リスク - カスタム通知（C-13～C-28）は全てソースコード上にnotifyMethod/protocolNotificationの実装が確認可能。
- 1: 中リスク - C-31 client/registerCapabilityはインフラ層（jsonrpc.d）に定義があるが実際の呼び出し元が不明。通知一覧から除外すべきか要検討。
- 0: 低リスク - coded/dodscannerのdeprecatedエイリアス（C-23）は確認済みだが、将来削除の可能性あり。

## 6) レビュアーチェックリスト（最小）
- [ ] LSP標準通知のカテゴリ分類（S->C / C->S）が正しいか確認
- [ ] カスタム通知の「coded/」プレフィックスと「served/」プレフィックスの命名規則の区別が適切か確認
- [ ] C-31 client/registerCapabilityの実際の使用箇所を追加調査し、通知一覧に含めるべきか判断
- [ ] deprecated指定されている coded/doDscanner エイリアスの扱いが適切か確認
- [ ] window/showMessageRequestとworkspace/applyEditを「リクエスト」として分類していることが適切か確認（厳密には通知ではなくリクエスト/レスポンスパターン）
- [ ] null_server等の他モジュールで追加の通知が存在しないか確認（本調査ではsource/配下を主対象とした）
