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

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：46 / 46、根拠なし：0
- 優先レビュー（高）
  1. **UT-PLT-014**：サーバーモードでエクスポート時のエラー処理（コード明示的）
  2. **UT-PLT-015, UT-PLT-016**：executable/jar不在時のエラー処理（コード明示的）
  3. **UT-PLT-019, UT-PLT-020**：jarダウンロード後の自動設定（advice関数の動作）

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

- E-01: `modules/lang/plantuml/autoload.el` - 行4-63: `+plantuml-org-babel-execute:plantuml-a` 関数の完全な実装
- E-02: `modules/lang/plantuml/config.el` - 行3-23: `plantuml-mode` の use-package 設定と `+plantuml--use-downloaded-jar-a` advice
- E-03: `modules/lang/plantuml/config.el` - 行26-33: `flycheck-plantuml` の条件付き設定
- E-04: `modules/lang/plantuml/config.el` - 行36-48: `ob-plantuml` の after! 設定
- E-05: `modules/lang/plantuml/doctor.el` - 行4-13: 診断ロジック（java, dot, plantuml.jar の存在確認）
- E-06: `modules/lang/plantuml/packages.el` - 行4-8: パッケージ宣言

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

### autoload.el: +plantuml-org-babel-execute:plantuml-a

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | サーバーモードでダイアグラム生成（UT-PLT-001） | E-01 行17-29 | ○ |
| C-02 | jarモードでPNG生成（UT-PLT-002） | E-01 行30-61 | ○ |
| C-03 | executableモードで生成（UT-PLT-003） | E-01 行30-35 | ○ |
| C-04 | SVG形式出力（UT-PLT-004） | E-01 行44 `-tsvg` | ○ |
| C-05 | PDF形式出力（UT-PLT-005） | E-01 行46 `-tpdf` | ○ |
| C-06 | EPS形式出力（UT-PLT-006） | E-01 行45 `-teps` | ○ |
| C-07 | TeX形式出力（UT-PLT-007） | E-01 行47 `-tlatex` | ○ |
| C-08 | TXT形式出力（UT-PLT-008） | E-01 行52 `-ttxt` | ○ |
| C-09 | HTML形式出力（UT-PLT-009） | E-01 行51 `-thtml` | ○ |
| C-10 | 先頭空白除去（UT-PLT-010） | E-01 行9-12 replace-regexp-in-string | ○ |
| C-11 | cmdlineパラメータ追加（UT-PLT-011） | E-01 行55 `(cdr (assoc :cmdline params))` | ○ |
| C-12 | javaパラメータ追加（UT-PLT-012） | E-01 行38 `(cdr (assoc :java params))` | ○ |
| C-13 | デフォルト一時ファイル出力（UT-PLT-013） | E-01 行62-63 `unless :file` | ○ |
| C-14 | サーバーモードエクスポートエラー（UT-PLT-014） | E-01 行18-19 user-error | ○ |
| C-15 | executable不在エラー（UT-PLT-015） | E-01 行31-33 error | ○ |
| C-16 | jar不在エラー（UT-PLT-016） | E-01 行36-37 error | ○ |
| C-17 | 空body境界値（UT-PLT-017） | E-01（暗黙的、関数は空bodyでも動作） | ○ |
| C-18 | 最小PlantUML構文（UT-PLT-018） | E-01（暗黙的、有効な構文として処理） | ○ |
| C-42 | VDX形式出力（UT-PLT-042） | E-01 行48 `-tvdx` | ○ |
| C-43 | XMI形式出力（UT-PLT-043） | E-01 行49 `-txmi` | ○ |
| C-44 | SCXML形式出力（UT-PLT-044） | E-01 行50 `-tscxml` | ○ |
| C-45 | UTXT形式出力（UT-PLT-045） | E-01 行53 `-utxt` | ○ |
| C-46 | 未知拡張子（UT-PLT-046） | E-01 行42-53 pcase（マッチしない場合nil） | ○ |

