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

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

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `modules/lang/scala/config.el` - Scalaモードの設定、共通設定関数、scala-ts-mode設定
- E-02: `modules/lang/scala/autoload.el` - コメント継続関数、REPL起動関数
- E-03: `modules/lang/scala/doctor.el` - 依存関係チェック、警告出力
- E-04: `modules/lang/scala/packages.el` - パッケージ定義

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

### config.el 関連テストケース

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | +scala-common-configがscalafmtをフォーマッタとして設定 | E-01 (config.el L11-12: set-formatter! 'scalafmt) | ○ |
| C-02 | +scala-common-configがREPLハンドラを設定 | E-01 (config.el L13-14: set-repl-handler!) | ○ |
| C-03 | +scala-common-configがリガチャを設定 | E-01 (config.el L15-40: set-ligatures!) | ○ |
| C-04 | +lsp有効時にlsp!がフックに追加される | E-01 (config.el L42-43: when modulep! +lsp, add-hook lsp!) | ○ |
| C-05 | +lsp無効時にlsp!が追加されない | E-01 (config.el L42: when条件による分岐) | ○ |
| C-06 | scala-ts-modeに対して共通設定が適用される | E-01 (config.el L69: +scala-common-config 'scala-ts-mode) | ○ |
| C-07 | scala-indent:align-parametersがtに設定 | E-01 (config.el L47: setq scala-indent:align-parameters t) | ○ |
| C-08 | scala-indent:use-javadoc-styleがtに設定 | E-01 (config.el L49: use-javadoc-style t) | ○ |
| C-09 | comment-line-break-functionが設定される | E-01 (config.el L52: setq-hook! comment-line-break-function) | ○ |
| C-10 | build.sbtがprojectile-project-root-filesに追加 | E-01 (config.el L3-4: add-to-list 'projectile-project-root-files) | ○ |
| C-11 | tree-sitterがscala-ts-modeに設定される | E-01 (config.el L62-63: set-tree-sitter!) | ○ |
| C-12 | scala-ts-modeでlsp-enable-indentationがnil | E-01 (config.el L66-67: setq-hook! lsp-enable-indentation nil) | ○ |

### autoload.el 関連テストケース

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-13 | scaladocコメント内で*が挿入される | E-02 (autoload.el L11-30: cond句第1分岐、insert "*") | ○ |
| C-14 | 行コメント内でcomment-indent-new-lineが呼ばれる | E-02 (autoload.el L31-32: nth 4 state, comment-indent-new-line) | ○ |
| C-15 | コメント外で通常改行される | E-02 (autoload.el L33-35: t分岐、newline, indent-according-to-mode) | ○ |
| C-16 | バッファ末尾近くで正しく動作 | E-02 (autoload.el L16-17: min (+ comment-start-pos 4) (point-max)) | ○ |
| C-17 | コメント外で通常改行（状態分岐） | E-02 (autoload.el L33-35: cond t分岐) | ○ |
| C-18 | sbtプロジェクト内でrun-scalaが実行される | E-02 (autoload.el L41-47: sbt:find-root, run-scala) | ○ |
| C-19 | 既存sbtバッファが再利用される | E-02 (autoload.el L44: comint-check-proc条件) | ○ |
| C-20 | プロセスなしバッファが再作成される | E-02 (autoload.el L44-45: kill-buffer, run-scala) | ○ |
| C-21 | sbtプロジェクト外でscalaコマンドが使用される | E-02 (autoload.el L48-53: make-comint-in-buffer "scala") | ○ |
| C-22 | 既存scala-replバッファが再利用される | E-02 (autoload.el L50-51: comint-check-proc, get-buffer) | ○ |
| C-23 | sbt-mode未インストール時のフォールバック | E-02 (autoload.el L41: require 'sbt-mode nil t) | ○ |

### doctor.el 関連テストケース

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-24 | +lsp有効で:tools lsp有効時にアサーション成功 | E-03 (doctor.el L3-5: assert! or not modulep! +lsp, modulep! :tools lsp) | ○ |
| C-25 | +lsp有効で:tools lsp無効時にエラー | E-03 (doctor.el L5: "This module requires (:tools lsp)") | ○ |
| C-26 | +tree-sitter有効で:tools tree-sitter有効時にアサーション成功 | E-03 (doctor.el L7-9: assert! tree-sitter) | ○ |
| C-27 | +tree-sitter有効で:tools tree-sitter無効時にエラー | E-03 (doctor.el L9: "This module requires (:tools tree-sitter)") | ○ |
| C-28 | metalsインストール済み時に警告なし | E-03 (doctor.el L11-13: if条件) | ○ |
| C-29 | metals未インストール時に警告 | E-03 (doctor.el L13: warn! "metals isn't installed") | ○ |
| C-30 | scalafmtインストール済み時に警告なし | E-03 (doctor.el L15-17: when, unless条件) | ○ |
| C-31 | scalafmt未インストール時に警告 | E-03 (doctor.el L17: warn! "Couldn't find scalafmt") | ○ |

### packages.el 関連テストケース

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-32 | sbt-modeパッケージ定義 | E-04 (packages.el L4: package! sbt-mode :pin) | ○ |
| C-33 | scala-modeパッケージ定義 | E-04 (packages.el L5: package! scala-mode :pin) | ○ |
| C-34 | +tree-sitter有効時にscala-ts-mode定義 | E-04 (packages.el L7-8: when modulep! +tree-sitter, package! scala-ts-mode) | ○ |
| C-35 | +tree-sitter無効時にscala-ts-mode定義されない | E-04 (packages.el L7: when条件による分岐) | ○ |
| C-36 | +lsp有効かつ非eglot時にlsp-metals定義 | E-04 (packages.el L10-12: when modulep! +lsp, -eglot) | ○ |
| C-37 | eglot使用時にlsp-metals定義されない | E-04 (packages.el L11: modulep! :tools lsp -eglot) | ○ |

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

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 全てのテストケースがソースコードに直接対応しており、根拠が明確です
- Emacs Lispの特性上、実行時の動的な挙動（マクロ展開、adviceなど）については追加の確認が望ましい場合があります

## 6) レビュアーチェックリスト（最小）
- [ ] テストケースがモジュールの主要機能を網羅しているか確認
- [ ] +scala-common-config関数のテストケースが各設定項目をカバーしているか確認
- [ ] +scala/open-repl関数の分岐条件（sbtプロジェクト内/外）が正しくテストされているか確認
- [ ] doctor.elの依存関係チェックが全てテストされているか確認
- [ ] packages.elの条件付きパッケージ定義が正しくテストされているか確認
- [ ] 優先度の設定が適切か確認（高：コア機能、中：設定・条件分岐、低：パッケージ定義）
