---
generated_at: 2026-03-01 10:30:00
metrics:
  claims_total: 200
  claims_with_evidence: 200
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート: actioncable.csv

## 本レポートについて

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

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

1. **根拠の有無確認**：各テストケースに対して、ソースコード上のクラス・メソッド定義が存在するか
2. **根拠との整合性**：テストケースの内容がソースコードの実装と矛盾していないか
3. **網羅性**：対象モジュールの主要なクラス・メソッドを適切にカバーしているか

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

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

---

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

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。

- E-01: `actioncable/lib/action_cable.rb` - モジュール定義、INTERNAL定数
- E-02: `actioncable/lib/action_cable/channel/base.rb` - Channel::Baseクラス
- E-03: `actioncable/lib/action_cable/channel/streams.rb` - Streamsモジュール
- E-04: `actioncable/lib/action_cable/channel/broadcasting.rb` - Broadcastingモジュール
- E-05: `actioncable/lib/action_cable/channel/naming.rb` - Namingモジュール
- E-06: `actioncable/lib/action_cable/channel/callbacks.rb` - Callbacksモジュール
- E-07: `actioncable/lib/action_cable/channel/periodic_timers.rb` - PeriodicTimersモジュール
- E-08: `actioncable/lib/action_cable/channel/test_case.rb` - Channel::TestCaseクラス
- E-09: `actioncable/lib/action_cable/connection/base.rb` - Connection::Baseクラス
- E-10: `actioncable/lib/action_cable/connection/subscriptions.rb` - Subscriptionsクラス
- E-11: `actioncable/lib/action_cable/connection/identification.rb` - Identificationモジュール
- E-12: `actioncable/lib/action_cable/connection/authorization.rb` - Authorizationモジュール
- E-13: `actioncable/lib/action_cable/connection/message_buffer.rb` - MessageBufferクラス
- E-14: `actioncable/lib/action_cable/connection/tagged_logger_proxy.rb` - TaggedLoggerProxyクラス
- E-15: `actioncable/lib/action_cable/connection/callbacks.rb` - Connection::Callbacksモジュール
- E-16: `actioncable/lib/action_cable/connection/internal_channel.rb` - InternalChannelモジュール
- E-17: `actioncable/lib/action_cable/connection/web_socket.rb` - WebSocketクラス
- E-18: `actioncable/lib/action_cable/connection/client_socket.rb` - ClientSocketクラス
- E-19: `actioncable/lib/action_cable/connection/stream.rb` - Streamクラス
- E-20: `actioncable/lib/action_cable/connection/stream_event_loop.rb` - StreamEventLoopクラス
- E-21: `actioncable/lib/action_cable/connection/test_case.rb` - Connection::TestCaseクラス
- E-22: `actioncable/lib/action_cable/server/base.rb` - Server::Baseクラス
- E-23: `actioncable/lib/action_cable/server/broadcasting.rb` - Server::Broadcastingモジュール
- E-24: `actioncable/lib/action_cable/server/connections.rb` - Connectionsモジュール
- E-25: `actioncable/lib/action_cable/server/configuration.rb` - Configurationクラス
- E-26: `actioncable/lib/action_cable/server/worker.rb` - Workerクラス
- E-27: `actioncable/lib/action_cable/remote_connections.rb` - RemoteConnectionsクラス
- E-28: `actioncable/lib/action_cable/subscription_adapter/base.rb` - SubscriptionAdapter::Baseクラス
- E-29: `actioncable/lib/action_cable/subscription_adapter/subscriber_map.rb` - SubscriberMapクラス
- E-30: `actioncable/lib/action_cable/subscription_adapter/inline.rb` - Inlineアダプタ
- E-31: `actioncable/lib/action_cable/subscription_adapter/async.rb` - Asyncアダプタ
- E-32: `actioncable/lib/action_cable/subscription_adapter/test.rb` - Testアダプタ
- E-33: `actioncable/lib/action_cable/test_helper.rb` - TestHelperモジュール
- E-34: `actioncable/lib/action_cable/helpers/action_cable_helper.rb` - ActionCableHelperモジュール

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

