---
generated_at: 2026-02-19 10:30:00
metrics:
  claims_total: 105
  claims_with_evidence: 105
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：feature-completion.csv

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：105 / 105、根拠なし：0
- 優先レビュー（高）
  1. **UT-CMP-001〜013**: completion関数のメインテストケース - ソースコード解析に基づく
  2. **UT-CMP-058〜078**: completion_lib.cljの外部連携機能 - ネットワーク依存テスト要注意
  3. **UT-CMP-079〜090**: completion_snippet.cljのスニペット機能 - 設定依存テスト要注意

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

- E-01: `lib/src/clojure_lsp/feature/completion.clj` - メイン補完モジュール（786行）
- E-02: `lib/src/clojure_lsp/feature/completion_lib.clj` - ライブラリ補完モジュール（217行）
- E-03: `lib/src/clojure_lsp/feature/completion_snippet.clj` - スニペットモジュール（236行）
- E-04: `docs/code-to-docs/単体テストケース一覧/plan.md` - テスト計画書

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

### completion.clj関連テストケース

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | completion関数が補完候補を返却する（UT-CMP-001） | E-01: L628-740 defn completion | ○ |
| C-02 | コメント内では空結果を返却する（UT-CMP-002） | E-01: L644-645 comment check | ○ |
| C-03 | require内でns定義要素が返却される（UT-CMP-003） | E-01: L695-699 inside-require? branch | ○ |
| C-04 | refer内で関数定義が返却される（UT-CMP-004） | E-01: L692-693 inside-refer? branch | ○ |
| C-05 | キーワード補完が動作する（UT-CMP-005） | E-01: L704-705 keyword-value? branch | ○ |
| C-06 | エイリアス付きキーワード補完（UT-CMP-006） | E-01: L701-702 aliased-keyword-value? branch | ○ |
| C-07 | エイリアスからの補完（UT-CMP-007） | E-01: L712-714 with-elements-from-alias | ○ |
| C-08 | clojure.core関数の補完（UT-CMP-008） | E-01: L717-718 with-clojure-core-items | ○ |
| C-09 | ClojureScript補完（UT-CMP-009） | E-01: L720-722 supports-cljs? | ○ |
| C-10 | Java定義補完（UT-CMP-010） | E-01: L724-726 with-java-definition-items | ○ |
| C-11 | スニペットマージ（UT-CMP-011） | E-01: L732-734 merging-snippets | ○ |
| C-12 | 補完候補600件制限（UT-CMP-012） | E-01: L739 (take 600) | ○ |
| C-13 | 無効URI処理（UT-CMP-013） | E-01: L629 safe-zloc-of-file | ○ |
| C-14 | resolve-item関数動作（UT-CMP-014〜016） | E-01: L774-785 defn resolve-item | ○ |
| C-15 | add-unresolved関数動作（UT-CMP-017〜018） | E-01: L146-148 defn add-unresolved | ○ |
| C-16 | keyword-element->str動作（UT-CMP-019〜021） | E-01: L52-64 defn keyword-element->str | ○ |
| C-17 | matches-cursor?動作（UT-CMP-022〜025） | E-01: L66-72 defn matches-cursor? | ○ |
| C-18 | supports-cljs?/supports-clj-core?動作（UT-CMP-026〜030） | E-01: L74-78 | ○ |
| C-19 | element->completion-item-kind動作（UT-CMP-031〜035） | E-01: L80-109 | ○ |
| C-20 | java-element->class-name動作（UT-CMP-036〜037） | E-01: L111-114 | ○ |
| C-21 | java-member-flags->kind動作（UT-CMP-038〜040） | E-01: L116-124 | ○ |
| C-22 | element->label動作（UT-CMP-041〜043） | E-01: L126-144 | ○ |
| C-23 | element->completion-item動作（UT-CMP-044〜046） | E-01: L219-254 | ○ |
| C-24 | generic-priority->specific-priority動作（UT-CMP-047〜049） | E-01: L202-217 | ○ |
| C-25 | sorting-and-distincting-items動作（UT-CMP-050〜052） | E-01: L608-617 | ○ |
| C-26 | add-text-edit動作（UT-CMP-053〜055） | E-01: L619-626 | ○ |
| C-27 | remove-first-and-last-char動作（UT-CMP-056〜057） | E-01: L577-579 | ○ |
| C-28 | bucket-elems-xf各メソッド動作（UT-CMP-091〜096） | E-01: L260-310 defmulti/defmethod | ○ |
| C-29 | with-local-items動作（UT-CMP-097） | E-01: L312-329 | ○ |
| C-30 | with-ns-definition-elements動作（UT-CMP-098） | E-01: L356-362 | ○ |
| C-31 | with-refer-elements動作（UT-CMP-099） | E-01: L364-372 | ○ |
| C-32 | merging-snippets動作（UT-CMP-100〜101） | E-01: L581-606 | ○ |
| C-33 | resolve-unresolved各メソッド動作（UT-CMP-102〜103） | E-01: L753-771 defmulti/defmethod | ○ |
| C-34 | find-element-by-ns/position動作（UT-CMP-104〜105） | E-01: L744-751 | ○ |

