---
generated_at: 2026-02-22 12:00:00
metrics:
  claims_total: 234
  claims_with_evidence: 228
  claims_without_evidence: 6
confidence_derived: 0.97
---

# 根拠レポート：mruby-bin-mirb 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.97**
  - 根拠あり：228 / 234、根拠なし：6
- 優先レビュー（高）
  1. **UT-MIR-158/159**: mirb_term_query_bg_color のOSC 11応答解析 - 実際のターミナル応答に依存するため検証困難
  2. **UT-MIR-036/037**: p関数の出力結果 - mrb_funcall_argv/mrb_exc_get_output の動作に依存
  3. **UT-MIR-039**: p_error関数のバックトレース位置情報表示 - 複雑なパース処理の検証

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

- E-01: `mrbgems/mruby-bin-mirb/tools/mirb/mirb.c` - メインREPLロジック、コマンドライン解析、コード評価
- E-02: `mrbgems/mruby-bin-mirb/tools/mirb/mirb_editor.c` - マルチラインエディタ実装
- E-03: `mrbgems/mruby-bin-mirb/tools/mirb/mirb_editor.h` - エディタのAPI定義・構造体定義
- E-04: `mrbgems/mruby-bin-mirb/tools/mirb/mirb_buffer.c` - マルチラインバッファ実装
- E-05: `mrbgems/mruby-bin-mirb/tools/mirb/mirb_buffer.h` - バッファのAPI定義・構造体定義
- E-06: `mrbgems/mruby-bin-mirb/tools/mirb/mirb_term.c` - ターミナル制御実装
- E-07: `mrbgems/mruby-bin-mirb/tools/mirb/mirb_term.h` - ターミナルのAPI定義・キーコード定義
- E-08: `mrbgems/mruby-bin-mirb/tools/mirb/mirb_completion.c` - タブ補完実装
- E-09: `mrbgems/mruby-bin-mirb/tools/mirb/mirb_completion.h` - 補完のAPI定義・構造体定義
- E-10: `mrbgems/mruby-bin-mirb/tools/mirb/mirb_highlight.c` - シンタックスハイライト実装
- E-11: `mrbgems/mruby-bin-mirb/tools/mirb/mirb_highlight.h` - ハイライトのAPI定義・構造体定義
- E-12: `mrbgems/mruby-bin-mirb/tools/mirb/mirb_history.c` - コマンド履歴実装
- E-13: `mrbgems/mruby-bin-mirb/tools/mirb/mirb_history.h` - 履歴のAPI定義・構造体定義

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

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | is_code_block_open: heredocパース中はTRUEを返す | E-01 (mirb.c:115) | ○ |
| C-02 | is_code_block_open: lex_strterm非NULLでTRUE | E-01 (mirb.c:118) | ○ |
| C-03 | is_code_block_open: unexpected end of fileでTRUE | E-01 (mirb.c:130-131) | ○ |
| C-04 | is_code_block_open: unexpected keyword_endでFALSE | E-01 (mirb.c:133-134) | ○ |
| C-05 | is_code_block_open: EXPR_DOTでTRUE | E-01 (mirb.c:151-154) | ○ |
| C-06 | is_code_block_open: EXPR_BEGでFALSE | E-01 (mirb.c:146-150) | ○ |
| C-07 | is_code_block_open: EXPR_CLASSでTRUE | E-01 (mirb.c:156-159) | ○ |
| C-08 | is_code_block_open: EXPR_VALUEでTRUE | E-01 (mirb.c:165-168) | ○ |
| C-09 | is_code_block_open: EXPR_ARGでFALSE | E-01 (mirb.c:172-175) | ○ |
| C-10 | parse_args: -dオプション解析 | E-01 (mirb.c:257-259) | ○ |
| C-11 | parse_args: -vオプション解析 | E-01 (mirb.c:277-279) | ○ |
| C-12 | parse_args: --verboseオプション解析 | E-01 (mirb.c:286-288) | ○ |
| C-13 | parse_args: -r libraryオプション解析 | E-01 (mirb.c:260-276) | ○ |
| C-14 | parse_args: -rと結合形式の解析 | E-01 (mirb.c:261) | ○ |
| C-15 | parse_args: -r引数なしでEXIT_FAILURE | E-01 (mirb.c:262-264) | ○ |
| C-16 | parse_args: 不正オプションでEXIT_FAILURE | E-01 (mirb.c:294-296) | ○ |
| C-17 | parse_args: デフォルト状態 | E-01 (mirb.c:248) | ○ |
| C-18 | parse_args: ファイル指定時のrfp設定 | E-01 (mirb.c:300-304) | ○ |
| C-19 | parse_args: 存在しないファイルでEXIT_FAILURE | E-01 (mirb.c:302-305) | ○ |
| C-20 | parse_args: 複数-rオプション | E-01 (mirb.c:269-275) | ○ |
| C-21 | check_keyword: スペーススキップとキーワード検出 | E-01 (mirb.c:374-393) | ○ |
| C-22 | check_keyword: 完全一致検出 | E-01 (mirb.c:384-386) | ○ |
| C-23 | check_keyword: 末尾スペース許容 | E-01 (mirb.c:388-393) | ○ |
| C-24 | check_keyword: 部分一致非検出 | E-01 (mirb.c:388-391) | ○ |
| C-25 | check_keyword: 空文字列で0 | E-01 (mirb.c:380-384) | ○ |
| C-26 | extract_line: 指定行の抽出 | E-01 (mirb.c:339-362) | ○ |
| C-27 | extract_line: 1行目の抽出 | E-01 (mirb.c:344-346) | ○ |
| C-28 | extract_line: 最終行の抽出 | E-01 (mirb.c:356-361) | ○ |
| C-29 | extract_line: 単一行からの抽出 | E-01 (mirb.c:347) | ○ |
| C-30 | dup_arg_item: 文字列複製 | E-01 (mirb.c:235-241) | ○ |
| C-31 | mirb_check_code_complete: 完全コードでTRUE | E-01 (mirb.c:405-422) | ○ |
| C-32 | mirb_check_code_complete: 未完了コードでFALSE | E-01 (mirb.c:419) | ○ |
| C-33 | mirb_check_code_complete: 空文字列でTRUE | E-01 (mirb.c:415-416) | ○ |
| C-34 | cleanup: リソース解放 | E-01 (mirb.c:316-329) | ○ |
| C-35 | cleanup: ファイルポインタ解放 | E-01 (mirb.c:319-320) | ○ |
| C-36 | p: inspect結果出力 | E-01 (mirb.c:48-60) | ○ |
| C-37 | p: 例外時のエラーメッセージ出力 | E-01 (mirb.c:51-53) | ○ |
| C-38 | p_error: エラーメッセージ出力 | E-01 (mirb.c:63-105) | ○ |
| C-39 | p_error: バックトレース位置情報 | E-01 (mirb.c:71-99) | ○ |
| C-40 | mirb_buffer_init: 初期化 | E-04 (mirb_buffer.c:263-289) | ○ |
| C-41 | mirb_buffer_free: 解放 | E-04 (mirb_buffer.c:295-306) | ○ |
| C-42 | mirb_buffer_clear: クリア | E-04 (mirb_buffer.c:311-327) | ○ |
| C-43 | mirb_buffer_total_len: 合計文字数 | E-04 (mirb_buffer.c:332-341) | ○ |
| C-44 | mirb_buffer_total_len: 空バッファで0 | E-04 (mirb_buffer.c:336) | ○ |
| C-45 | mirb_buffer_to_string: 文字列変換 | E-04 (mirb_buffer.c:375-379) | ○ |
| C-46 | mirb_buffer_to_string: 単一行 | E-04 (mirb_buffer.c:365-366) | ○ |
| C-47 | mirb_buffer_to_string_upto_line: 部分文字列 | E-04 (mirb_buffer.c:348-370) | ○ |
| C-48 | mirb_buffer_set_string: 文字列設定 | E-04 (mirb_buffer.c:384-444) | ○ |
| C-49 | mirb_buffer_set_string: 空文字列 | E-04 (mirb_buffer.c:389) | ○ |
| C-50 | mirb_buffer_set_string: NULL入力 | E-04 (mirb_buffer.c:389) | ○ |
| C-51 | mirb_buffer_insert_char: 文字挿入 | E-04 (mirb_buffer.c:449-458) | ○ |
| C-52 | mirb_buffer_insert_char: 行末追加 | E-04 (mirb_buffer.c:454) | ○ |
| C-53 | mirb_buffer_insert_string: 文字列挿入 | E-04 (mirb_buffer.c:464-476) | ○ |
| C-54 | mirb_buffer_insert_string: 改行含む挿入 | E-04 (mirb_buffer.c:468-469) | ○ |
| C-55 | mirb_buffer_delete_back: バックスペース | E-04 (mirb_buffer.c:481-527) | ○ |
| C-56 | mirb_buffer_delete_back: 行結合 | E-04 (mirb_buffer.c:504-525) | ○ |
| C-57 | mirb_buffer_delete_back: 先頭でFALSE | E-04 (mirb_buffer.c:527) | ○ |
| C-58 | mirb_buffer_delete_forward: Delete操作 | E-04 (mirb_buffer.c:533-575) | ○ |
| C-59 | mirb_buffer_delete_forward: 次行と結合 | E-04 (mirb_buffer.c:555-573) | ○ |
| C-60 | mirb_buffer_delete_forward: 末尾でFALSE | E-04 (mirb_buffer.c:575) | ○ |
| C-61 | mirb_buffer_newline: 改行挿入 | E-04 (mirb_buffer.c:581-630) | ○ |
| C-62 | mirb_buffer_newline: 行頭での改行 | E-04 (mirb_buffer.c:612) | ○ |
| C-63 | mirb_buffer_newline: 行末での改行 | E-04 (mirb_buffer.c:594-595) | ○ |
| C-64 | mirb_buffer_delete_line: 行削除 | E-04 (mirb_buffer.c:633-660) | ○ |
| C-65 | mirb_buffer_delete_line: 1行のみ保持 | E-04 (mirb_buffer.c:637) | ○ |
| C-66 | mirb_buffer_delete_line: 範囲外安全性 | E-04 (mirb_buffer.c:636) | ○ |
| C-67 | mirb_buffer_cursor_left: 左移動 | E-04 (mirb_buffer.c:666-683) | ○ |
| C-68 | mirb_buffer_cursor_left: 行をまたいだ移動 | E-04 (mirb_buffer.c:678-681) | ○ |
| C-69 | mirb_buffer_cursor_left: 先頭でFALSE | E-04 (mirb_buffer.c:682) | ○ |
| C-70 | mirb_buffer_cursor_right: 右移動 | E-04 (mirb_buffer.c:689-711) | ○ |
| C-71 | mirb_buffer_cursor_right: 行をまたいだ移動 | E-04 (mirb_buffer.c:705-708) | ○ |
| C-72 | mirb_buffer_cursor_right: 末尾でFALSE | E-04 (mirb_buffer.c:710) | ○ |
| C-73 | mirb_buffer_cursor_up: 上移動 | E-04 (mirb_buffer.c:717-728) | ○ |
| C-74 | mirb_buffer_cursor_up: カラムクランプ | E-04 (mirb_buffer.c:722-723) | ○ |
| C-75 | mirb_buffer_cursor_up: 先頭行でFALSE | E-04 (mirb_buffer.c:727) | ○ |
| C-76 | mirb_buffer_cursor_down: 下移動 | E-04 (mirb_buffer.c:734-745) | ○ |
| C-77 | mirb_buffer_cursor_down: 最終行でFALSE | E-04 (mirb_buffer.c:744) | ○ |
| C-78 | mirb_buffer_cursor_home: Home操作 | E-04 (mirb_buffer.c:751-754) | ○ |
| C-79 | mirb_buffer_cursor_end: End操作 | E-04 (mirb_buffer.c:760-763) | ○ |
| C-80 | mirb_buffer_cursor_start: バッファ先頭 | E-04 (mirb_buffer.c:769-773) | ○ |
| C-81 | mirb_buffer_cursor_finish: バッファ末尾 | E-04 (mirb_buffer.c:779-783) | ○ |
| C-82 | mirb_buffer_cursor_word_back: ワード単位左移動 | E-04 (mirb_buffer.c:798-827) | ○ |
| C-83 | mirb_buffer_cursor_word_back: 行をまたいだワード移動 | E-04 (mirb_buffer.c:804-809) | ○ |
| C-84 | mirb_buffer_cursor_word_forward: ワード単位右移動 | E-04 (mirb_buffer.c:833-862) | ○ |
| C-85 | mirb_buffer_kill_to_end: Ctrl+K | E-04 (mirb_buffer.c:880-906) | ○ |
| C-86 | mirb_buffer_kill_to_end: 行末での結合 | E-04 (mirb_buffer.c:901-904) | ○ |
| C-87 | mirb_buffer_kill_to_end: 空行削除 | E-04 (mirb_buffer.c:891-899) | ○ |
| C-88 | mirb_buffer_kill_to_start: Ctrl+U | E-04 (mirb_buffer.c:912-923) | ○ |
| C-89 | mirb_buffer_kill_to_start: 行頭で変更なし | E-04 (mirb_buffer.c:916) | ○ |
| C-90 | mirb_buffer_kill_word_back: Ctrl+W | E-04 (mirb_buffer.c:929-948) | ○ |
| C-91 | mirb_buffer_kill_word_forward: Alt+D | E-04 (mirb_buffer.c:953-980) | ○ |
| C-92 | mirb_buffer_yank: Ctrl+Y | E-04 (mirb_buffer.c:986-990) | ○ |
| C-93 | mirb_buffer_yank: 空キルバッファでFALSE | E-04 (mirb_buffer.c:988) | ○ |
| C-94 | mirb_buffer_current_line: 現在行取得 | E-04 (mirb_buffer.c:996-999) | ○ |
| C-95 | mirb_buffer_line_at: インデックス指定取得 | E-04 (mirb_buffer.c:1004-1009) | ○ |
| C-96 | mirb_buffer_line_at: 範囲外でNULL | E-04 (mirb_buffer.c:1007) | ○ |
| C-97 | mirb_buffer_line_len: 行長さ取得 | E-04 (mirb_buffer.c:1014-1019) | ○ |
| C-98 | mirb_buffer_line_len: 範囲外で0 | E-04 (mirb_buffer.c:1017) | ○ |
| C-99 | mirb_buffer_cursor_display_col: 表示カラム | E-04 (mirb_buffer.c:1027-1035) | ○ |
| C-100 | mirb_editor_init: エディタ初期化 | E-02 (mirb_editor.c:315-347) | ○ |
| C-101 | mirb_editor_init: デフォルトプロンプト | E-02 (mirb_editor.c:335-337) | ○ |
| C-102 | mirb_editor_cleanup: エディタ解放 | E-02 (mirb_editor.c:352-361) | ○ |
| C-103 | mirb_editor_cleanup: 未初期化安全性 | E-02 (mirb_editor.c:355) | ○ |
| C-104 | mirb_editor_set_prompts: プロンプト設定 | E-02 (mirb_editor.c:367-375) | ○ |
| C-105 | mirb_editor_set_prompt_format: フォーマット設定 | E-02 (mirb_editor.c:381-390) | ○ |
| C-106 | mirb_editor_set_check_complete: コールバック設定 | E-02 (mirb_editor.c:396-400) | ○ |
| C-107 | mirb_editor_set_tab_complete: タブ補完設定 | E-02 (mirb_editor.c:406-414) | ○ |
| C-108 | mirb_editor_set_color: カラー有効化 | E-02 (mirb_editor.c:574-578) | ○ |
| C-109 | mirb_editor_set_color: カラー無効化 | E-02 (mirb_editor.c:574-578) | ○ |
| C-110 | mirb_editor_supported: サポート確認 | E-02 (mirb_editor.c:584-587) | ○ |
| C-111 | mirb_editor_supported: 非サポート確認 | E-02 (mirb_editor.c:586) | ○ |
| C-112 | mirb_editor_history_add: 履歴追加 | E-02 (mirb_editor.c:1115-1118) | ○ |
| C-113 | calc_indent_level: def | E-02 (mirb_editor.c:83-154) | ○ |
| C-114 | calc_indent_level: def+end | E-02 (mirb_editor.c:138-141) | ○ |
| C-115 | calc_indent_level: ネスト | E-02 (mirb_editor.c:124-136) | ○ |
| C-116 | calc_indent_level: 中括弧 | E-02 (mirb_editor.c:144-149) | ○ |
| C-117 | calc_indent_level: コメント無視 | E-02 (mirb_editor.c:103-105) | ○ |
| C-118 | calc_indent_level: 文字列内キーワード無視 | E-02 (mirb_editor.c:92-101) | ○ |
| C-119 | calc_indent_level: 空文字列 | E-02 (mirb_editor.c:86) | ○ |
| C-120 | is_dedent_keyword: end | E-02 (mirb_editor.c:51-53) | ○ |
| C-121 | is_dedent_keyword: else | E-02 (mirb_editor.c:54-55) | ○ |
| C-122 | is_dedent_keyword: rescue | E-02 (mirb_editor.c:59-60) | ○ |
| C-123 | is_dedent_keyword: 閉じ波括弧 | E-02 (mirb_editor.c:50) | ○ |
| C-124 | is_dedent_keyword: 非デデント | E-02 (mirb_editor.c:63) | ○ |
| C-125 | should_dedent: end | E-02 (mirb_editor.c:160-212) | ○ |
| C-126 | should_dedent: 閉じ波括弧 | E-02 (mirb_editor.c:168-171) | ○ |
| C-127 | should_dedent: メソッド内endは非デデント | E-02 (mirb_editor.c:178-179) | ○ |
| C-128 | handle_key: Ctrl+C | E-02 (mirb_editor.c:798-800) | ○ |
| C-129 | handle_key: Ctrl+D（空バッファ） | E-02 (mirb_editor.c:802-806) | ○ |
| C-130 | handle_key: Ctrl+D（非空） | E-02 (mirb_editor.c:808) | ○ |
| C-131 | handle_key: バックスペース | E-02 (mirb_editor.c:811-813) | ○ |
| C-132 | handle_key: 左矢印 | E-02 (mirb_editor.c:819-821) | ○ |
| C-133 | handle_key: 右矢印 | E-02 (mirb_editor.c:823-825) | ○ |
| C-134 | handle_key: 上矢印（履歴） | E-02 (mirb_editor.c:829-848) | ○ |
| C-135 | handle_key: 上矢印（カーソル移動） | E-02 (mirb_editor.c:845-847) | ○ |
| C-136 | handle_key: Ctrl+L | E-02 (mirb_editor.c:905-909) | ○ |
| C-137 | handle_key: 印刷可能文字 | E-02 (mirb_editor.c:941-950) | ○ |
| C-138 | handle_key: Enter（完了） | E-02 (mirb_editor.c:758-765) | ○ |
| C-139 | handle_key: Enter（未完了） | E-02 (mirb_editor.c:767-774) | ○ |
| C-140 | mirb_editor_read_simple: 単一行入力 | E-02 (mirb_editor.c:1033-1109) | ○ |
| C-141 | mirb_editor_read_simple: EOF | E-02 (mirb_editor.c:1053-1058) | ○ |
| C-142 | mirb_term_init: 初期化 | E-06 (mirb_term.c:23-42) | ○ |
| C-143 | mirb_term_init: 非tty | E-06 (mirb_term.c:28-31) | ○ |
| C-144 | mirb_term_cleanup: クリーンアップ | E-06 (mirb_term.c:48-55) | ○ |
| C-145 | mirb_term_raw_enable: rawモード有効化 | E-06 (mirb_term.c:61-103) | ○ |
| C-146 | mirb_term_raw_enable: 非サポート時FALSE | E-06 (mirb_term.c:65) | ○ |
| C-147 | mirb_term_raw_enable: 重複有効化 | E-06 (mirb_term.c:66) | ○ |
| C-148 | mirb_term_raw_disable: rawモード無効化 | E-06 (mirb_term.c:109-115) | ○ |
| C-149 | mirb_term_read_key: ASCII読み取り | E-06 (mirb_term.c:121-214) | ○ |
| C-150 | mirb_term_read_key: 上矢印 | E-06 (mirb_term.c:184) | ○ |
| C-151 | mirb_term_read_key: 下矢印 | E-06 (mirb_term.c:185) | ○ |
| C-152 | mirb_term_read_key: Alt+B | E-06 (mirb_term.c:156) | ○ |
| C-153 | mirb_term_read_key: DELETE | E-06 (mirb_term.c:173) | ○ |
| C-154 | mirb_term_read_key: HOME | E-06 (mirb_term.c:188) | ○ |
| C-155 | mirb_term_read_key: Ctrl+Hバックスペース | E-06 (mirb_term.c:212-213) | ○ |
| C-156 | mirb_term_get_size: サイズ取得 | E-06 (mirb_term.c:221-234) | ○ |
| C-157 | mirb_term_get_size: デフォルトサイズ | E-06 (mirb_term.c:230-233) | ○ |
| C-158 | mirb_term_query_bg_color: 暗い背景 | E-06 (mirb_term.c:363-477) | △ |
| C-159 | mirb_term_query_bg_color: 明るい背景 | E-06 (mirb_term.c:363-477) | △ |
| C-160 | mirb_term_query_bg_color: 非tty | E-06 (mirb_term.c:377-379) | ○ |
| C-161 | mirb_term_query_bg_color: タイムアウト | E-06 (mirb_term.c:414-441) | △ |
| C-162 | mirb_term_cursor_up: カーソル上移動 | E-06 (mirb_term.c:293-296) | ○ |
| C-163 | mirb_term_cursor_up: 0以下で出力なし | E-06 (mirb_term.c:295) | ○ |
| C-164 | mirb_completion_init: 初期化 | E-08 (mirb_completion.c:77-82) | ○ |
| C-165 | mirb_completion_free: 解放 | E-08 (mirb_completion.c:85-107) | ○ |
| C-166 | mirb_detect_completion_type: メソッド | E-08 (mirb_completion.c:113-168) | ○ |
| C-167 | mirb_detect_completion_type: グローバル変数 | E-08 (mirb_completion.c:150-152) | ○ |
| C-168 | mirb_detect_completion_type: キーワード | E-08 (mirb_completion.c:167) | ○ |
| C-169 | mirb_detect_completion_type: ファイル | E-08 (mirb_completion.c:138-140) | ○ |
| C-170 | mirb_in_file_context: require | E-08 (mirb_completion.c:171-186) | ○ |
| C-171 | mirb_in_file_context: load | E-08 (mirb_completion.c:181) | ○ |
| C-172 | mirb_in_file_context: 非ファイルコンテキスト | E-08 (mirb_completion.c:183-185) | ○ |
| C-173 | mirb_extract_receiver: レシーバ抽出 | E-08 (mirb_completion.c:189-241) | ○ |
| C-174 | mirb_extract_receiver: チェインレシーバ | E-08 (mirb_completion.c:199-200) | ○ |
| C-175 | mirb_extract_receiver: ドットなしNULL | E-08 (mirb_completion.c:208) | ○ |
| C-176 | mirb_add_completion: 一致追加 | E-08 (mirb_completion.c:484-512) | ○ |
| C-177 | mirb_add_completion: 不一致非追加 | E-08 (mirb_completion.c:491-493) | ○ |
| C-178 | mirb_complete_keywords: キーワード補完 | E-08 (mirb_completion.c:377-383) | ○ |
| C-179 | mirb_generate_completions: メソッド補完 | E-08 (mirb_completion.c:515-580) | ○ |
| C-180 | mirb_generate_completions: キーワード補完 | E-08 (mirb_completion.c:575-578) | ○ |
| C-181 | mirb_get_completions: 結果返却 | E-08 (mirb_completion.c:751-785) | ○ |
| C-182 | mirb_get_completions: NULL時0 | E-08 (mirb_completion.c:756-760) | ○ |
| C-183 | mirb_free_completions: 解放 | E-08 (mirb_completion.c:788-797) | ○ |
| C-184 | mirb_free_completions: NULL安全 | E-08 (mirb_completion.c:790) | ○ |
| C-185 | mirb_setup_editor_completion: セットアップ | E-08 (mirb_completion.c:731-738) | ○ |
| C-186 | mirb_cleanup_editor_completion: クリーンアップ | E-08 (mirb_completion.c:741-748) | ○ |
| C-187 | mirb_highlight_init: 有効初期化 | E-10 (mirb_highlight.c:215-222) | ○ |
| C-188 | mirb_highlight_init: 無効初期化 | E-10 (mirb_highlight.c:215-222) | ○ |
| C-189 | mirb_highlight_detect_theme: MIRB_THEME light | E-10 (mirb_highlight.c:183-186) | ○ |
| C-190 | mirb_highlight_detect_theme: MIRB_THEME dark | E-10 (mirb_highlight.c:186) | ○ |
| C-191 | mirb_highlight_detect_theme: デフォルトdark | E-10 (mirb_highlight.c:211) | ○ |
| C-192 | mirb_highlight_detect_theme: COLORFGBG light | E-10 (mirb_highlight.c:194-207) | ○ |
| C-193 | mirb_highlight_set_theme: テーマ設定 | E-10 (mirb_highlight.c:225-228) | ○ |
| C-194 | mirb_highlight_reset: 状態リセット | E-10 (mirb_highlight.c:231-237) | ○ |
| C-195 | mirb_highlight_print_line: キーワード | E-10 (mirb_highlight.c:242-468) | ○ |
| C-196 | mirb_highlight_print_line: 文字列 | E-10 (mirb_highlight.c:284-308) | ○ |
| C-197 | mirb_highlight_print_line: コメント | E-10 (mirb_highlight.c:278-281) | ○ |
| C-198 | mirb_highlight_print_line: 数値 | E-10 (mirb_highlight.c:397-433) | ○ |
| C-199 | mirb_highlight_print_line: シンボル | E-10 (mirb_highlight.c:351-371) | ○ |
| C-200 | mirb_highlight_print_line: 定数 | E-10 (mirb_highlight.c:451-452) | ○ |
| C-201 | mirb_highlight_print_line: インスタンス変数 | E-10 (mirb_highlight.c:374-379) | ○ |
| C-202 | mirb_highlight_print_line: グローバル変数 | E-10 (mirb_highlight.c:382-393) | ○ |
| C-203 | mirb_highlight_print_line: 無効時プレーンテキスト | E-10 (mirb_highlight.c:248-250) | ○ |
| C-204 | mirb_highlight_print_line: マルチライン文字列 | E-10 (mirb_highlight.c:300-307) | ○ |
| C-205 | mirb_highlight_print_line: 16進数 | E-10 (mirb_highlight.c:401-405) | ○ |
| C-206 | mirb_highlight_print_line: パーセント文字列 | E-10 (mirb_highlight.c:312-347) | ○ |
| C-207 | mirb_highlight_print_line: ハッシュキーシンボル | E-10 (mirb_highlight.c:447-449) | ○ |
| C-208 | mirb_highlight_print_line: ドット後のメソッド名 | E-10 (mirb_highlight.c:441, 454) | ○ |
| C-209 | mirb_highlight_print_result: 有効 | E-10 (mirb_highlight.c:475-494) | ○ |
| C-210 | mirb_highlight_print_result: 無効 | E-10 (mirb_highlight.c:477-481) | ○ |
| C-211 | mirb_highlight_print_error: 有効 | E-10 (mirb_highlight.c:500-516) | ○ |
| C-212 | mirb_highlight_print_error: 無効 | E-10 (mirb_highlight.c:502-505) | ○ |
| C-213 | mirb_history_init: 初期化 | E-12 (mirb_history.c:21-38) | ○ |
| C-214 | mirb_history_init: デフォルト容量 | E-12 (mirb_history.c:25) | ○ |
| C-215 | mirb_history_free: 解放 | E-12 (mirb_history.c:44-57) | ○ |
| C-216 | mirb_history_add: 追加 | E-12 (mirb_history.c:72-104) | ○ |
| C-217 | mirb_history_add: 重複排除 | E-12 (mirb_history.c:78-81) | ○ |
| C-218 | mirb_history_add: 空文字列排除 | E-12 (mirb_history.c:74) | ○ |
| C-219 | mirb_history_add: NULL排除 | E-12 (mirb_history.c:74) | ○ |
| C-220 | mirb_history_add: 循環バッファ | E-12 (mirb_history.c:93-99) | ○ |
| C-221 | mirb_history_browse_start: ブラウズ開始 | E-12 (mirb_history.c:110-118) | ○ |
| C-222 | mirb_history_browse_start: 重複開始 | E-12 (mirb_history.c:112) | ○ |
| C-223 | mirb_history_browse_stop: ブラウズ停止 | E-12 (mirb_history.c:124-130) | ○ |
| C-224 | mirb_history_prev: 前エントリ | E-12 (mirb_history.c:136-153) | ○ |
| C-225 | mirb_history_prev: 最古でNULL | E-12 (mirb_history.c:146-149) | ○ |
| C-226 | mirb_history_prev: 空履歴でNULL | E-12 (mirb_history.c:138) | ○ |
| C-227 | mirb_history_next: 次エントリ | E-12 (mirb_history.c:159-176) | ○ |
| C-228 | mirb_history_next: saved_input復帰 | E-12 (mirb_history.c:170-172) | ○ |
| C-229 | mirb_history_next: 非ブラウズNULL | E-12 (mirb_history.c:161) | ○ |
| C-230 | mirb_history_count: 件数取得 | E-12 (mirb_history.c:182-185) | ○ |
| C-231 | mirb_history_count: 空で0 | E-12 (mirb_history.c:184) | ○ |
| C-232 | mirb_eval_receiver: 正常評価 | E-08 (mirb_completion.c:294-327) | ○ |
| C-233 | mirb_eval_receiver: 不正式でnil | E-08 (mirb_completion.c:304-306) | △ |
| C-234 | mirb_eval_receiver: 例外時nil | E-08 (mirb_completion.c:320-324) | △ |