### Channel::Base関連 (C-01 〜 C-13)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Channel::Base#initialize正常系 | E-02 L163-179 | ○ |
| C-02 | コネクション識別子デリゲート | E-02 L278-284 | ○ |
| C-03 | perform_action正常系 | E-02 L184-195 | ○ |
| C-04 | perform_action異常系（無効アクション） | E-02 L192-194 | ○ |
| C-05 | perform_action異常系（プライベートメソッド） | E-02 L290-292 | ○ |
| C-06 | perform_action（デフォルトreceive） | E-02 L286-288 | ○ |
| C-07 | subscribe_to_channel正常系 | E-02 L199-206 | ○ |
| C-08 | subscribedコールバック | E-02 L200-202 | ○ |
| C-09 | サブスクリプション拒否 | E-02 L270-276, L332-335 | ○ |
| C-10 | unsubscribe_from_channel | E-02 L211-216 | ○ |
| C-11 | transmit | E-02 L239-250 | ○ |
| C-12 | action_methods | E-02 L128-142 | ○ |
| C-13 | action_methods内部メソッド除外 | E-02 L131-137 | ○ |

### Streams関連 (C-14 〜 C-25)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-14 | stream_from正常系 | E-03 L90-109 | ○ |
| C-15 | stream_fromカスタムコールバック | E-03 L90, L100 | ○ |
| C-16 | stream_from coderオプション | E-03 L90, L196-202 | ○ |
| C-17 | stream_from unsubscribed状態 | E-03 L91 | ○ |
| C-18 | stream_for | E-03 L118-120 | ○ |
| C-19 | stop_stream_from | E-03 L123-129 | ○ |
| C-20 | stop_stream_from存在しないストリーム | E-03 L124-125 | ○ |
| C-21 | stop_stream_for | E-03 L132-134 | ○ |
| C-22 | stop_all_streams | E-03 L137-142 | ○ |
| C-23 | stop_all_streams空ストリーム | E-03 L138 | ○ |
| C-24 | stream_or_reject_for正常系 | E-03 L146-152 | ○ |
| C-25 | stream_or_reject_for nilモデル | E-03 L149-151 | ○ |

### Broadcasting関連 (C-26 〜 C-28)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-26 | broadcast_to | E-04 L14-16 | ○ |
| C-27 | broadcasting_for | E-04 L24-26 | ○ |
| C-28 | broadcasting_for配列 | E-04 L29-38 | ○ |

### Naming関連 (C-29 〜 C-30)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-29 | channel_name | E-05 L18-20 | ○ |
| C-30 | channel_name名前空間 | E-05 L19 | ○ |

### Callbacks関連 (C-31 〜 C-34)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-31 | before_subscribe | E-06 L50-52 | ○ |
| C-32 | after_subscribe | E-06 L62-64 | ○ |
| C-33 | before_unsubscribe | E-06 L67-69 | ○ |
| C-34 | after_unsubscribe | E-06 L71-73 | ○ |

### PeriodicTimers関連 (C-35 〜 C-38)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-35 | periodically | E-07 L31-52 | ○ |
| C-36 | periodically引数エラー | E-07 L34 | ○ |
| C-37 | periodically負数 | E-07 L47-49 | ○ |
| C-38 | periodically境界値0 | E-07 L47 | ○ |

### Connection::Base関連 (C-39 〜 C-48)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-39 | Connection::Base#initialize | E-09 L68-80 | ○ |
| C-40 | process WebSocket対応 | E-09 L86-94 | ○ |
| C-41 | process 404レスポンス | E-09 L91-93, L250-256 | ○ |
| C-42 | process オリジン拒否 | E-09 L231-243 | ○ |
| C-43 | receive | E-09 L98-100 | ○ |
| C-44 | transmit | E-09 L116-118 | ○ |
| C-45 | close | E-09 L121-128 | ○ |
| C-46 | statistics | E-09 L139-146 | ○ |
| C-47 | beat | E-09 L148-150 | ○ |
| C-48 | handle_channel_command | E-09 L110-114 | ○ |

