---
generated_at: 2026-02-17 22:45:00
metrics:
  claims_total: 98
  claims_with_evidence: 98
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：proto.csv

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：98 / 98、根拠なし：0
- 優先レビュー（高）
  1. **なし**：全テストケースに根拠あり

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

- E-01: `script/proto/init.lua` - モジュールエントリポイント（3行）
- E-02: `script/proto/proto.lua` - JSON-RPCプロトコル通信の中核モジュール（309行）
- E-03: `script/proto/converter.lua` - 位置情報変換モジュール（236行）
- E-04: `script/proto/define.lua` - LSP定数定義モジュール（198行）
- E-05: `script/proto/diagnostic.lua` - 診断情報管理モジュール（307行）

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

### proto.lua関連（UT-PRT-001 〜 UT-PRT-037）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | getMethodName関数が通常メソッド名を取得 | E-02 (行38-44) | ○ |
| C-02 | getMethodName関数が$/プレフィックスを識別 | E-02 (行39-40) | ○ |
| C-03 | getMethodName関数が空文字列を処理 | E-02 (行38-44) | ○ |
| C-04 | getMethodName関数が1文字のメソッド名を処理 | E-02 (行38-44) | ○ |
| C-05 | on関数がコールバックを登録 | E-02 (行47-49) | ○ |
| C-06 | on関数が同一メソッドを上書き | E-02 (行48) | ○ |
| C-07 | send関数がstdioモードで送信 | E-02 (行54-55) | ○ |
| C-08 | send関数がsocketモードで送信 | E-02 (行56-57) | ○ |
| C-09 | response関数が正常レスポンスを送信 | E-02 (行61-75) | ○ |
| C-10 | response関数がnilのidを拒否 | E-02 (行62-64) | ○ |
| C-11 | response関数が未知のidを拒否 | E-02 (行66-68) | ○ |
| C-12 | response関数がnil結果をjson.nullに変換 | E-02 (行73) | ○ |
| C-13 | responseErr関数がエラーレスポンスを送信 | E-02 (行77-94) | ○ |
| C-14 | responseErr関数がnilのidを拒否 | E-02 (行78-80) | ○ |
| C-15 | responseErr関数が未知のidを拒否 | E-02 (行82-84) | ○ |
| C-16 | notify関数が通知を送信 | E-02 (行96-101) | ○ |
| C-17 | notify関数がparamsなしで動作 | E-02 (行96-101) | ○ |
| C-18 | awaitRequest関数が非同期リクエスト送信 | E-02 (行103-123) | ○ |
| C-19 | awaitRequest関数がエラーログを出力 | E-02 (行119-121) | ○ |
| C-20 | request関数がコールバック付きリクエストを送信 | E-02 (行125-145) | ○ |
| C-21 | request関数がコールバックなしで動作 | E-02 (行140-141) | ○ |
| C-22 | applyMethod関数が登録済みメソッドを実行 | E-02 (行161-205) | ○ |
| C-23 | applyMethod関数がidありでholdonに登録 | E-02 (行165-166) | ○ |
| C-24 | applyMethod関数が未登録メソッドでエラー返却 | E-02 (行168-176) | ○ |
| C-25 | applyMethod関数がオプショナルメソッドを許容 | E-02 (行169-171) | ○ |
| C-26 | applyMethod関数が例外をエラーレスポンスに変換 | E-02 (行198-199, 202) | ○ |
| C-27 | applyMethodQueue関数がキューを処理 | E-02 (行207-221) | ○ |
| C-28 | applyMethodQueue関数がキャンセルを処理 | E-02 (行210-214, 217) | ○ |
| C-29 | doMethod関数がキューに追加 | E-02 (行223-224) | ○ |
| C-30 | doMethod関数がタイマーを設定 | E-02 (行225-228) | ○ |
| C-31 | close関数がリクエストをクローズ | E-02 (行231-239) | ○ |
| C-32 | close関数が存在しないidを無視 | E-02 (行232-234) | ○ |
| C-33 | doResponse関数が正常レスポンスを処理 | E-02 (行241-255) | ○ |
| C-34 | doResponse関数が未知のidでログ出力 | E-02 (行244-247) | ○ |
| C-35 | doResponse関数がエラーレスポンスを処理 | E-02 (行250-252) | ○ |
| C-36 | listen関数がstdioモードで初期化 | E-02 (行257-268) | ○ |
| C-37 | listen関数がsocketモードで初期化 | E-02 (行269-305) | ○ |