## 4) 不足情報（Unknown / Missing）
- **C-158/C-159（mirb_term_query_bg_color 暗い/明るい背景検出）**: 実際のターミナルのOSC 11応答を模擬するテスト環境が必要。ターミナルエミュレータによって応答形式が異なるため、モック/スタブの実装が推奨される。
  - 候補：pty/pipe を使ったターミナル応答シミュレーション / read()のモック
- **C-161（タイムアウト時）**: select()のタイムアウト動作を確実にテストするにはIOモックが必要。
  - 候補：select()のスタブ化 / テスト用の遅延応答ターミナル
- **C-233/C-234（mirb_eval_receiver 異常系）**: mrb_parse_stringやmrb_vm_runの内部動作に依存し、入力に対するエラー・例外の発生パターンが限定的。
  - 候補：意図的に構文エラーを起こす入力 / 例外をスローするRubyコード

## 5) リスクフラグ（レビュー観点）
- **0 (低リスク)**: 大部分のテストケース（バッファ操作、カーソル移動、履歴管理等）はソースコードの直接的な関数実装から導出されており、根拠が明確。
- **1 (中リスク)**: ターミナルI/O関連（mirb_term_query_bg_color, mirb_term_read_key）はプラットフォーム依存性があり、テスト環境によって結果が異なる可能性がある。
- **1 (中リスク)**: mirb_eval_receiver はmruby VMの内部状態に依存するため、テストの安定性に注意が必要。
- **0 (低リスク)**: mirb_highlight_print_line のハイライト検証は出力文字列のパターンマッチで確認可能。

## 6) レビュアーチェックリスト（最小）
- [ ] テストケース数（234件）がモジュール内の全public関数をカバーしているか確認
- [ ] mirb_term_query_bg_colorのテストが実行環境（tty/非tty）で正しく動作するか確認
- [ ] mirb_buffer系のUTF-8テスト（MRB_UTF8_STRING有効時）が追加で必要か検討
- [ ] Windows環境用のスタブ関数（mirb_term.c内）に対するテストケースの要否を検討
- [ ] mirb.c のmain関数内統合的な処理フロー（ライブラリロード、REPL実行等）の結合テスト要否を検討
- [ ] 各テストケースの「前提条件」が実際のテストフレームワークで再現可能か確認