### Subscriptions関連 (C-49 〜 C-60)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-49 | Subscriptions#initialize | E-10 L15-18 | ○ |
| C-50 | execute_command subscribe | E-10 L20-22 | ○ |
| C-51 | execute_command unsubscribe | E-10 L23 | ○ |
| C-52 | execute_command message | E-10 L24 | ○ |
| C-53 | execute_command 不明コマンド | E-10 L25-27 | ○ |
| C-54 | add | E-10 L33-48 | ○ |
| C-55 | add 存在しないチャネル | E-10 L46 | ○ |
| C-56 | add 重複防止 | E-10 L37 | ○ |
| C-57 | remove | E-10 L50-53 | ○ |
| C-58 | remove 存在しないサブスクリプション | E-10 L76-82 | ○ |
| C-59 | identifiers | E-10 L64-66 | ○ |
| C-60 | unsubscribe_from_all | E-10 L68-70 | ○ |

### Identification関連 (C-61 〜 C-64)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-61 | identified_by | E-11 L21-24 | ○ |
| C-62 | identified_by複数 | E-11 L22 | ○ |
| C-63 | connection_identifier | E-11 L29-35 | ○ |
| C-64 | connection_identifier空 | E-11 L31 | ○ |

### Authorization関連 (C-65 〜 C-66)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-65 | reject_unauthorized_connection | E-12 L12-15 | ○ |
| C-66 | reject_unauthorized_connectionログ | E-12 L13 | ○ |

### MessageBuffer関連 (C-67 〜 C-72)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-67 | MessageBuffer#initialize | E-13 L10-13 | ○ |
| C-68 | append処理中 | E-13 L15-25 | ○ |
| C-69 | appendバッファリング | E-13 L19-21 | ○ |
| C-70 | append型チェック | E-13 L22-24, L40-42 | ○ |
| C-71 | process! | E-13 L31-34, L52-54 | ○ |
| C-72 | process!空バッファ | E-13 L53 | ○ |

### TaggedLoggerProxy関連 (C-73 〜 C-78)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-73 | TaggedLoggerProxy#initialize | E-14 L16-19 | ○ |
| C-74 | add_tags | E-14 L21-24 | ○ |
| C-75 | add_tags重複排除 | E-14 L23 | ○ |
| C-76 | debug | E-14 L35-39 | ○ |
| C-77 | info | E-14 L35-39 | ○ |
| C-78 | error | E-14 L35-39 | ○ |

### Connection::Callbacks関連 (C-79 〜 C-81)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-79 | before_command | E-15 L43-45 | ○ |
| C-80 | after_command | E-15 L47-49 | ○ |
| C-81 | around_command | E-15 L51-53 | ○ |

### InternalChannel関連 (C-82 〜 C-86)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-82 | subscribe_to_internal_channel | E-16 L19-28 | ○ |
| C-83 | subscribe_to_internal_channel空識別子 | E-16 L20 | ○ |
| C-84 | unsubscribe_from_internal_channel | E-16 L30-34 | ○ |
| C-85 | process_internal_message disconnect | E-16 L36-47 | ○ |
| C-86 | process_internal_message reconnect | E-16 L40 | ○ |

### Server::Base関連 (C-87 〜 C-96)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-87 | Server::Base#initialize | E-22 L31-35 | ○ |
| C-88 | call健康チェック | E-22 L38-39 | ○ |
| C-89 | call通常 | E-22 L40-42 | ○ |
| C-90 | disconnect | E-22 L46-48 | ○ |
| C-91 | restart | E-22 L50-64 | ○ |
| C-92 | remote_connections | E-22 L67-69 | ○ |
| C-93 | event_loop | E-22 L71-73 | ○ |
| C-94 | worker_pool | E-22 L91-93 | ○ |
| C-95 | pubsub | E-22 L96-98 | ○ |
| C-96 | connection_identifiers | E-22 L102-104 | ○ |

### Server::Broadcasting関連 (C-97 〜 C-100)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-97 | broadcast | E-23 L33-35 | ○ |
| C-98 | broadcastカスタムコーダー | E-23 L33 | ○ |
| C-99 | broadcaster_for | E-23 L40-42 | ○ |
| C-100 | Broadcaster#broadcast | E-23 L52-60 | ○ |

### Connections関連 (C-101 〜 C-104)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-101 | add_connection | E-24 L20-22 | ○ |
| C-102 | remove_connection | E-24 L24-26 | ○ |
| C-103 | setup_heartbeat_timer | E-24 L33-37 | ○ |
| C-104 | open_connections_statistics | E-24 L39-41 | ○ |

