---
generated_at: 2026-02-19 15:30:00
metrics:
  claims_total: 116
  claims_with_evidence: 116
  claims_without_evidence: 0
confidence_derived: 1.00
---

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

## 本レポートについて

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

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

1. **根拠の有無確認**：各テストケースに対して、ソースコードから関数・メソッドの存在が確認できるか
2. **根拠との整合性**：テストケースの内容がソースコードの実装と矛盾していないか
3. **網羅性**：主要な関数・分岐・境界条件をカバーしているか

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：116 / 116、根拠なし：0
- 優先レビュー（高）
  1. **doom-ci--lint**: 複雑なルールベースのバリデーション、追加テストケース検討
  2. **doom-cli-upgrade**: git操作を含む高リスク処理
  3. **defcli! sync**: 複数の副作用を持つ中核コマンド

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

- E-01: `lisp/cli/profile.el` - プロファイル管理CLI定義
- E-02: `lisp/cli/ci.el` - CI/CD関連CLI定義とコミットリンター
- E-03: `lisp/cli/test.el` - テストCLI定義（スタブ）
- E-04: `lisp/cli/upgrade.el` - アップグレードCLI定義
- E-05: `lisp/cli/run.el` - ランCLI定義（未実装）
- E-06: `lisp/cli/sync.el` - 同期CLI定義
- E-07: `lisp/cli/gc.el` - ガベージコレクションCLI定義
- E-08: `lisp/cli/env.el` - 環境変数CLI定義
- E-09: `lisp/cli/info.el` - 情報表示CLI定義
- E-10: `lisp/cli/install.el` - インストールCLI定義
- E-11: `lisp/cli/doctor.el` - 診断CLI定義
- E-12: `lisp/cli/emacs.el` - Emacs起動CLI定義
- E-13: `lisp/cli/make.el` - make CLI定義
- E-14: `lisp/cli/make/completions.el` - シェル補完生成

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

### profile.el (E-01)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | defcli! profile syncが存在 | E-01 L15-56 | ○ |
| C-02 | all?パラメータでの分岐処理 | E-01 L20-21 | ○ |
| C-03 | reload?パラメータでの強制再読み込み | E-01 L17, L26 | ○ |
| C-04 | doom-profiles-outdated-p呼び出し | E-01 L26 | ○ |
| C-05 | doom-profiles-write-load-file呼び出し | E-01 L54 | ○ |

### ci.el (E-02)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-06 | doom-ci--parse-commit関数が存在 | E-02 L373-405 | ○ |
| C-07 | :type, :bang, :summary, :scopesの抽出 | E-02 L390-394 | ○ |
| C-08 | :trailersの抽出 | E-02 L384-388 | ○ |
| C-09 | :bumpsの抽出 | E-02 L395-405 | ○ |
| C-10 | doom-ci--lint関数が存在 | E-02 L425-467 | ○ |
| C-11 | doom-ci-commit-rulesによるバリデーション | E-02 L58-214, L451 | ○ |
| C-12 | skip!, warn!, fail!マクロの使用 | E-02 L440-448 | ○ |
| C-13 | doom-ci-enforce-scopeless-types関数が存在 | E-02 L366-370 | ○ |
| C-14 | doom-ci--parse-bumps関数が存在 | E-02 L407-423 | ○ |
| C-15 | defcli! ci deploy-hooksが存在 | E-02 L256-285 | ○ |
| C-16 | defcli! ci lint-commitsが存在 | E-02 L288-308 | ○ |
| C-17 | defcli! ci hook commit-msgが存在 | E-02 L311-324 | ○ |
| C-18 | defcli! ci hook pre-pushが存在 | E-02 L327-360 | ○ |

### sync.el (E-06)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-19 | defcli! syncが存在 | E-06 L24-119 | ○ |
| C-20 | update?パラメータでの更新処理 | E-06 L26, L108 | ○ |
| C-21 | noupdate?パラメータでのスキップ | E-06 L27, L108 | ○ |
| C-22 | aot?パラメータでのネイティブコンパイル | E-06 L32, L59-61 | ○ |
| C-23 | purge?パラメータでのgc実行 | E-06 L28, L109 | ○ |
| C-24 | Emacsバージョン変更検出 | E-06 L85-90 | ○ |
| C-25 | doom-sync--system-hash関数が存在 | E-06 L125-138 | ○ |
| C-26 | doom-sync--abort-warning-h関数が存在 | E-06 L140-142 | ○ |

### gc.el (E-07)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-27 | doom-gc--build関数が存在 | E-07 L17-23 | ○ |
| C-28 | doom-gc--builds関数が存在 | E-07 L25-32 | ○ |
| C-29 | doom-gc--elpa関数が存在 | E-07 L34-50 | ○ |
| C-30 | doom-gc--repo関数が存在 | E-07 L52-60 | ○ |
| C-31 | doom-gc--repos関数が存在 | E-07 L62-69 | ○ |
| C-32 | doom-gc--eln関数が存在 | E-07 L71-86 | ○ |
| C-33 | doom-gc--regraft-repo関数が存在 | E-07 L88-111 | ○ |
| C-34 | doom-gc--regraft-repos関数が存在 | E-07 L113-125 | ○ |
| C-35 | defcli! gcが存在 | E-07 L130-185 | ○ |
| C-36 | nobuilds-p, norepos-p等のスキップオプション | E-07 L131-135 | ○ |