### converter.lua関連（UT-PRT-038 〜 UT-PRT-058）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-38 | position関数がpositionオブジェクトを作成 | E-03 (行15-20) | ○ |
| C-39 | position関数が0,0で動作 | E-03 (行15-20) | ○ |
| C-40 | packPosition関数が内部位置をLSP位置に変換 | E-03 (行73-79) | ○ |
| C-41 | packPosition関数がdiffedファイルを処理 | E-03 (行51-68, 74-75) | ○ |
| C-42 | packPosition関数がcol=0でスキップ | E-03 (行27, 56) | ○ |
| C-43 | unpackPosition関数がLSP位置を内部位置に変換 | E-03 (行124-130) | ○ |
| C-44 | unpackPosition関数がdiffedファイルを処理 | E-03 (行103-119, 125-126) | ○ |
| C-45 | unpackPosition関数がcharacter=0でスキップ | E-03 (行86, 105) | ○ |
| C-46 | packRange関数がrangeオブジェクトを作成 | E-03 (行138-144) | ○ |
| C-47 | packRange関数が空rangeを処理 | E-03 (行138-144) | ○ |
| C-48 | range関数がpositionからrangeを作成 | E-03 (行149-154) | ○ |
| C-49 | unpackRange関数がrangeから位置ペアを抽出 | E-03 (行160-164) | ○ |
| C-50 | location関数がlocationオブジェクトを作成 | E-03 (行171-176) | ○ |
| C-51 | locationLink関数がlocationLinkを作成 | E-03 (行185-192) | ○ |
| C-52 | textEdit関数がtextEditオブジェクトを作成 | E-03 (行199-204) | ○ |
| C-53 | textEdit関数が空文字列で動作 | E-03 (行199-204) | ○ |
| C-54 | setOffsetEncoding関数がエンコーディングを設定 | E-03 (行206-208) | ○ |
| C-55 | setOffsetEncoding関数がハイフンを正規化 | E-03 (行207) | ○ |
| C-56 | len関数が文字列長を計算 | E-03 (行214-216) | ○ |
| C-57 | len関数が空文字列で0を返却 | E-03 (行214-216) | ○ |
| C-58 | command関数がcommandオブジェクトを作成 | E-03 (行227-233) | ○ |

### diagnostic.lua関連（UT-PRT-059 〜 UT-PRT-071）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-59 | register関数が診断情報を登録 | E-05 (行25-39) | ○ |
| C-60 | register関数が複数名を一括登録 | E-05 (行28, 41-55) | ○ |
| C-61 | register関数が既存グループに追加 | E-05 (行33-36) | ○ |
| C-62 | getDefaultSeverity関数がseverityマップを返却 | E-05 (行231-237) | ○ |
| C-63 | getDefaultSeverity関数が空データで空テーブル返却 | E-05 (行231-237) | ○ |
| C-64 | getDefaultStatus関数がstatusマップを返却 | E-05 (行240-246) | ○ |
| C-65 | getGroupSeverity関数が'Fallback'で返却 | E-05 (行248-254) | ○ |
| C-66 | getGroupStatus関数が'Fallback'で返却 | E-05 (行256-262) | ○ |
| C-67 | getGroups関数がグループ名一覧を返却 | E-05 (行266-275) | ○ |
| C-68 | getGroups関数が未登録名で空配列を返却 | E-05 (行266-275) | ○ |
| C-69 | getGroups関数がキャッシュを使用 | E-05 (行266: util.cacheReturn) | ○ |
| C-70 | getDiagAndErrNameMap関数が診断・エラー名マップを返却 | E-05 (行278-304) | ○ |
| C-71 | getDiagAndErrNameMap関数がキャッシュを使用 | E-05 (行279, 301) | ○ |

