---
generated_at: 2026-03-01 12:30:00
metrics:
  claims_total: 140
  claims_with_evidence: 140
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：actionmailer.csv

## 本レポートについて

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

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

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

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

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

---

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

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

- E-01: `actionmailer/lib/action_mailer.rb`（ActionMailerモジュール定義）
- E-02: `actionmailer/lib/action_mailer/base.rb`（ActionMailer::Baseクラス定義、1073行）
- E-03: `actionmailer/lib/action_mailer/message_delivery.rb`（MessageDeliveryクラス定義、191行）
- E-04: `actionmailer/lib/action_mailer/delivery_methods.rb`（DeliveryMethodsモジュール定義、84行）
- E-05: `actionmailer/lib/action_mailer/parameterized.rb`（Parameterizedモジュール定義、155行）
- E-06: `actionmailer/lib/action_mailer/test_helper.rb`（TestHelperモジュール定義、265行）
- E-07: `actionmailer/lib/action_mailer/preview.rb`（Preview クラス定義、143行）
- E-08: `actionmailer/lib/action_mailer/mail_delivery_job.rb`（MailDeliveryJobクラス定義、49行）
- E-09: `actionmailer/lib/action_mailer/collector.rb`（Collectorクラス定義、33行）
- E-10: `actionmailer/lib/action_mailer/callbacks.rb`（Callbacksモジュール定義、38行）
- E-11: `actionmailer/lib/action_mailer/rescuable.rb`（Rescuableモジュール定義、34行）
- E-12: `actionmailer/lib/action_mailer/queued_delivery.rb`（QueuedDeliveryモジュール定義、13行）
- E-13: `actionmailer/lib/action_mailer/inline_preview_interceptor.rb`（InlinePreviewInterceptorクラス定義、60行）
- E-14: `actionmailer/lib/action_mailer/mail_helper.rb`（MailHelperモジュール定義、83行）
- E-15: `actionmailer/lib/action_mailer/log_subscriber.rb`（LogSubscriberクラス定義、45行）
- E-16: `actionmailer/lib/action_mailer/test_case.rb`（TestCaseクラス定義、187行）
- E-17: `actionmailer/lib/action_mailer/form_builder.rb`（FormBuilderモジュール定義、38行）
- E-18: `actionmailer/lib/action_mailer/version.rb`（バージョン定義、12行）
- E-19: `actionmailer/lib/action_mailer/gem_version.rb`（gemバージョン定義、18行）
- E-20: `actionmailer/lib/action_mailer/deprecator.rb`（deprecator定義、8行）
- E-21: `actionmailer/lib/action_mailer/structured_event_subscriber.rb`（StructuredEventSubscriber定義、39行）
- E-22: `actionmailer/lib/action_mailer/railtie.rb`（Railtie設定、91行）

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

### ActionMailer::Base（E-02）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | initialize: Mail::Messageが生成される | E-02 L639-643 | ○ |
| C-02 | initialize: _mail_was_calledがfalse | E-02 L641 | ○ |
| C-03 | mail: ヘッダー付きでメール作成 | E-02 L865-898 | ○ |
| C-04 | mail: ブロック付きテンプレートレンダリング | E-02 L969-983 | ○ |
| C-05 | mail: デフォルト値適用 | E-02 L942-950 | ○ |
| C-06 | mail: 二重呼び出し防止 | E-02 L866 | ○ |
| C-07 | mail: テンプレート不在時エラー | E-02 L1005-1012 | ○ |
| C-08 | attachments: 添付ファイル追加 | E-02 L756-762 | ○ |
| C-09 | attachments: mail後の添付禁止 | E-02 L764-773 | ○ |
| C-10 | headers: カスタムヘッダー設定 | E-02 L718-724 | ○ |
| C-11 | headers: 引数なしでメッセージ返却 | E-02 L721-723 | ○ |
| C-12 | mailer_name: メーラー名取得 | E-02 L569-576 | ○ |
| C-13 | mailer_name: 匿名クラス対応 | E-02 L572 | ○ |
| C-14 | email_address_with_name: 名前付きアドレス | E-02 L603-608 | ○ |
| C-15 | email_address_with_name: 空名前処理 | E-02 L606 | ○ |
| C-16 | process: アクション実行 | E-02 L645-657 | ○ |
| C-17 | process: NullMail設定 | E-02 L654 | ○ |
| C-18 | register_observer: オブザーバー登録 | E-02 L534-536 | ○ |
| C-19 | register_observer: 文字列対応 | E-02 L559-566 | ○ |
| C-20 | unregister_observer: オブザーバー解除 | E-02 L541-543 | ○ |
| C-21 | register_interceptor: インターセプター登録 | E-02 L548-550 | ○ |
| C-22 | unregister_interceptor: インターセプター解除 | E-02 L555-557 | ○ |
| C-23 | register_observers: 複数登録 | E-02 L512-514 | ○ |
| C-24 | register_interceptors: 複数登録 | E-02 L521-523 | ○ |
| C-25 | default: デフォルト設定 | E-02 L581-584 | ○ |
| C-26 | default: Proc対応 | E-02 L952-959 | ○ |
| C-27 | deliver_mail: Notifications発行 | E-02 L593-598 | ○ |
| C-28 | NullMail.body: 空文字列 | E-02 L660 | ○ |
| C-29 | NullMail.respond_to?: true返却 | E-02 L663-665 | ○ |

