---
generated_at: 2026-02-19 12:30:00
metrics:
  claims_total: 162
  claims_with_evidence: 162
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：lib-core 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `lib/src/clojure_lsp/api.clj` - Public API関数定義（analyze-project-and-deps!, analyze-project-only!, clean-ns!, diagnostics, format!, rename!, references, dump）
- E-02: `lib/src/clojure_lsp/classpath.clj` - クラスパス処理関数（project-specs->hash, scan-classpath!, default-project-specs）
- E-03: `lib/src/clojure_lsp/clj_depend.clj` - 依存関係解析関数（analyze-uri!, analyze-paths!, db-with-results）
- E-04: `lib/src/clojure_lsp/config.clj` - 設定管理関数（read-edn-file, global-config-file, global-cache-dir, local-cache-dir, resolve-for-root, settings-hash, deep-merge-considering-settings, classpath-config-paths?）
- E-05: `lib/src/clojure_lsp/custom_linters_api.clj` - カスタムリンターAPI（external-analysis, internal-analysis, find-definition, find-references, find-element, filename->uri, uri->filename, inside?, fast=）
- E-06: `lib/src/clojure_lsp/db.clj` - データベース操作（db-exists?, remove-db!, upsert-local-cache!, read-local-cache, read-global-cache）
- E-07: `lib/src/clojure_lsp/dep_graph.clj` - 依存グラフ操作（uri-internal?, refresh-analysis, remove-doc, ns-uris, ns-internal-uris, ns-dependents-uris, internal-uris, internal-ns-names, ns-aliases）
- E-08: `lib/src/clojure_lsp/diff.clj` - 差分生成（unified-diff, rename-diff, colorize-diff）
- E-09: `lib/src/clojure_lsp/handlers.clj` - LSPハンドラ（initialize, initialized, shutdown, did-open, did-change, did-close, completion, definition, references, hover, formatting, rename, code-actions）
- E-10: `lib/src/clojure_lsp/http.clj` - HTTP操作（test-remote-url!, request!）
- E-11: `lib/src/clojure_lsp/internal_api.clj` - 内部API（clean-db!, analyze-project-and-deps!, analyze-project-only!, clean-ns!, diagnostics, format!, rename!, references, dump）
- E-12: `lib/src/clojure_lsp/kondo.clj` - clj-kondo連携（clj-kondo-version, home-config-path, project-config-path, config-hash, db-with-analysis, db-with-results, run-kondo-on-paths!, run-kondo-on-text!）
- E-13: `lib/src/clojure_lsp/logger.clj` - ログ機能（ILoggerプロトコル、set-logger!, info, warn, error, debug）
- E-14: `lib/src/clojure_lsp/parser.clj` - パーサー（same-range?, safe-zloc-of-string, zloc-of-file, safe-zloc-of-file, safe-zloc-sexpr, to-pos, lein-zloc->edn）
- E-15: `lib/src/clojure_lsp/producer.clj` - プロデューサーインターフェース（IProducerプロトコル）
- E-16: `lib/src/clojure_lsp/queries.clj` - クエリ関数（find-definition, find-declaration, find-implementations, find-references, find-element-under-cursor, find-var-definitions, find-namespace-definition-by-uri, find-unused-aliases, find-element-from-sym, exclude-public-definition?, element->symbol-kind）
- E-17: `lib/src/clojure_lsp/settings.clj` - 設定管理（parse-source-paths, parse-source-aliases, clean-client-settings, all, get, set-all）
- E-18: `lib/src/clojure_lsp/shared.clj` - 共通ユーティリティ（colorize, fast=, deep-merge, file-exists?, directory?, uri->filename, filename->uri, uri->file-type, uri->available-langs, relativize-filepath, inside?, position->row-col, row-col->position, ->range, md5, ignore-path?）
- E-19: `lib/src/clojure_lsp/source_paths.clj` - ソースパス処理（deps-file->local-roots, process-source-paths）
- E-20: `lib/src/clojure_lsp/startup.clj` - 起動処理（lerp, init-tasks, batched-task, partial-task, publish-task-progress, initialize-project）
- E-21: `lib/src/clojure_lsp/common_symbols.clj` - 共通シンボル定義（clj-syms, cljs-syms, common-refers->info, common-alias->info）

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | api.clj: analyze-project-and-deps!関数のテストケース（正常系） | E-01 | ○ |
| C-02 | api.clj: analyze-project-and-deps!関数のテストケース（nil入力） | E-01 | ○ |
| C-03 | api.clj: analyze-project-and-deps!関数のテストケース（存在しないパス） | E-01 | ○ |
| C-04 | api.clj: analyze-project-only!関数のテストケース | E-01 | ○ |
| C-05 | api.clj: clean-ns!関数のテストケース（正常系） | E-01 | ○ |
| C-06 | api.clj: clean-ns!関数のテストケース（空配列） | E-01 | ○ |
| C-07 | api.clj: diagnostics関数のテストケース | E-01 | ○ |
| C-08 | api.clj: format!関数のテストケース | E-01 | ○ |
| C-09 | api.clj: rename!関数のテストケース（正常系） | E-01 | ○ |
| C-10 | api.clj: rename!関数のテストケース（型チェック） | E-01 | ○ |
| C-11 | api.clj: references関数のテストケース | E-01 | ○ |
| C-12 | api.clj: dump関数のテストケース | E-01 | ○ |
| C-13 | classpath.clj: project-specs->hash関数のテストケース | E-02 | ○ |
| C-14 | classpath.clj: scan-classpath!関数のテストケース | E-02 | ○ |
| C-15 | classpath.clj: default-project-specs関数のテストケース（nil） | E-02 | ○ |
| C-16 | classpath.clj: default-project-specs関数のテストケース（エイリアス指定） | E-02 | ○ |
| C-17 | clj_depend.clj: analyze-uri!関数のテストケース（正常系） | E-03 | ○ |
| C-18 | clj_depend.clj: analyze-uri!関数のテストケース（nil処理） | E-03 | ○ |
| C-19 | clj_depend.clj: analyze-paths!関数のテストケース | E-03 | ○ |
| C-20 | clj_depend.clj: db-with-results関数のテストケース | E-03 | ○ |
| C-21 | config.clj: read-edn-file関数のテストケース（正常系） | E-04 | ○ |
| C-22 | config.clj: read-edn-file関数のテストケース（エラー処理） | E-04 | ○ |
| C-23 | config.clj: global-config-file関数のテストケース | E-04 | ○ |
| C-24 | config.clj: global-cache-dir関数のテストケース | E-04 | ○ |
| C-25 | config.clj: local-cache-dir関数のテストケース | E-04 | ○ |
| C-26 | config.clj: resolve-for-root関数のテストケース（正常系） | E-04 | ○ |
| C-27 | config.clj: resolve-for-root関数のテストケース（nil処理） | E-04 | ○ |
| C-28 | config.clj: settings-hash関数のテストケース | E-04 | ○ |
| C-29 | config.clj: deep-merge-considering-settings関数のテストケース | E-04 | ○ |
| C-30 | config.clj: classpath-config-paths?関数のテストケース（正常系） | E-04 | ○ |
| C-31 | config.clj: classpath-config-paths?関数のテストケース（空配列） | E-04 | ○ |
| C-32 | custom_linters_api.clj: external-analysis関数のテストケース | E-05 | ○ |
| C-33 | custom_linters_api.clj: internal-analysis関数のテストケース | E-05 | ○ |
| C-34 | custom_linters_api.clj: find-definition関数のテストケース | E-05 | ○ |
| C-35 | custom_linters_api.clj: find-references関数のテストケース | E-05 | ○ |
| C-36 | custom_linters_api.clj: find-element関数のテストケース | E-05 | ○ |
| C-37 | custom_linters_api.clj: filename->uri関数のテストケース | E-05 | ○ |
| C-38 | custom_linters_api.clj: uri->filename関数のテストケース | E-05 | ○ |
| C-39 | custom_linters_api.clj: inside?関数のテストケース | E-05 | ○ |
| C-40 | custom_linters_api.clj: fast=関数のテストケース | E-05 | ○ |
| C-41 | db.clj: db-exists?関数のテストケース（存在時） | E-06 | ○ |
| C-42 | db.clj: db-exists?関数のテストケース（不在時） | E-06 | ○ |
| C-43 | db.clj: remove-db!関数のテストケース | E-06 | ○ |
| C-44 | db.clj: upsert-local-cache!関数のテストケース | E-06 | ○ |
| C-45 | db.clj: read-local-cache関数のテストケース（正常系） | E-06 | ○ |
| C-46 | db.clj: read-local-cache関数のテストケース（不一致） | E-06 | ○ |
| C-47 | db.clj: read-global-cache関数のテストケース | E-06 | ○ |
| C-48 | dep_graph.clj: uri-internal?関数のテストケース | E-07 | ○ |
| C-49 | dep_graph.clj: refresh-analysis関数のテストケース | E-07 | ○ |
| C-50 | dep_graph.clj: remove-doc関数のテストケース | E-07 | ○ |
| C-51 | dep_graph.clj: ns-uris関数のテストケース | E-07 | ○ |
| C-52 | dep_graph.clj: ns-internal-uris関数のテストケース | E-07 | ○ |
| C-53 | dep_graph.clj: ns-dependents-uris関数のテストケース | E-07 | ○ |
| C-54 | dep_graph.clj: internal-uris関数のテストケース | E-07 | ○ |
| C-55 | dep_graph.clj: internal-ns-names関数のテストケース | E-07 | ○ |
| C-56 | dep_graph.clj: ns-aliases関数のテストケース | E-07 | ○ |
| C-57 | diff.clj: unified-diff関数のテストケース（正常系） | E-08 | ○ |
| C-58 | diff.clj: unified-diff関数のテストケース（同一内容） | E-08 | ○ |
| C-59 | diff.clj: rename-diff関数のテストケース | E-08 | ○ |
| C-60 | diff.clj: colorize-diff関数のテストケース | E-08 | ○ |
| C-61 | handlers.clj: initialize関数のテストケース | E-09 | ○ |
| C-62 | handlers.clj: initialized関数のテストケース | E-09 | ○ |
| C-63 | handlers.clj: shutdown関数のテストケース | E-09 | ○ |
| C-64 | handlers.clj: did-open関数のテストケース | E-09 | ○ |
| C-65 | handlers.clj: did-change関数のテストケース | E-09 | ○ |
| C-66 | handlers.clj: did-close関数のテストケース | E-09 | ○ |
| C-67 | handlers.clj: completion関数のテストケース | E-09 | ○ |
| C-68 | handlers.clj: definition関数のテストケース | E-09 | ○ |
| C-69 | handlers.clj: references関数のテストケース | E-09 | ○ |
| C-70 | handlers.clj: hover関数のテストケース | E-09 | ○ |
| C-71 | handlers.clj: formatting関数のテストケース | E-09 | ○ |
| C-72 | handlers.clj: rename関数のテストケース | E-09 | ○ |
| C-73 | handlers.clj: code-actions関数のテストケース | E-09 | ○ |
| C-74 | http.clj: test-remote-url!関数のテストケース（正常系） | E-10 | ○ |
| C-75 | http.clj: test-remote-url!関数のテストケース（接続失敗） | E-10 | ○ |
| C-76 | http.clj: test-remote-url!関数のテストケース（非HTTP URL） | E-10 | ○ |
| C-77 | http.clj: request!関数のテストケース（正常系） | E-10 | ○ |
| C-78 | http.clj: request!関数のテストケース（失敗時） | E-10 | ○ |
| C-79 | internal_api.clj: clean-db!関数のテストケース | E-11 | ○ |
| C-80 | internal_api.clj: analyze-project-and-deps!関数のテストケース | E-11 | ○ |
| C-81 | internal_api.clj: analyze-project-only!関数のテストケース | E-11 | ○ |
| C-82 | internal_api.clj: clean-ns!関数のテストケース | E-11 | ○ |
| C-83 | internal_api.clj: diagnostics関数のテストケース | E-11 | ○ |
| C-84 | internal_api.clj: format!関数のテストケース | E-11 | ○ |
| C-85 | internal_api.clj: rename!関数のテストケース | E-11 | ○ |
| C-86 | internal_api.clj: references関数のテストケース | E-11 | ○ |
| C-87 | internal_api.clj: dump関数のテストケース | E-11 | ○ |
| C-88 | kondo.clj: clj-kondo-version関数のテストケース | E-12 | ○ |
| C-89 | kondo.clj: home-config-path関数のテストケース | E-12 | ○ |
| C-90 | kondo.clj: project-config-path関数のテストケース | E-12 | ○ |
| C-91 | kondo.clj: config-hash関数のテストケース | E-12 | ○ |
| C-92 | kondo.clj: db-with-analysis関数のテストケース | E-12 | ○ |
| C-93 | kondo.clj: db-with-results関数のテストケース | E-12 | ○ |
| C-94 | kondo.clj: run-kondo-on-paths!関数のテストケース | E-12 | ○ |
| C-95 | kondo.clj: run-kondo-on-text!関数のテストケース | E-12 | ○ |
| C-96 | logger.clj: set-logger!関数のテストケース | E-13 | ○ |
| C-97 | logger.clj: infoマクロのテストケース | E-13 | ○ |
| C-98 | logger.clj: warnマクロのテストケース | E-13 | ○ |
| C-99 | logger.clj: errorマクロのテストケース | E-13 | ○ |
| C-100 | parser.clj: same-range?関数のテストケース（一致） | E-14 | ○ |
| C-101 | parser.clj: same-range?関数のテストケース（不一致） | E-14 | ○ |
| C-102 | parser.clj: safe-zloc-of-string関数のテストケース（正常系） | E-14 | ○ |
| C-103 | parser.clj: safe-zloc-of-string関数のテストケース（不正コード） | E-14 | ○ |
| C-104 | parser.clj: zloc-of-file関数のテストケース | E-14 | ○ |
| C-105 | parser.clj: safe-zloc-of-file関数のテストケース | E-14 | ○ |
| C-106 | parser.clj: safe-zloc-sexpr関数のテストケース | E-14 | ○ |
| C-107 | parser.clj: to-pos関数のテストケース | E-14 | ○ |
| C-108 | parser.clj: lein-zloc->edn関数のテストケース | E-14 | ○ |
| C-109 | queries.clj: find-definition関数のテストケース（正常系） | E-16 | ○ |
| C-110 | queries.clj: find-definition関数のテストケース（未発見） | E-16 | ○ |
| C-111 | queries.clj: find-declaration関数のテストケース | E-16 | ○ |
| C-112 | queries.clj: find-implementations関数のテストケース | E-16 | ○ |
| C-113 | queries.clj: find-references関数のテストケース | E-16 | ○ |
| C-114 | queries.clj: find-element-under-cursor関数のテストケース | E-16 | ○ |
| C-115 | queries.clj: find-var-definitions関数のテストケース | E-16 | ○ |
| C-116 | queries.clj: find-namespace-definition-by-uri関数のテストケース | E-16 | ○ |
| C-117 | queries.clj: find-unused-aliases関数のテストケース | E-16 | ○ |
| C-118 | queries.clj: find-element-from-sym関数のテストケース | E-16 | ○ |
| C-119 | queries.clj: exclude-public-definition?関数のテストケース | E-16 | ○ |
| C-120 | queries.clj: element->symbol-kind関数のテストケース | E-16 | ○ |
| C-121 | settings.clj: parse-source-paths関数のテストケース（正常系） | E-17 | ○ |
| C-122 | settings.clj: parse-source-paths関数のテストケース（空） | E-17 | ○ |
| C-123 | settings.clj: parse-source-aliases関数のテストケース | E-17 | ○ |
| C-124 | settings.clj: clean-client-settings関数のテストケース | E-17 | ○ |
| C-125 | settings.clj: all関数のテストケース | E-17 | ○ |
| C-126 | settings.clj: get関数のテストケース（正常系） | E-17 | ○ |
| C-127 | settings.clj: get関数のテストケース（デフォルト値） | E-17 | ○ |
| C-128 | settings.clj: set-all関数のテストケース | E-17 | ○ |
| C-129 | shared.clj: colorize関数のテストケース | E-18 | ○ |
| C-130 | shared.clj: fast=関数のテストケース（一致） | E-18 | ○ |
| C-131 | shared.clj: fast=関数のテストケース（不一致） | E-18 | ○ |
| C-132 | shared.clj: deep-merge関数のテストケース（正常系） | E-18 | ○ |
| C-133 | shared.clj: deep-merge関数のテストケース（nil） | E-18 | ○ |
| C-134 | shared.clj: file-exists?関数のテストケース | E-18 | ○ |
| C-135 | shared.clj: directory?関数のテストケース | E-18 | ○ |
| C-136 | shared.clj: uri->filename関数のテストケース（正常系） | E-18 | ○ |
| C-137 | shared.clj: uri->filename関数のテストケース（jar URI） | E-18 | ○ |
| C-138 | shared.clj: filename->uri関数のテストケース | E-18 | ○ |
| C-139 | shared.clj: uri->file-type関数のテストケース（正常系） | E-18 | ○ |
| C-140 | shared.clj: uri->file-type関数のテストケース（不明拡張子） | E-18 | ○ |
| C-141 | shared.clj: uri->available-langs関数のテストケース | E-18 | ○ |
| C-142 | shared.clj: relativize-filepath関数のテストケース | E-18 | ○ |
| C-143 | shared.clj: inside?関数のテストケース（範囲内） | E-18 | ○ |
| C-144 | shared.clj: inside?関数のテストケース（nil） | E-18 | ○ |
| C-145 | shared.clj: position->row-col関数のテストケース | E-18 | ○ |
| C-146 | shared.clj: row-col->position関数のテストケース | E-18 | ○ |
| C-147 | shared.clj: ->range関数のテストケース（正常系） | E-18 | ○ |
| C-148 | shared.clj: ->range関数のテストケース（nil） | E-18 | ○ |
| C-149 | shared.clj: md5関数のテストケース | E-18 | ○ |
| C-150 | shared.clj: ignore-path?関数のテストケース | E-18 | ○ |
| C-151 | source_paths.clj: deps-file->local-roots関数のテストケース | E-19 | ○ |
| C-152 | source_paths.clj: process-source-paths関数のテストケース（正常系） | E-19 | ○ |
| C-153 | source_paths.clj: process-source-paths関数のテストケース（指定パス） | E-19 | ○ |
| C-154 | startup.clj: lerp関数のテストケース（正常系） | E-20 | ○ |
| C-155 | startup.clj: lerp関数のテストケース（t=0） | E-20 | ○ |
| C-156 | startup.clj: lerp関数のテストケース（t=1） | E-20 | ○ |
| C-157 | startup.clj: init-tasks関数のテストケース | E-20 | ○ |
| C-158 | startup.clj: batched-task関数のテストケース | E-20 | ○ |
| C-159 | startup.clj: partial-task関数のテストケース | E-20 | ○ |
| C-160 | startup.clj: publish-task-progress関数のテストケース（正常系） | E-20 | ○ |
| C-161 | startup.clj: publish-task-progress関数のテストケース（nil token） | E-20 | ○ |
| C-162 | startup.clj: initialize-project関数のテストケース | E-20 | ○ |

## 4) 不足情報（Unknown / Missing）
- なし
  - 全テストケースはソースコードから直接抽出された関数定義に基づいている

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコードの関数定義に基づいており、信頼度は高い
- 注意点:
  - プライベート関数（defn-）はテスト対象外としている
  - マクロ（defmacro）については一部のみ対象としている
  - common_symbols.cljはデータ定義のみのため、テストケースは生成していない

## 6) レビュアーチェックリスト（最小）
- [ ] テストケースが主要なpublic関数を網羅しているか確認
- [ ] 優先度「高」のテストケースがビジネスロジックの中核機能をカバーしているか確認
- [ ] 境界値テストケースが適切に設計されているか確認
- [ ] 異常系テストケースが適切なエラーハンドリングをカバーしているか確認
- [ ] テストID命名規則（UT-LCR-XXX）が一貫しているか確認