### define.lua関連（UT-PRT-072 〜 UT-PRT-098）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-72 | DiagnosticSeverity.Error=1 | E-04 (行7) | ○ |
| C-73 | DiagnosticSeverity.Warning=2 | E-04 (行8) | ○ |
| C-74 | DiagnosticSeverity.Information=3 | E-04 (行9) | ○ |
| C-75 | DiagnosticSeverity.Hint=4 | E-04 (行10) | ○ |
| C-76 | ErrorCodes.ParseError=-32700 | E-04 (行84) | ○ |
| C-77 | ErrorCodes.MethodNotFound=-32601 | E-04 (行86) | ○ |
| C-78 | ErrorCodes.InternalError=-32603 | E-04 (行88) | ○ |
| C-79 | ErrorCodes.RequestCancelled=-32800 | E-04 (行96) | ○ |
| C-80 | CompletionItemKind.Text=1 | E-04 (行55) | ○ |
| C-81 | CompletionItemKind.Function=3 | E-04 (行57) | ○ |
| C-82 | SymbolKind.File=1 | E-04 (行100) | ○ |
| C-83 | SymbolKind.Function=12 | E-04 (行111) | ○ |
| C-84 | TokenTypes['namespace']=0 | E-04 (行143) | ○ |
| C-85 | TokenModifiers['declaration']=1 | E-04 (行129) | ○ |
| C-86 | MessageType.Error=1 | E-04 (行42) | ○ |
| C-87 | FileChangeType.Created=1 | E-04 (行49) | ○ |
| C-88 | DocumentHighlightKind.Text=1 | E-04 (行36) | ○ |
| C-89 | DiagnosticTag.Unnecessary=1 | E-04 (行31) | ○ |
| C-90 | DiagnosticTag.Deprecated=2 | E-04 (行32) | ○ |
| C-91 | InlayHintKind.Type=1 | E-04 (行193) | ○ |
| C-92 | InlayHintKind.Parameter=2 | E-04 (行194) | ○ |
| C-93 | BuiltIn['math']='default' | E-04 (行180) | ○ |
| C-94 | DiagnosticDefaultSeverityがdiagnostic.getDefaultSeverityを使用 | E-04 (行20), E-05 (行231-237) | ○ |
| C-95 | DiagnosticDefaultNeededFileStatusがdiagnostic.getDefaultStatusを使用 | E-04 (行23), E-05 (行240-246) | ○ |
| C-96 | DiagnosticFileStatus.Any=1 | E-04 (行14) | ○ |
| C-97 | DiagnosticFileStatus.Opened=2 | E-04 (行15) | ○ |
| C-98 | DiagnosticFileStatus.None=3 | E-04 (行16) | ○ |

## 4) 不足情報（Unknown / Missing）
- 根拠なしの項目はありません
- 全てのテストケースがソースコードの実装に基づいて作成されています

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 全テストケースがソースコードに根拠あり
- 注意点：
  - proto.luaの非同期処理（await関連）は実行環境依存のためモック必要
  - converter.luaの位置変換はUTF-16エンコーディング処理が複雑
  - diagnostic.luaのファイル読み込み処理（getDiagAndErrNameMap）はI/Oモック必要

## 6) レビュアーチェックリスト（最小）
- [ ] proto.luaのJSON-RPC通信関連テストケース（UT-PRT-001〜037）が妥当か確認
- [ ] converter.luaの位置変換テストケース（UT-PRT-038〜058）がエンコーディング処理を網羅しているか確認
- [ ] diagnostic.luaの診断登録テストケース（UT-PRT-059〜071）が診断グループを網羅しているか確認
- [ ] define.luaの定数テストケース（UT-PRT-072〜098）がLSP仕様に準拠しているか確認
- [ ] 境界値テスト（空文字列、nil、0値）が適切にカバーされているか確認
- [ ] 異常系テスト（エラーハンドリング）が適切にカバーされているか確認