### ActionMailer::MessageDelivery（E-03）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-30 | initialize: インスタンス変数設定 | E-03 L54-61 | ○ |
| C-31 | message: Mail::Message返却 | E-03 L75-77 | ○ |
| C-32 | deliver_now: 即時配信 | E-03 L157-163 | ○ |
| C-33 | deliver_now!: 強制即時配信 | E-03 L145-151 | ○ |
| C-34 | deliver_later: キュー登録 | E-03 L136-138 | ○ |
| C-35 | deliver_later: wait オプション | E-03 L117-126 | ○ |
| C-36 | deliver_later: wait_until オプション | E-03 L117-126 | ○ |
| C-37 | deliver_later: priority オプション | E-03 L117-126 | ○ |
| C-38 | deliver_later: アクセス後エラー | E-03 L174-187 | ○ |
| C-39 | deliver_later!: 強制非同期配信 | E-03 L109-111 | ○ |
| C-40 | processed?: 処理前false | E-03 L80-82 | ○ |
| C-41 | processed?: 処理後true | E-03 L80-82 | ○ |
| C-42 | deliver_all_later: 一括キュー登録 | E-03 L9-11 | ○ |
| C-43 | deliver_all_later!: 一括強制登録 | E-03 L17-19 | ○ |

### ActionMailer::DeliveryMethods（E-04）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-44 | add_delivery_method: 配信メソッド追加 | E-04 L51-55 | ○ |
| C-45 | add_delivery_method: オプション設定 | E-04 L51-55 | ○ |
| C-46 | wrap_delivery_behavior: SMTP設定 | E-04 L57-76 | ○ |
| C-47 | wrap_delivery_behavior: オプションマージ | E-04 L66 | ○ |
| C-48 | wrap_delivery_behavior: nil エラー | E-04 L63 | ○ |
| C-49 | wrap_delivery_behavior: 無効メソッドエラー | E-04 L68 | ○ |
| C-50 | deliveries: テスト配信リスト | E-04 L43 | ○ |

### ActionMailer::Parameterized（E-05）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-51 | params: パラメータ取得 | E-05 L95-97 | ○ |
| C-52 | params: 空Hashデフォルト | E-05 L96 | ○ |
| C-53 | with: パラメータ付きメーラー | E-05 L106-108 | ○ |
| C-54 | Mailer.method_missing: MessageDelivery返却 | E-05 L117-123 | ○ |
| C-55 | Mailer.method_missing: 不明アクションエラー | E-05 L121 | ○ |
| C-56 | MessageDelivery.enqueue_delivery: パラメータ渡し | E-05 L144-150 | ○ |