### Configuration関連 (C-105 〜 C-108)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-105 | Configuration#initialize | E-25 L22-35 | ○ |
| C-106 | pubsub_adapter | E-25 L40-67 | ○ |
| C-107 | pubsub_adapterエラー | E-25 L48-61 | ○ |
| C-108 | pubsub_adapter PostgreSQL正規化 | E-25 L65 | ○ |

### Worker関連 (C-109 〜 C-115)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-109 | Worker#initialize | E-26 L21-28 | ○ |
| C-110 | halt | E-26 L32-34 | ○ |
| C-111 | stopping? | E-26 L36-38 | ○ |
| C-112 | work | E-26 L40-46 | ○ |
| C-113 | async_invoke | E-26 L52-56 | ○ |
| C-114 | invoke | E-26 L58-67 | ○ |
| C-115 | invoke例外処理 | E-26 L61-65 | ○ |

### RemoteConnections関連 (C-116 〜 C-120)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-116 | RemoteConnections#initialize | E-27 L34-36 | ○ |
| C-117 | where | E-27 L38-40 | ○ |
| C-118 | RemoteConnection#disconnect | E-27 L58-60 | ○ |
| C-119 | disconnect reconnect: false | E-27 L59 | ○ |
| C-120 | RemoteConnection無効識別子 | E-27 L71-79 | ○ |

### SubscriptionAdapter::Base関連 (C-121 〜 C-126)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-121 | Base#initialize | E-28 L10-13 | ○ |
| C-122 | broadcast NotImplemented | E-28 L15-17 | ○ |
| C-123 | subscribe NotImplemented | E-28 L19-21 | ○ |
| C-124 | unsubscribe NotImplemented | E-28 L23-25 | ○ |
| C-125 | shutdown NotImplemented | E-28 L27-29 | ○ |
| C-126 | identifier | E-28 L31-34 | ○ |

### SubscriberMap関連 (C-127 〜 C-134)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-127 | SubscriberMap#initialize | E-29 L8-11 | ○ |
| C-128 | add_subscriber | E-29 L13-25 | ○ |
| C-129 | add_subscriber新規チャネル | E-29 L15, L19-20 | ○ |
| C-130 | add_subscriber既存チャネル | E-29 L21-23 | ○ |
| C-131 | remove_subscriber | E-29 L27-36 | ○ |
| C-132 | remove_subscriber最後のサブスクライバー | E-29 L31-34 | ○ |
| C-133 | broadcast | E-29 L38-47 | ○ |
| C-134 | broadcast存在しないチャネル | E-29 L40 | ○ |

### Inline/Async/Test アダプタ関連 (C-135 〜 C-146)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-135 | Inline#broadcast | E-30 L13-15 | ○ |
| C-136 | Inline#subscribe | E-30 L17-19 | ○ |
| C-137 | Inline#unsubscribe | E-30 L21-23 | ○ |
| C-138 | Inline#shutdown | E-30 L25-27 | ○ |
| C-139 | Async#new_subscriber_map | E-31 L9-11 | ○ |
| C-140 | AsyncSubscriberMap#add_subscriber | E-31 L19-21 | ○ |
| C-141 | AsyncSubscriberMap#invoke_callback | E-31 L23-25 | ○ |
| C-142 | Test#broadcast | E-32 L18-21 | ○ |
| C-143 | Test#broadcasts | E-32 L23-25 | ○ |
| C-144 | Test#broadcasts存在しないチャネル | E-32 L24 | ○ |
| C-145 | Test#clear_messages | E-32 L27-29 | ○ |
| C-146 | Test#clear | E-32 L31-33 | ○ |

