---
generated_at: 2026-02-25 10:30:00
metrics:
  claims_total: 180
  claims_with_evidence: 180
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：models-card 単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：180 / 180、根拠なし：0
- 優先レビュー（高）
  1. 全テストケースはソースコードに基づいて生成されており、根拠不足の項目はありません
  2. ビジネスクリティカルな機能（クローズ・リオープン・延期・トリアージ）のテストケースを重点的に確認してください
  3. トランザクション整合性に関するテストケース（move_to, close, reopen等）の確認を推奨します

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

- E-01: `app/models/card.rb` - Cardモデル本体（28ファイルのconcernをinclude）
- E-02: `app/models/card/accessible.rb` - アクセス制御モジュール
- E-03: `app/models/card/activity_spike.rb` - アクティビティスパイクモデル
- E-04: `app/models/card/assignable.rb` - 担当者割り当てモジュール
- E-05: `app/models/card/broadcastable.rb` - ブロードキャスト（Turbo）モジュール
- E-06: `app/models/card/closeable.rb` - クローズ・リオープン機能モジュール
- E-07: `app/models/card/colored.rb` - カラー機能モジュール
- E-08: `app/models/card/commentable.rb` - コメント機能モジュール
- E-09: `app/models/card/entropic.rb` - エントロピー（自動延期）モジュール
- E-10: `app/models/card/entropy.rb` - エントロピー計算クラス
- E-11: `app/models/card/eventable.rb` - イベント追跡モジュール
- E-12: `app/models/card/exportable.rb` - エクスポート機能モジュール
- E-13: `app/models/card/golden.rb` - ゴールデン（重要カード）機能モジュール
- E-14: `app/models/card/goldness.rb` - ゴールデンステータスモデル
- E-15: `app/models/card/mentions.rb` - メンション機能モジュール
- E-16: `app/models/card/multistep.rb` - マルチステップ（サブタスク）モジュール
- E-17: `app/models/card/not_now.rb` - 延期状態モデル
- E-18: `app/models/card/pinnable.rb` - ピン留め機能モジュール
- E-19: `app/models/card/postponable.rb` - 延期機能モジュール
- E-20: `app/models/card/promptable.rb` - プロンプト生成モジュール
- E-21: `app/models/card/readable.rb` - 既読管理モジュール
- E-22: `app/models/card/searchable.rb` - 検索機能モジュール
- E-23: `app/models/card/stallable.rb` - 停滞検知モジュール
- E-24: `app/models/card/statuses.rb` - ステータス管理モジュール
- E-25: `app/models/card/taggable.rb` - タグ機能モジュール
- E-26: `app/models/card/triageable.rb` - トリアージ機能モジュール
- E-27: `app/models/card/watchable.rb` - ウォッチ機能モジュール
- E-28: `app/models/card/activity_spike/detector.rb` - アクティビティスパイク検知クラス
- E-29: `app/models/card/eventable/system_commenter.rb` - システムコメント生成クラス

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

### Card本体（card.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01〜C-03 | to_param: numberを文字列で返却 | E-01 L53-55 | ○ |
| C-04〜C-06 | move_to: ボード間移動とイベント更新 | E-01 L57-63 | ○ |
| C-07〜C-09 | filled?: title/descriptionの存在確認 | E-01 L65-67 | ○ |
| C-10〜C-11 | set_default_title: デフォルトタイトル設定 | E-01 L70-72 | ○ |
| C-12〜C-13 | assign_number: 自動採番 | E-01 L91-93 | ○ |
| C-14〜C-15 | handle_board_change: ボード変更処理 | E-01 L74-85 | ○ |
| C-16〜C-18 | indexed_by: インデックスによるフィルタリング | E-01 L28-38 | ○ |
| C-19〜C-20 | sorted_by: ソート機能 | E-01 L40-47 | ○ |

### Accessible（accessible.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-21〜C-23 | publicly_accessible?: 公開アクセス判定 | E-02 L8-10 | ○ |
| C-24〜C-26 | clean_inaccessible_data: アクセス不可データ削除 | E-02 L12-16 | ○ |

### ActivitySpike（activity_spike.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-27〜C-28 | belongs_to関連とtouch | E-03 L2-4 | ○ |

