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

# 根拠レポート：modules-term-shell 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `modules/term/shell/autoload.el` - メイン実装ファイル（関数定義）
- E-02: `modules/term/shell/config.el` - 設定ファイル（フック設定）
- E-03: `modules/term/shell/packages.el` - パッケージ定義
- E-04: `modules/term/shell/.doommodule` - モジュール定義

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

### +shell-idle-p 関数（E-01: autoload.el 3-26行目）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | ローカルシェルがアイドル状態の場合にtを返す | E-01: call-processでpgrep -P実行、戻り値1でt | ○ |
| C-02 | ローカルシェルがビジー状態の場合にnilを返す | E-01: pgrep戻り値0でnil（子プロセスあり） | ○ |
| C-03 | リモートシェルがアイドル状態の場合にtを返す | E-01: file-remote-pでリモート判定、comintフォールバック | ○ |
| C-04 | リモートシェルがビジー状態の場合にnilを返す | E-01: comint-says-idleで判定 | ○ |
| C-05 | ポイントが1の場合のエッジケース | E-01: (> (point) 1)条件分岐 | ○ |
| C-06 | pgrepコマンド不在時のフォールバック | E-01: condition-caseでエラーハンドリング | ○ |
| C-07 | プロセス不在時の挙動 | E-01: get-buffer-process使用 | ○ |

### +shell-unused-buffer 関数（E-01: autoload.el 28-31行目）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-08 | アイドルバッファ存在時に既存バッファを返す | E-01: cl-find-ifで+shell-idle-p検索 | ○ |
| C-09 | アイドルバッファ不在時に新規生成 | E-01: generate-new-buffer "*doom:shell*" | ○ |
| C-10 | shell-modeバッファ0件時の挙動 | E-01: doom-buffers-in-modeが空リスト時 | ○ |

### +shell-tramp-hosts 関数（E-01: autoload.el 33-38行目）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-11 | SCPホスト一覧を取得 | E-01: tramp-get-completion-function "scp" | ○ |
| C-12 | ホスト未登録時に空リスト | E-01: cl-reduceで空リスト処理 | ○ |

### +shell--sentinel 関数（E-01: autoload.el 40-42行目）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-13 | exit時にバッファ削除 | E-01: memq (process-status process) '(exit stop) | ○ |
| C-14 | stop時にバッファ削除 | E-01: memq (process-status process) '(exit stop) | ○ |
| C-15 | run状態時は何もしない | E-01: memqで'exit 'stopのみ対象 | ○ |

### +shell--send-input 関数（E-01: autoload.el 44-54行目）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-16 | 入力がシェルに送信される | E-01: comint-send-input呼び出し | ○ |
| C-17 | no-newlineで改行なし送信 | E-01: comint-send-input no-newline引数 | ○ |
| C-18 | input nilで何もしない | E-01: (when input ...)ガード | ○ |
| C-19 | プロンプト待機ポーリング | E-01: while + sleep-for 0.1 | ○ |
| C-20 | 既存入力削除後に新規入力 | E-01: delete-region + insert | ○ |

### +shell/toggle 関数（E-01: autoload.el 57-84行目）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-21 | ポップアップ新規作成 | E-01: get-buffer-create + pop-to-buffer | ○ |
| C-22 | ポップアップ表示中に閉じる | E-01: delete-window + kill-buffer | ○ |
| C-23 | command送信 | E-01: +shell--send-input buffer command | ○ |
| C-24 | persp-mode有効時のバッファ名 | E-01: safe-persp-name (get-current-persp) | ○ |
| C-25 | persp-mode無効時のバッファ名 | E-01: "main"リテラル | ○ |
| C-26 | 既存バッファにcd実行 | E-01: (cd dir)呼び出し | ○ |
| C-27 | センチネル設定 | E-01: set-process-sentinel +shell--sentinel | ○ |

### +shell/here 関数（E-01: autoload.el 86-101行目）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-28 | 未使用バッファ取得してシェル開く | E-01: +shell-unused-buffer + switch-to-buffer | ○ |
| C-29 | 既存バッファにcd実行 | E-01: +shell--send-input (format "cd %S" dir) | ○ |
| C-30 | command送信 | E-01: +shell--send-input buffer command | ○ |
| C-31 | バッファ返却 | E-01: 関数末尾の buffer 返り値 | ○ |
| C-32 | センチネル設定 | E-01: set-process-sentinel +shell--sentinel | ○ |

### config.el フック設定（E-02: config.el 4-5行目）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-33 | doom-mark-buffer-as-real-hフック | E-02: add-hook 'shell-mode-hook #'doom-mark-buffer-as-real-h | ○ |
| C-34 | hide-mode-line-modeフック | E-02: add-hook 'shell-mode-hook #'hide-mode-line-mode | ○ |

## 4) 不足情報（Unknown / Missing）
- なし（全テストケースがソースコードに基づいて生成されている）

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコードから直接導出されている
- 注意点:
  - Emacs Lisp特有のテスト実行環境（ERT等）が必要
  - 外部コマンド（pgrep）依存のテストはモック化を検討
  - TRAMPテストは環境依存性が高い

## 6) レビュアーチェックリスト（最小）
- [ ] テストケースが対象関数の主要なロジックパスを網羅しているか
- [ ] 境界値テスト（ポイント位置、空リスト等）が適切か
- [ ] エラーハンドリング（condition-case）のテストが含まれているか
- [ ] インタラクティブ関数（+shell/toggle, +shell/here）のユーザーシナリオが網羅されているか
- [ ] persp-mode統合のテストが環境に応じて適切か
- [ ] プロセスセンチネルの動作テストが適切か