### WebSocket/ClientSocket関連 (C-147 〜 C-162)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-147 | WebSocket#initialize | E-17 L13-15 | ○ |
| C-148 | WebSocket非WebSocket環境 | E-17 L14 | ○ |
| C-149 | possible? | E-17 L17-19 | ○ |
| C-150 | alive? | E-17 L21-23 | ○ |
| C-151 | transmit | E-17 L25-27 | ○ |
| C-152 | close | E-17 L29-31 | ○ |
| C-153 | ClientSocket.determine_url HTTPS | E-18 L14-17 | ○ |
| C-154 | ClientSocket.determine_url HTTP | E-18 L15 | ○ |
| C-155 | secure_request? HTTPS=on | E-18 L20 | ○ |
| C-156 | secure_request? X-Forwarded-SSL | E-18 L21 | ○ |
| C-157 | transmit文字列 | E-18 L82-90 | ○ |
| C-158 | transmit配列 | E-18 L87 | ○ |
| C-159 | transmitクローズ中 | E-18 L83 | ○ |
| C-160 | close | E-18 L92-104 | ○ |
| C-161 | close不正コード | E-18 L96-100 | ○ |
| C-162 | alive? | E-18 L114-116 | ○ |

### StreamEventLoop/Stream関連 (C-163 〜 C-177)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-163 | StreamEventLoop#initialize | E-20 L10-17 | ○ |
| C-164 | timer | E-20 L19-21 | ○ |
| C-165 | post | E-20 L23-28 | ○ |
| C-166 | attach | E-20 L30-36 | ○ |
| C-167 | detach | E-20 L38-45 | ○ |
| C-168 | writes_pending | E-20 L47-54 | ○ |
| C-169 | stop | E-20 L56-59 | ○ |
| C-170 | Stream#initialize | E-19 L12-22 | ○ |
| C-171 | write | E-19 L37-70 | ○ |
| C-172 | writeバッファリング | E-19 L64-66 | ○ |
| C-173 | close | E-19 L28-31 | ○ |
| C-174 | flush_write_buffer | E-19 L72-92 | ○ |
| C-175 | flush_write_buffer空バッファ | E-19 L76 | ○ |
| C-176 | receive | E-19 L94-96 | ○ |
| C-177 | hijack_rack_socket | E-19 L98-107 | ○ |

### TestHelper関連 (C-178 〜 C-182)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-178 | assert_broadcasts | E-33 L48-58 | ○ |
| C-179 | assert_broadcastsブロック | E-33 L49-53 | ○ |
| C-180 | assert_no_broadcasts | E-33 L80-82 | ○ |
| C-181 | capture_broadcasts | E-33 L96-98 | ○ |
| C-182 | assert_broadcast_on | E-33 L116-140 | ○ |

### Channel::TestCase関連 (C-183 〜 C-190)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-183 | stub_connection | E-08 L243-245 | ○ |
| C-184 | subscribe | E-08 L249-255 | ○ |
| C-185 | unsubscribe | E-08 L258-261 | ○ |
| C-186 | perform | E-08 L266-269 | ○ |
| C-187 | transmissions | E-08 L272-275 | ○ |
| C-188 | assert_no_streams | E-08 L293-295 | ○ |
| C-189 | assert_has_stream | E-08 L304-306 | ○ |
| C-190 | assert_has_stream_for | E-08 L315-317 | ○ |

### Connection::TestCase関連 (C-191 〜 C-197)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-191 | connect | E-21 L192-202 | ○ |
| C-192 | connectパラメータ | E-21 L217-237 | ○ |
| C-193 | connectヘッダー | E-21 L218, L229-231 | ○ |
| C-194 | disconnect | E-21 L205-210 | ○ |
| C-195 | disconnect未接続 | E-21 L206 | ○ |
| C-196 | assert_reject_connection | E-21 L28-30 | ○ |
| C-197 | cookies | E-21 L212-214 | ○ |

### ActionCableHelper関連 (C-198 〜 C-200)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-198 | action_cable_meta_tag | E-34 L36-42 | ○ |
| C-199 | action_cable_meta_tag mount_path | E-34 L39 | ○ |
| C-200 | action_cable_meta_tag URL未設定 | E-34 L40 | ○ |

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

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコード解析に基づいて生成されています

## 6) レビュアーチェックリスト（最小）
- [ ] 各テストケースの対象メソッドがソースコード上に実際に存在することを確認
- [ ] テスト観点（正常系/異常系/境界値）が網羅的であることを確認
- [ ] 期待結果がソースコードの実装と整合していることを確認
- [ ] 優先度が適切に設定されていることを確認（認証・セキュリティ関連は高優先度など）
- [ ] 入力値と前提条件が実際のテスト実装で使用可能な形式であることを確認