### ActionMailer::TestHelper（E-06）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-57 | assert_emails: メール数アサート | E-06 L35-42 | ○ |
| C-58 | assert_emails: ブロック付きアサート | E-06 L36-38 | ○ |
| C-59 | assert_emails: 不一致エラー | E-06 L38 | ○ |
| C-60 | assert_no_emails: 未送信アサート | E-06 L63-65 | ○ |
| C-61 | assert_no_emails: 送信時エラー | E-06 L64 | ○ |
| C-62 | assert_enqueued_emails: enqueue数アサート | E-06 L91-93 | ○ |
| C-63 | assert_enqueued_email_with: 特定メールアサート | E-06 L157-174 | ○ |
| C-64 | assert_enqueued_email_with: パラメータ付き | E-06 L170 | ○ |
| C-65 | assert_enqueued_email_with: 引数付き | E-06 L170 | ○ |
| C-66 | assert_no_enqueued_emails: enqueue未送信 | E-06 L191-193 | ○ |
| C-67 | deliver_enqueued_emails: enqueue配信 | E-06 L231-233 | ○ |
| C-68 | deliver_enqueued_emails: キュー指定 | E-06 L232 | ○ |
| C-69 | capture_emails: メールキャプチャ | E-06 L249-255 | ○ |

### ActionMailer::Preview（E-07）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-70 | initialize: params設定 | E-07 L74-76 | ○ |
| C-71 | all: プレビュークラス取得 | E-07 L80-83 | ○ |
| C-72 | call: メールオブジェクト取得 | E-07 L88-93 | ○ |
| C-73 | call: インターセプター適用 | E-07 L91 | ○ |
| C-74 | emails: プレビュー一覧 | E-07 L96-98 | ○ |
| C-75 | email_exists?: メール存在確認 | E-07 L101-103 | ○ |
| C-76 | email_exists?: 不在確認 | E-07 L102 | ○ |
| C-77 | exists?: プレビュー存在確認 | E-07 L106-108 | ○ |
| C-78 | find: プレビュー検索 | E-07 L111-113 | ○ |
| C-79 | find: 検索失敗時nil | E-07 L112 | ○ |
| C-80 | preview_name: アンダースコア形式 | E-07 L116-118 | ○ |
| C-81 | register_preview_interceptor: 登録 | E-07 L42-48 | ○ |
| C-82 | register_preview_interceptor: 重複防止 | E-07 L45-47 | ○ |
| C-83 | unregister_preview_interceptor: 解除 | E-07 L53-55 | ○ |

### ActionMailer::MailDeliveryJob（E-08）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-84 | perform: メール配信実行 | E-08 L21-29 | ○ |
| C-85 | perform: パラメータ付き実行 | E-08 L22 | ○ |
| C-86 | perform: kwargs対応 | E-08 L23-27 | ○ |
| C-87 | handle_exception_with_mailer_class: 例外ハンドル | E-08 L40-46 | ○ |
| C-88 | handle_exception_with_mailer_class: 特定失敗時re-raise | E-08 L44 | ○ |
| C-89 | queue_as: キュー名決定 | E-08 L14-17 | ○ |

### ActionMailer::Collector（E-09）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-90 | initialize: 初期化 | E-09 L12-16 | ○ |
| C-91 | any: 複数フォーマット登録 | E-09 L18-22 | ○ |
| C-92 | any: フォーマット未指定エラー | E-09 L20 | ○ |
| C-93 | custom: カスタムMIME登録 | E-09 L25-30 | ○ |

### ActionMailer::Callbacks（E-10）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-94 | before_deliver: コールバック登録 | E-10 L17-19 | ○ |
| C-95 | after_deliver: コールバック登録 | E-10 L22-24 | ○ |
| C-96 | around_deliver: コールバック登録 | E-10 L27-29 | ○ |
| C-97 | before_deliver: 実行確認 | E-10 L11 (define_callbacks) | ○ |

### ActionMailer::Rescuable（E-11）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-98 | handle_exceptions: 正常実行 | E-11 L20-21 | ○ |
| C-99 | handle_exceptions: 例外ハンドリング | E-11 L22-23 | ○ |
| C-100 | handle_exceptions: ハンドラなし時re-raise | E-11 L23 | ○ |
| C-101 | handle_exception: クラスレベルハンドリング | E-11 L15-17 | ○ |

### ActionMailer::QueuedDelivery（E-12）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-102 | delivery_job: デフォルト値 | E-12 L8 | ○ |
| C-103 | delivery_job: カスタム設定 | E-12 L8 (class_attribute) | ○ |
| C-104 | deliver_later_queue_name: デフォルト | E-12 L9 | ○ |
| C-105 | deliver_later_queue_name: カスタム設定 | E-12 L9 (class_attribute) | ○ |