### completion_lib.clj関連テストケース

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-35 | dep-file?関数動作（UT-CMP-058〜061） | E-02: L23-24 defn dep-file? | ○ |
| C-36 | lib-completion-context関数動作（UT-CMP-062〜067） | E-02: L26-80 defn lib-completion-context | ○ |
| C-37 | fetch-libs!関数動作（UT-CMP-068〜070） | E-02: L172-178 defn fetch-libs! | ○ |
| C-38 | complete関数動作（UT-CMP-071〜073） | E-02: L208-216 defn complete | ○ |
| C-39 | complete-lib-name動作（UT-CMP-074〜075） | E-02: L180-186 defn complete-lib-name | ○ |
| C-40 | complete-lib-version動作（UT-CMP-076〜078） | E-02: L188-206 defn complete-lib-version | ○ |

### completion_snippet.clj関連テストケース

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-41 | known-snippets関数動作（UT-CMP-079〜082） | E-03: L9-209 defn known-snippets | ○ |
| C-42 | build-additional-snippets関数動作（UT-CMP-083〜087） | E-03: L216-235 defn build-additional-snippets | ○ |
| C-43 | replacing-current-form-vars動作（UT-CMP-088〜090） | E-03: L211-214 defn replacing-current-form-vars | ○ |

## 4) 不足情報（Unknown / Missing）
- 根拠なしの項目は存在しない
- 全テストケースがソースコード解析に基づいて生成された

**補足情報（テスト実装時の考慮事項）:**
- completion_lib.cljの外部API呼び出し（Clojars、Maven Central、GitHub）はモック化が必要
- 既存のテストファイル（test/以下）の参照でテストパターンの確認推奨
- rewrite-cljのzloc操作を伴うテストは適切なテストフィクスチャの準備が必要

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコード根拠あり
- 1: 中リスク - 外部API依存テスト（UT-CMP-068〜070）はCI環境での安定性考慮必要
- 1: 中リスク - zloc操作テストはrewrite-cljの挙動理解が必要

## 6) レビュアーチェックリスト（最小）
- [ ] 各テストケースのテスト観点（正常系/異常系/境界値）が適切か
- [ ] 期待結果が具体的かつ検証可能か
- [ ] 優先度の設定が適切か（高：コア機能、中：重要機能、低：ヘルパー）
- [ ] 入力値が実際のテスト実装で再現可能か
- [ ] completion_lib.cljの外部API呼び出しテストのモック化方針が明確か
- [ ] private関数のテストが必要か、またはpublic関数経由でカバー可能か確認
- [ ] defmulti/defmethodの各ディスパッチ値がテストケースでカバーされているか