### Assignable（assignable.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-29〜C-30 | toggle_assignment: 担当者トグル | E-04 L13-15 | ○ |
| C-31〜C-34 | assigned_to?, assigned?: 割当状態確認 | E-04 L17-23 | ○ |
| C-35〜C-38 | assign, unassign: 割当/解除処理 | E-04 L26-40 | ○ |

### Closeable（closeable.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-42〜C-48 | closed?, open?, closed_by, closed_at | E-06 L15-29 | ○ |
| C-48〜C-54 | close, reopen: クローズ・リオープン処理 | E-06 L31-48 | ○ |

### Entropic/Entropy（entropic.rb, entropy.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-61〜C-65 | entropy, entropic?, auto_postpone_all_due | E-09 L26-41 | ○ |
| C-66〜C-70 | Card::Entropy計算メソッド | E-10 L1-24 | ○ |

### Eventable（eventable.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-71〜C-76 | event_was_created, touch_last_active_at, track_title_change | E-11 L12-33 | ○ |

### Exportable（exportable.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-77〜C-84 | export_json, export_attachments, export_status | E-12 L5-84 | ○ |

### Golden/Goldness（golden.rb, goldness.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-85〜C-92 | golden?, gild, ungild | E-13 L11-22, E-14 L1-4 | ○ |

### Mentions（mentions.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-92〜C-94 | mentionable?, should_check_mentions? | E-15 L7-14 | ○ |

### Pinnable（pinnable.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-98〜C-104 | pinned_by?, pin_for, pin_by, unpin_by | E-18 L10-24 | ○ |

### Postponable（postponable.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-105〜C-117 | postponed?, active?, postpone, auto_postpone, resume | E-19 L11-47 | ○ |

### Promptable（promptable.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-118〜C-124 | to_prompt, column_prompt_label | E-20 L8-46 | ○ |

### Readable（readable.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-125〜C-128 | read_by, unread_by, remove_inaccessible_notifications | E-21 L4-17 | ○ |

### Searchable（searchable.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-129〜C-134 | search_title, search_content, searchable? | E-22 L13-31 | ○ |

### Stallable（stallable.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-135〜C-140 | stalled?, last_activity_spike_at, detect_activity_spikes | E-23 L17-29 | ○ |

### Statuses（statuses.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-141〜C-144 | publish, was_just_published? | E-24 L14-25 | ○ |

### Taggable（taggable.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-145〜C-149 | toggle_tag_with, tagged_with? | E-25 L11-25 | ○ |

### Triageable（triageable.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-150〜C-159 | triaged?, awaiting_triage?, triage_into, send_back_to_triage | E-26 L11-35 | ○ |

### Watchable（watchable.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-160〜C-166 | watched_by?, watch_for, watch_by, unwatch_by, subscribe_creator | E-27 L11-33 | ○ |

### ActivitySpike::Detector（activity_spike/detector.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-167〜C-174 | detect, has_activity_spike?, multiple_people_commented? | E-28 L8-55 | ○ |

### SystemCommenter（eventable/system_commenter.rb）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-175〜C-180 | comment, comment_body各アクション | E-29 L10-68 | ○ |

## 4) 不足情報（Unknown / Missing）
- 該当なし。すべてのテストケースはソースコードに基づいて生成されています。

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

### 注意が必要な領域
1. **トランザクション整合性**: `move_to`, `close`, `reopen`, `postpone`, `triage_into` 等のメソッドはトランザクション内で複数の操作を行うため、ロールバックシナリオのテストが重要
2. **スコープの複雑性**: `due_to_be_postponed`, `postponing_soon` 等のスコープは複雑なJOINを含むため、境界条件のテストが重要
3. **コールバックの副作用**: `after_save`, `after_update_commit` 等のコールバックが多く、副作用のテストが重要

## 6) レビュアーチェックリスト（最小）
- [ ] ビジネスクリティカルな機能（close/reopen/postpone/triage_into）のテストケースが網羅されているか
- [ ] トランザクション内の処理に対するロールバックテストケースが存在するか
- [ ] 境界値テスト（空配列、nil、最大値等）が適切に設定されているか
- [ ] アクセス制御関連のテストケース（publicly_accessible?, clean_inaccessible_data）が十分か
- [ ] イベント追跡（監査証跡）に関するテストケースが漏れなく設定されているか
- [ ] 冪等性が求められる処理（gild/ungild, close/reopen等）のテストケースが存在するか