### ActionMailer::InlinePreviewInterceptor（E-13）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-106 | previewing_email: transform!呼び出し | E-13 L22-24 | ○ |
| C-107 | transform!: cid→data変換 | E-13 L30-42 | ○ |
| C-108 | transform!: HTMLなし時処理 | E-13 L31 | ○ |
| C-109 | transform!: cid不明時処理 | E-13 L37 | ○ |

### ActionMailer::MailHelper（E-14）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-110 | block_format: テキストフォーマット | E-14 L22-40 | ○ |
| C-111 | block_format: リストフォーマット | E-14 L29-37 | ○ |
| C-112 | format_paragraph: 折り返し | E-14 L65-79 | ○ |
| C-113 | format_paragraph: カスタム設定 | E-14 L65 | ○ |
| C-114 | mailer: メーラーアクセス | E-14 L43-45 | ○ |
| C-115 | message: メッセージアクセス | E-14 L48-50 | ○ |
| C-116 | attachments: 添付ファイルアクセス | E-14 L53-55 | ○ |

### ActionMailer::LogSubscriber（E-15）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-117 | delivered: 成功ログ | E-15 L16 | ○ |
| C-118 | delivered: スキップログ | E-15 L18 | ○ |
| C-119 | delivered: 失敗ログ | E-15 L14 | ○ |
| C-120 | processed: 処理ログ | E-15 L27-33 | ○ |

### ActionMailer::TestCase（E-16）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-121 | read_fixture: フィクスチャ読込 | E-16 L85-87 | ○ |
| C-122 | assert_part: MIMEアサート | E-16 L111-118 | ○ |
| C-123 | assert_part: ブロック渡し | E-16 L118 | ○ |
| C-124 | assert_part: パート不在エラー | E-16 L116 | ○ |
| C-125 | assert_no_part: 不在確認 | E-16 L129-134 | ○ |
| C-126 | tests: テスト対象設定 | E-16 L52-60 | ○ |
| C-127 | tests: 文字列対応 | E-16 L55 | ○ |
| C-128 | mailer_class: メーラー推論 | E-16 L63-68 | ○ |
| C-129 | mailer_class: 推論失敗エラー | E-16 L75 | ○ |
| C-130 | NonInferrableMailerError: エラーメッセージ | E-16 L8-11 | ○ |

### ActionMailer::FormBuilder（E-17）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-131 | default_form_builder: 取得 | E-17 L33-35 | ○ |
| C-132 | default_form_builder: 設定 | E-17 L27-29 | ○ |

### ActionMailer version/deprecator（E-18, E-19, E-20）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-133 | version: Gem::Version返却 | E-18 L8-10 | ○ |
| C-134 | gem_version: バージョン文字列 | E-19 L5-16 | ○ |
| C-135 | deprecator: Deprecation返却 | E-20 L4-6 | ○ |
| C-136 | deprecator: キャッシュ | E-20 L5 | ○ |

### ActionMailer::StructuredEventSubscriber（E-21）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-137 | deliver: 構造化イベント発行 | E-21 L8-23 | ○ |
| C-138 | deliver: 例外情報含む | E-21 L17-19 | ○ |
| C-139 | process: 構造化処理イベント | E-21 L27-33 | ○ |

### ActionMailer module（E-01）

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-140 | eager_load!: 全メーラーeager load | E-01 L61-70 | ○ |

## 4) 不足情報（Unknown / Missing）
- なし（全ての主張に根拠あり）

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全主張がソースコードで確認済み

## 6) レビュアーチェックリスト（最小）
- [ ] 高優先度テストケース（UT-AML-001〜050）の期待結果が適切か確認
- [ ] deliver_now/deliver_later関連テスト（UT-AML-032〜043）のカバレッジ確認
- [ ] 例外系テスト（異常系）のエラーメッセージ検証
- [ ] TestHelper関連テスト（UT-AML-057〜069）がActiveJob連携を適切にカバーしているか確認
- [ ] Parameterized関連テスト（UT-AML-051〜056）のパラメータ引き継ぎ検証