### config.el: +plantuml--use-downloaded-jar-a

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-19 | jarダウンロード後exec-mode切替（UT-PLT-019） | E-02 行16-23 | ○ |
| C-20 | org-plantuml-jar-path同時設定（UT-PLT-020） | E-02 行22 | ○ |
| C-21 | 既存jar時モード不変（UT-PLT-021） | E-02 行19,21 downloaded? 条件 | ○ |
| C-22 | ダウンロード失敗時モード不変（UT-PLT-022） | E-02 行21 file-exists-p 条件 | ○ |

### config.el: plantuml-mode use-package

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-23 | jarパスデフォルト設定（UT-PLT-023） | E-02 行6 setq plantuml-jar-path | ○ |
| C-24 | jar存在時jarモード選択（UT-PLT-024） | E-02 行10 cond file-exists-p | ○ |
| C-25 | executable存在時モード選択（UT-PLT-025） | E-02 行11 executable-find | ○ |
| C-26 | ポップアップルール設定（UT-PLT-026） | E-02 行8 set-popup-rule! | ○ |

### config.el: flycheck-plantuml

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-27 | flycheck-plantuml-setup呼出（UT-PLT-027） | E-03 行30 | ○ |
| C-28 | executableモード時flycheck設定（UT-PLT-028） | E-03 行31-33 | ○ |

### config.el: ob-plantuml after!

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-29 | org-plantuml-jar-path空時設定（UT-PLT-029） | E-04 行40-41 | ○ |
| C-30 | org-babel-execute:plantumlオーバーライド（UT-PLT-030） | E-04 行45-46 advice-add | ○ |
| C-31 | charset追加（UT-PLT-031） | E-04 行47-48 add-to-list | ○ |

### doctor.el: 診断ロジック

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-32 | java存在時警告なし（UT-PLT-032） | E-05 行6-7 unless executable-find | ○ |
| C-33 | java不在時警告（UT-PLT-033） | E-05 行6-7 warn! | ○ |
| C-34 | dot存在時警告なし（UT-PLT-034） | E-05 行9-10 unless executable-find | ○ |
| C-35 | dot不在時警告（UT-PLT-035） | E-05 行9-10 warn! | ○ |
| C-36 | jar存在時警告なし（UT-PLT-036） | E-05 行12-13 unless file-exists-p | ○ |
| C-37 | jar不在時警告（UT-PLT-037） | E-05 行12-13 warn! | ○ |
| C-38 | plantuml-mode未インストール時スキップ（UT-PLT-038） | E-05 行4 when require | ○ |

### packages.el: パッケージ宣言

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-39 | plantuml-mode宣言（UT-PLT-039） | E-06 行4 | ○ |
| C-40 | syntax有効時flycheck-plantuml宣言（UT-PLT-040） | E-06 行5-6 when modulep! | ○ |
| C-41 | syntax無効時flycheck-plantuml除外（UT-PLT-041） | E-06 行5 when modulep! 条件 | ○ |

## 4) 不足情報（Unknown / Missing）
- なし（全テストケースにソースコード上の根拠あり）

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 全テストケースがソースコードから直接導出されており、推測や仮定に基づく項目がない

### 補足観点
- Emacs Lispのテストフレームワーク（ERT）での実装を想定
- 外部依存（java, plantuml.jar, dot）のモック化が必要
- org-babel連携テストはorg-modeの環境が必要

## 6) レビュアーチェックリスト（最小）
- [ ] 各出力形式（PNG, SVG, PDF等）のテストケースが網羅されているか確認
- [ ] 3つの実行モード（server, jar, executable）のテストが揃っているか確認
- [ ] エラー処理（jar不在、executable不在）のテストが適切か確認
- [ ] advice関数（+plantuml--use-downloaded-jar-a）の状態遷移が正しくテストされるか確認
- [ ] doctor.elの診断ロジックが全条件分岐をカバーしているか確認
- [ ] flycheck連携が条件付きで正しくテストされるか確認