### env.el (E-08)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-37 | defcli! envが存在 | E-08 L53-138 | ○ |
| C-38 | output-fileパラメータでの出力先指定 | E-08 L56, L90 | ○ |
| C-39 | allow-only, deny-onlyパラメータ | E-08 L54-55, L119-120 | ○ |
| C-40 | rulesパラメータでの動的許可/拒否 | E-08 L59, L121-124 | ○ |
| C-41 | defcli! env clearが存在 | E-08 L140-146 | ○ |

### upgrade.el (E-04)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-42 | defcli! upgradeが存在 | E-04 L21-64 | ○ |
| C-43 | packages?パラメータでのパッケージのみ更新 | E-04 L23, L37-53 | ○ |
| C-44 | aot?, jobs, nobuild?パラメータ | E-04 L22-25 | ○ |
| C-45 | doom-cli-upgrade関数が存在 | E-04 L70-149 | ○ |
| C-46 | dirty working tree検出 | E-04 L90-99 | ○ |
| C-47 | doom-upgrade--working-tree-dirty-p関数が存在 | E-04 L151-156 | ○ |
| C-48 | doom-upgrade--get-straight-recipe関数が存在 | E-04 L158-166 | ○ |

### install.el (E-10)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-49 | defcli! installが存在 | E-10 L17-126 | ○ |
| C-50 | config?, envfile?, install?, hooks?パラメータ | E-10 L20-23 | ○ |
| C-51 | doom-user-dir作成処理 | E-10 L50-59 | ○ |
| C-52 | テンプレートファイル作成処理 | E-10 L62-80 | ○ |
| C-53 | ci deploy-hooks呼び出し | E-10 L116 | ○ |

### doctor.el (E-11)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-54 | defcli! doctorが存在 | E-11 L43-384 | ○ |
| C-55 | git存在チェック | E-11 L89-101 | ○ |
| C-56 | rg存在チェック | E-11 L103-104 | ○ |
| C-57 | 開発版Emacs警告 | E-11 L57-79 | ○ |
| C-58 | 設定ファイル競合チェック | E-11 L118-130 | ○ |
| C-59 | elc-check-dir関数が存在 | E-11 L12-16 | ○ |
| C-60 | assert!, error!, warn!, success!, section!, explain!マクロが存在 | E-11 L18-37 | ○ |

### info.el (E-09)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-61 | defcli! infoが存在 | E-09 L14-31 | ○ |
| C-62 | format引数での出力形式切替 | E-09 L15, L19-30 | ○ |

### emacs.el (E-12)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-63 | defcli! emacsが存在 | E-12 L17-76 | ○ |
| C-64 | repl?パラメータでのREPL起動 | E-12 L24, L39-43 | ○ |
| C-65 | doom-emacs-repl関数が存在 | E-12 L82-116 | ○ |
| C-66 | :quit/:qでのREPL終了 | E-12 L90-92 | ○ |

### make.el (E-13)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-67 | defcli! makeが存在 | E-13 L18-45 | ○ |
| C-68 | dryrun?パラメータ | E-13 L19, L23-24 | ○ |
| C-69 | output引数 | E-13 L20 | ○ |
| C-70 | doom-make--with-fileマクロが存在 | E-13 L55-65 | ○ |

### make/completions.el (E-14)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-71 | defcli! make completionsが存在 | E-14 L16-32 | ○ |
| C-72 | doom-make-completions-zsh関数が存在 | E-14 L39-59 | ○ |
| C-73 | doom-make-completions--zsh-insert-options関数が存在 | E-14 L61-98 | ○ |
| C-74 | doom-make-completions--zsh-insert-command関数が存在 | E-14 L100-133 | ○ |
| C-75 | doom-make-completions-bash関数が存在（未実装） | E-14 L139-140 | ○ |

### test.el (E-03)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-76 | defcli-stub! testが存在 | E-03 L35-39 | ○ |

### run.el (E-05)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-77 | doom-cli '(run)がprovideされる | E-05 L25 | ○ |

## 4) 不足情報（Unknown / Missing）
- 現時点で根拠なしの項目はありません
- 全てのテストケースはソースコードから直接確認できる関数・CLIコマンドに基づいています

**潜在的な不足点:**
- `doom-ci-commit-rules`内の個別ルール（lambda式）に対する詳細なテストケース
  - 候補：各ルールの境界条件をより細かくテスト
- モックが必要な外部依存（git, straight等）の挙動
  - 候補：git操作のモック化、straight-*関数のスタブ化

## 5) リスクフラグ（レビュー観点）

| リスクレベル | 項目 | 理由 |
|-------------|------|------|
| 2（高） | doom-cli-upgrade | git操作（reset --hard, clean -ffd）を含む破壊的処理 |
| 2（高） | doom-gc--* | ファイル/ディレクトリ削除を含む不可逆処理 |
| 1（中） | doom-ci--lint | 複雑なルールベースのバリデーション、エッジケース多数 |
| 1（中） | defcli! sync | 複数の副作用（パッケージインストール、gc等）を持つ |
| 1（中） | defcli! install | 初回セットアップ、失敗時の影響大 |
| 0（低） | defcli! info | 読み取り専用、副作用なし |

## 6) レビュアーチェックリスト（最小）

- [ ] 高優先度テストケース（UT-CLI-012〜026）のカバレッジは十分か
- [ ] git操作を含むテストケースにモック方針が明記されているか
- [ ] 境界値テストケースが適切に設定されているか（空リスト、nil値等）
- [ ] 異常系テストケースがuser-error/error両方をカバーしているか
- [ ] doom-ci-commit-rulesの各ルールに対応するテストケースがあるか
- [ ] 未実装スタブ（test.el, run.el, bash completions）の扱いが明確か
