---
generated_at: 2026-03-01 12:00:00
metrics:
  claims_total: 276
  claims_with_evidence: 262
  claims_without_evidence: 14
confidence_derived: 0.95
---

# 根拠レポート：host モジュール単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.95**
  - 根拠あり：262 / 276、根拠なし：14
- 優先レビュー（高）
  1. **Settings::Validate の検証ロジック詳細**：具体的なバリデーションルールの実装確認が必要
  2. **COOKED_READ_DATA のポップアップ処理**：内部状態遷移の詳細が非公開メンバに依存
  3. **AccessibilityNotifier のタイマー動作**：非同期処理の振る舞い確認が必要

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

- E-01: `src/host/ConsoleArguments.hpp` - ConsoleArgumentsクラスの宣言（パブリックメソッド、メンバ変数、定数定義）
- E-02: `src/host/ConsoleArguments.cpp` - ConsoleArgumentsクラスの実装
- E-03: `src/host/alias.h` - Aliasクラスの宣言（静的メソッド）
- E-04: `src/host/alias.cpp` - Aliasクラスの実装
- E-05: `src/host/history.h` - CommandHistoryクラスの宣言（メソッド、列挙型、メンバ変数）
- E-06: `src/host/history.cpp` - CommandHistoryクラスの実装
- E-07: `src/host/inputBuffer.hpp` - InputBufferクラスの宣言（パブリックAPI、プライベートメンバ）
- E-08: `src/host/inputBuffer.cpp` - InputBufferクラスの実装
- E-09: `src/host/selection.hpp` - Selectionクラスの宣言（パブリック/プライベートメソッド、内部状態）
- E-10: `src/host/selection.cpp` - Selectionクラスの実装
- E-11: `src/host/selectionInput.cpp` - Selection入力処理の実装
- E-12: `src/host/selectionState.cpp` - Selection状態管理の実装
- E-13: `src/host/settings.hpp` - Settingsクラスの宣言（getter/setter、メンバ変数、定数）
- E-14: `src/host/settings.cpp` - Settingsクラスの実装
- E-15: `src/host/VtIo.hpp` - VtIoクラスの宣言（Writerサブクラス、状態列挙）
- E-16: `src/host/VtIo.cpp` - VtIoクラスの実装
- E-17: `src/host/VtInputThread.hpp` - VtInputThreadクラスの宣言
- E-18: `src/host/VtInputThread.cpp` - VtInputThreadクラスの実装
- E-19: `src/host/PtySignalInputThread.hpp` - PtySignalInputThreadクラスの宣言（内部シグナル定義）
- E-20: `src/host/PtySignalInputThread.cpp` - PtySignalInputThreadクラスの実装
- E-21: `src/host/outputStream.hpp` - ConhostInternalGetSetクラスの宣言（ITerminalApi実装）
- E-22: `src/host/outputStream.cpp` - ConhostInternalGetSetクラスの実装
- E-23: `src/host/renderData.hpp` - RenderDataクラスの宣言（IRenderData実装）
- E-24: `src/host/renderData.cpp` - RenderDataクラスの実装
- E-25: `src/host/screenInfo.hpp` - SCREEN_INFORMATIONクラスの宣言
- E-26: `src/host/screenInfo.cpp` - SCREEN_INFORMATIONクラスの実装
- E-27: `src/host/scrolling.hpp` - Scrollingクラスの宣言（静的メソッド）
- E-28: `src/host/scrolling.cpp` - Scrollingクラスの実装
- E-29: `src/host/readData.hpp` - ReadDataクラスの宣言
- E-30: `src/host/readDataCooked.hpp` - COOKED_READ_DATAクラスの宣言（内部状態、ポップアップ定義）
- E-31: `src/host/readDataCooked.cpp` - COOKED_READ_DATAクラスの実装
- E-32: `src/host/readDataDirect.hpp` - DirectReadDataクラスの宣言
- E-33: `src/host/readDataRaw.hpp` - RAW_READ_DATAクラスの宣言
- E-34: `src/host/writeData.hpp` - WriteDataクラスの宣言
- E-35: `src/host/writeData.cpp` - WriteDataクラスの実装
- E-36: `src/host/utils.hpp` - Utilsクラスおよびユーティリティ関数の宣言
- E-37: `src/host/utils.cpp` - ユーティリティ関数の実装
- E-38: `src/host/input.h` - INPUT_KEY_INFOクラスおよびグローバル入力関数の宣言
- E-39: `src/host/input.cpp` - 入力処理の実装
- E-40: `src/host/misc.h` - misc関数の宣言（文字変換関数）
- E-41: `src/host/misc.cpp` - misc関数の実装
- E-42: `src/host/cmdline.h` - コマンドライン関数の宣言（ワード区切り関数）
- E-43: `src/host/cmdline.cpp` - コマンドライン関数の実装
- E-44: `src/host/directio.h` - ダイレクトI/O関数の宣言
- E-45: `src/host/directio.cpp` - ダイレクトI/O関数の実装
- E-46: `src/host/output.h` - 出力関数の宣言
- E-47: `src/host/output.cpp` - 出力関数の実装
- E-48: `src/host/stream.h` - ストリーム関数の宣言
- E-49: `src/host/stream.cpp` - ストリーム関数の実装
- E-50: `src/host/_stream.h` - 内部ストリーム関数の宣言
- E-51: `src/host/_stream.cpp` - 内部ストリーム関数の実装
- E-52: `src/host/_output.h` - 内部出力関数の宣言
- E-53: `src/host/registry.hpp` - Registryクラスの宣言
- E-54: `src/host/registry.cpp` - Registryクラスの実装
- E-55: `src/host/renderFontDefaults.hpp` - RenderFontDefaultsクラスの宣言
- E-56: `src/host/renderFontDefaults.cpp` - RenderFontDefaultsクラスの実装
- E-57: `src/host/inputReadHandleData.h` - INPUT_READ_HANDLE_DATAクラスの宣言
- E-58: `src/host/inputReadHandleData.cpp` - INPUT_READ_HANDLE_DATAクラスの実装
- E-59: `src/host/dbcs.h` - DBCS関連関数の宣言
- E-60: `src/host/dbcs.cpp` - DBCS関連関数の実装
- E-61: `src/host/getset.h` - getset関数の宣言
- E-62: `src/host/getset.cpp` - getset関数の実装
- E-63: `src/host/globals.h` - Globalsクラスの宣言
- E-64: `src/host/globals.cpp` - Globalsクラスの実装
- E-65: `src/host/handle.h` - LockConsole/UnlockConsoleの宣言
- E-66: `src/host/handle.cpp` - LockConsole/UnlockConsoleの実装
- E-67: `src/host/AccessibilityNotifier.h` - AccessibilityNotifier構造体の宣言
- E-68: `src/host/AccessibilityNotifier.cpp` - AccessibilityNotifier構造体の実装
- E-69: `src/host/ntprivapi.hpp` - NtPrivApiクラスの宣言
- E-70: `src/host/ntprivapi.cpp` - NtPrivApiクラスの実装
- E-71: `src/host/srvinit.h` - サーバー初期化関数の宣言
- E-72: `src/host/srvinit.cpp` - サーバー初期化関数の実装
- E-73: `src/host/tracing.hpp` - Tracingクラスの宣言
- E-74: `src/host/IIoProvider.hpp` - IIoProviderインターフェースの宣言

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

### ConsoleArguments（C-01 ～ C-18）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | ConsoleArguments有効コマンドラインでの初期化 | E-01, E-02 | ○ |
| C-02 | デフォルトコンストラクタの初期化 | E-01, E-02 | ○ |
| C-03 | --headlessフラグパース | E-01, E-02 | ○ |
| C-04 | --vtmodeフラグとハンドルパース | E-01, E-02 | ○ |
| C-05 | --width/--heightパース | E-01, E-02 | ○ |
| C-06 | --inheritcursorパース | E-01, E-02 | ○ |
| C-07 | --serverフラグパース | E-01, E-02 | ○ |
| C-08 | --signalフラグパース | E-01, E-02 | ○ |
| C-09 | --forcev1フラグパース | E-01, E-02 | ○ |
| C-10 | クライアントコマンドライン抽出 | E-01, E-02 | ○ |
| C-11 | 空コマンドラインのパース | E-01, E-02 | ○ |
| C-12 | 不正ハンドル値のエラー処理 | E-01, E-02 | ○ |
| C-13 | 幅0/高さ0の境界値 | E-01 | ○ |
| C-14 | --comserverフラグパース | E-01, E-02 | ○ |
| C-15 | HasVtHandles判定 | E-01 | ○ |
| C-16 | HasVtHandles未設定判定 | E-01 | ○ |
| C-17 | InConptyMode判定 | E-01 | ○ |
| C-18 | GetForceNoHandoff判定 | E-01 | ○ |

### Alias（C-19 ～ C-24）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-19 | 登録済みエイリアスマッチと展開 | E-03, E-04 | ○ |
| C-20 | 未登録エイリアスの処理 | E-03, E-04 | ○ |
| C-21 | 空文字列エイリアスの処理 | E-03, E-04 | ○ |
| C-22 | 引数付きエイリアス展開 | E-03, E-04 | ○ |
| C-23 | 全エイリアスクリア | E-03, E-04 | ○ |
| C-24 | lineCount正確性 | E-03 | △ |

### CommandHistory（C-25 ～ C-51）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-25 | s_Allocate基本動作 | E-05, E-06 | ○ |
| C-26 | 空アプリ名でのs_Allocate | E-05 | △ |
| C-27 | s_Findプロセスハンドル検索 | E-05, E-06 | ○ |
| C-28 | 無効ハンドルでのs_Find | E-05 | ○ |
| C-29 | s_FindByExeアプリ名検索 | E-05, E-06 | ○ |
| C-30 | Addコマンド追加 | E-05, E-06 | ○ |
| C-31 | Add重複抑制 | E-05, E-06 | ○ |
| C-32 | Add最大数境界値 | E-05, E-06 | ○ |
| C-33 | Retrieve前方検索 | E-05, E-06 | ○ |
| C-34 | Retrieve後方検索 | E-05, E-06 | ○ |
| C-35 | Retrieve先頭境界 | E-05 | ○ |
| C-36 | RetrieveNthインデックス取得 | E-05, E-06 | ○ |
| C-37 | RetrieveNth範囲外 | E-05 | △ |
| C-38 | FindMatchingCommand部分一致 | E-05, E-06 | ○ |
| C-39 | FindMatchingCommand完全一致 | E-05, E-06 | ○ |
| C-40 | FindMatchingCommand不一致 | E-05 | ○ |
| C-41 | Empty全クリア | E-05, E-06 | ○ |
| C-42 | Removeコマンド削除 | E-05, E-06 | ○ |
| C-43 | Remove先頭削除 | E-05 | ○ |
| C-44 | Swapコマンド入替 | E-05, E-06 | ○ |
| C-45 | GetLastCommand取得 | E-05, E-06 | ○ |
| C-46 | GetLastCommand空履歴 | E-05 | ○ |
| C-47 | Reallocリサイズ | E-05, E-06 | ○ |
| C-48 | s_ResizeAll全体リサイズ | E-05, E-06 | ○ |
| C-49 | s_CountOfHistoriesカウント | E-05, E-06 | ○ |
| C-50 | IsAppNameMatch一致 | E-05, E-06 | ○ |
| C-51 | IsAppNameMatch大文字小文字無視 | E-05 | △ |

### InputBuffer（C-52 ～ C-75）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-52 | InputBufferコンストラクタ | E-07, E-08 | ○ |
| C-53 | Write単一レコード | E-07, E-08 | ○ |
| C-54 | Write複数レコード | E-07, E-08 | ○ |
| C-55 | Write空span | E-07 | ○ |
| C-56 | Read基本読み出し | E-07, E-08 | ○ |
| C-57 | ReadPeek | E-07, E-08 | ○ |
| C-58 | ReadゼロAmountToRead | E-07 | ○ |
| C-59 | Read空バッファ | E-07, E-08 | ○ |
| C-60 | Prepend先頭追加 | E-07, E-08 | ○ |
| C-61 | Flushバッファフラッシュ | E-07, E-08 | ○ |
| C-62 | FlushAllButKeys | E-07, E-08 | ○ |
| C-63 | GetNumberOfReadyEvents | E-07, E-08 | ○ |
| C-64 | WriteString文字列書き込み | E-07, E-08 | ○ |
| C-65 | WriteString空文字列 | E-07 | ○ |
| C-66 | WriteFocusEvent | E-07, E-08 | ○ |
| C-67 | WriteMouseEvent書き込み | E-07, E-08 | ○ |
| C-68 | WriteMouseEvent無効時 | E-07, E-08 | ○ |
| C-69 | IsInVirtualTerminalInputMode | E-07, E-08 | ○ |
| C-70 | ReinitializeInputBuffer | E-07, E-08 | ○ |
| C-71 | IsWritePartialByteSequenceAvailable | E-07, E-08 | ○ |
| C-72 | StoreWritePartialByteSequence | E-07, E-08 | ○ |
| C-73 | FetchWritePartialByteSequence | E-07, E-08 | ○ |
| C-74 | Consume Unicode | E-07, E-08 | ○ |
| C-75 | Cache文字列キャッシュ | E-07, E-08 | ○ |

### Selection（C-76 ～ C-98）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-76 | Instanceシングルトン | E-09, E-10 | ○ |
| C-77 | InitializeMarkSelection | E-09, E-10 | ○ |
| C-78 | InitializeMouseSelection | E-09, E-10 | ○ |
| C-79 | SelectNewRegion | E-09, E-10 | ○ |
| C-80 | SelectAll | E-09, E-10 | ○ |
| C-81 | ExtendSelection | E-09, E-10 | ○ |
| C-82 | ClearSelection | E-09, E-10 | ○ |
| C-83 | ClearSelection(bool) | E-09, E-10 | ○ |
| C-84 | GetSelectionSpans | E-09, E-10 | ○ |
| C-85 | GetSelectionSpans未選択 | E-09 | ○ |
| C-86 | IsLineSelection | E-09, E-12 | ○ |
| C-87 | SetLineSelection | E-09, E-12 | ○ |
| C-88 | IsInQuickEditMode | E-09, E-12 | ○ |
| C-89 | GetPublicSelectionFlags | E-09, E-12 | ○ |
| C-90 | GetSelectionAnchor | E-09, E-12 | ○ |
| C-91 | ShouldAllowMouseDragSelection | E-09, E-12 | ○ |
| C-92 | HandleKeySelectionEvent | E-09, E-11 | ○ |
| C-93 | HandleKeySelectionEvent CopyToClipboard | E-09, E-11 | ○ |
| C-94 | s_IsValidKeyboardLineSelection | E-09, E-11 | ○ |
| C-95 | HandleKeyboardLineSelectionEvent | E-09, E-11 | ○ |
| C-96 | s_IsWithinBoundaries範囲内 | E-09, E-11 | ○ |
| C-97 | s_IsWithinBoundaries範囲外 | E-09, E-11 | ○ |
| C-98 | s_IsWithinBoundaries境界 | E-09 | ○ |

### Settings（C-99 ～ C-122）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-99 | Settingsコンストラクタ | E-13, E-14 | ○ |
| C-100 | ApplyDesktopSpecificDefaults | E-13, E-14 | ○ |
| C-101 | ApplyCommandlineArguments | E-13, E-14 | ○ |
| C-102 | Validate検証ロジック | E-13, E-14 | △ |
| C-103 | SetWindowAlpha設定 | E-13, E-14 | ○ |
| C-104 | SetWindowAlpha最小値クランプ | E-13 | △ |
| C-105 | SetCodePage | E-13, E-14 | ○ |
| C-106 | SetCursorSize基本 | E-13, E-14 | ○ |
| C-107 | SetCursorSize境界(0) | E-13 | △ |
| C-108 | SetCursorSize境界(100) | E-13 | ○ |
| C-109 | SetFaceName | E-13, E-14 | ○ |
| C-110 | SetFaceName長さ制限 | E-13 | ○ |
| C-111 | SetScreenBufferSize | E-13, E-14 | ○ |
| C-112 | SetWindowSize | E-13, E-14 | ○ |
| C-113 | SetHistoryBufferSize | E-13, E-14 | ○ |
| C-114 | SetColorTableEntry | E-13, E-14 | ○ |
| C-115 | SetColorTableEntry範囲外 | E-13 | △ |
| C-116 | SetCursorType | E-13, E-14 | ○ |
| C-117 | SetTextMeasurementMode | E-13, E-14 | ○ |
| C-118 | CreateConsoleStateInfo | E-13, E-14 | ○ |
| C-119 | InitFromStateInfo | E-13, E-14 | ○ |
| C-120 | GetFilterOnPaste | E-13, E-14 | ○ |
| C-121 | SetQuickEdit | E-13, E-14 | ○ |
| C-122 | SetInsertMode | E-13, E-14 | ○ |

### VtIo（C-123 ～ C-138）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-123 | Initialize正常 | E-15, E-16 | ○ |
| C-124 | Initialize異常 | E-15, E-16 | ○ |
| C-125 | IsUsingVt | E-15, E-16 | ○ |
| C-126 | StartIfNeeded正常 | E-15, E-16 | ○ |
| C-127 | StartIfNeeded未初期化 | E-15, E-16 | ○ |
| C-128 | FormatAttributes | E-15, E-16 | ○ |
| C-129 | SanitizeUCS2制御文字 | E-15, E-16 | ○ |
| C-130 | SanitizeUCS2通常文字 | E-15, E-16 | ○ |
| C-131 | SendCloseEvent | E-15, E-16 | ○ |
| C-132 | Writer初期化 | E-15, E-16 | ○ |
| C-133 | WriteUTF8 | E-15, E-16 | ○ |
| C-134 | WriteUTF16 | E-15, E-16 | ○ |
| C-135 | WriteCUP | E-15, E-16 | ○ |
| C-136 | WriteDECTCEM | E-15, E-16 | ○ |
| C-137 | WriteSGR1006 | E-15, E-16 | ○ |
| C-138 | Submit | E-15, E-16 | ○ |

### VtInputThread / PtySignalInputThread（C-139 ～ C-143）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-139 | VtInputThreadコンストラクタ | E-17, E-18 | ○ |
| C-140 | VtInputThread::Start | E-17, E-18 | ○ |
| C-141 | PtySignalInputThreadコンストラクタ | E-19, E-20 | ○ |
| C-142 | PtySignalInputThread::Start | E-19, E-20 | ○ |
| C-143 | ConnectConsole | E-19, E-20 | ○ |

### ConhostInternalGetSet（C-144 ～ C-157）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-144 | コンストラクタ | E-21, E-22 | ○ |
| C-145 | ReturnResponse | E-21, E-22 | ○ |
| C-146 | SetViewportPosition | E-21, E-22 | ○ |
| C-147 | SetSystemMode | E-21, E-22 | ○ |
| C-148 | GetSystemMode | E-21, E-22 | ○ |
| C-149 | SetWindowTitle | E-21, E-22 | ○ |
| C-150 | UseAlternateScreenBuffer | E-21, E-22, E-25 | ○ |
| C-151 | UseMainScreenBuffer | E-21, E-22, E-25 | ○ |
| C-152 | ResizeWindow | E-21, E-22 | ○ |
| C-153 | ResizeWindowゼロサイズ | E-21 | △ |
| C-154 | SetCodePage | E-21, E-22 | ○ |
| C-155 | ResetCodePage | E-21, E-22 | ○ |
| C-156 | IsVtInputEnabled | E-21, E-22 | ○ |
| C-157 | NotifyBufferRotation | E-21, E-22 | ○ |

### RenderData（C-158 ～ C-166）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-158 | GetViewport | E-23, E-24 | ○ |
| C-159 | GetTextBuffer | E-23, E-24 | ○ |
| C-160 | GetFontInfo | E-23, E-24 | ○ |
| C-161 | IsSelectionActive(true) | E-23, E-24 | ○ |
| C-162 | IsSelectionActive(false) | E-23 | ○ |
| C-163 | GetAttributeColors | E-23, E-24 | ○ |
| C-164 | GetConsoleTitle | E-23, E-24 | ○ |
| C-165 | ClearSelection | E-23, E-24 | ○ |
| C-166 | SelectNewRegion | E-23, E-24 | ○ |

### ReadData系（C-167 ～ C-177）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-167 | COOKED_READ_DATAコンストラクタ | E-30, E-31 | ○ |
| C-168 | Read(unicode) | E-30, E-31 | ○ |
| C-169 | Read(ANSI) | E-30, E-31 | ○ |
| C-170 | SetInsertMode | E-30, E-31 | ○ |
| C-171 | IsEmpty(true) | E-30, E-31 | ○ |
| C-172 | IsEmpty(false) | E-30, E-31 | ○ |
| C-173 | EraseBeforeResize | E-30, E-31 | ○ |
| C-174 | RedrawAfterResize | E-30, E-31 | ○ |
| C-175 | Notify | E-30, E-31 | ○ |
| C-176 | DirectReadData::Notify | E-32 | ○ |
| C-177 | RAW_READ_DATA::Notify | E-33 | ○ |

### WriteData（C-178 ～ C-181）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-178 | WriteDataコンストラクタ | E-34, E-35 | ○ |
| C-179 | SetLeadByteAdjustmentStatus | E-34, E-35 | ○ |
| C-180 | SetUtf8ConsumedCharacters | E-34, E-35 | ○ |
| C-181 | Notify | E-34, E-35 | ○ |

### Scrolling（C-182 ～ C-188）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-182 | s_IsInScrollMode | E-27, E-28 | ○ |
| C-183 | s_HandleMouseWheel垂直 | E-27, E-28 | ○ |
| C-184 | s_HandleMouseWheel水平 | E-27, E-28 | ○ |
| C-185 | s_HandleMouseWheelゼロデルタ | E-27 | ○ |
| C-186 | s_HandleKeyScrollingEvent処理 | E-27, E-28 | ○ |
| C-187 | s_HandleKeyScrollingEvent非スクロール | E-27, E-28 | ○ |
| C-188 | s_UpdateSystemMetrics | E-27, E-28 | ○ |

### Utils（C-189 ～ C-199）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-189 | s_CompareCoords前方 | E-36, E-37 | ○ |
| C-190 | s_CompareCoords同一 | E-36, E-37 | ○ |
| C-191 | s_CompareCoords後方 | E-36, E-37 | ○ |
| C-192 | 2引数版s_CompareCoords | E-36, E-37 | ○ |
| C-193 | s_GetOppositeCorner | E-36, E-37 | ○ |
| C-194 | CalcWindowSizeX | E-36, E-37 | ○ |
| C-195 | CalcWindowSizeY | E-36, E-37 | ○ |
| C-196 | CalcCursorYOffsetInPixels | E-36, E-37 | ○ |
| C-197 | ConvertStringToDec正常 | E-36, E-37 | ○ |
| C-198 | ConvertStringToDec非数値 | E-36, E-37 | ○ |
| C-199 | ConvertStringToDec空文字列 | E-36 | ○ |

### INPUT_KEY_INFO / Input functions（C-200 ～ C-212）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-200 | INPUT_KEY_INFOコンストラクタ | E-38, E-39 | ○ |
| C-201 | IsCtrlPressed(true) | E-38, E-39 | ○ |
| C-202 | IsCtrlPressed(false) | E-38 | ○ |
| C-203 | IsAltPressed | E-38, E-39 | ○ |
| C-204 | IsShiftPressed | E-38, E-39 | ○ |
| C-205 | IsCtrlOnly | E-38, E-39 | ○ |
| C-206 | IsCtrlOnly+Shift | E-38 | ○ |
| C-207 | HasNoModifiers | E-38, E-39 | ○ |
| C-208 | IsShiftAndCtrlOnly | E-38, E-39 | ○ |
| C-209 | IsInProcessedInputMode | E-38, E-39 | ○ |
| C-210 | IsInVirtualTerminalInputMode | E-38, E-39 | ○ |
| C-211 | IsSystemKey(true) | E-38, E-39 | ○ |
| C-212 | IsSystemKey(false) | E-38 | ○ |

### misc / cmdline / directio / output / stream 等（C-213 ～ C-276）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-213 | CharToWchar | E-40, E-41 | ○ |
| C-214 | ConvertToOem | E-40, E-41 | ○ |
| C-215 | ConvertToOem空文字列 | E-40 | ○ |
| C-216 | ConvertOutputToUnicode | E-40, E-41 | ○ |
| C-217 | ConvertOutputToUnicode空文字列 | E-40 | ○ |
| C-218 | IsWordDelim空白 | E-42, E-43 | ○ |
| C-219 | IsWordDelim英字 | E-42 | ○ |
| C-220 | DelimiterClass | E-42, E-43 | ○ |
| C-221 | ReadConsoleOutputWImplHelper | E-44, E-45 | ○ |
| C-222 | ReadConsoleOutputWImplHelper範囲外 | E-44 | ○ |
| C-223 | WriteConsoleOutputWImplHelper | E-44, E-45 | ○ |
| C-224 | WriteConsoleOutputWImplHelper空バッファ | E-44 | ○ |
| C-225 | ReadOutputAttributes | E-46, E-47 | ○ |
| C-226 | ReadOutputStringW | E-46, E-47 | ○ |
| C-227 | ReadOutputStringA | E-46, E-47 | ○ |
| C-228 | ScrollRegion | E-46, E-47 | ○ |
| C-229 | ScrollRegionクリップ付き | E-46, E-47 | ○ |
| C-230 | ScreenBufferSizeChange | E-46, E-47 | ○ |
| C-231 | WriteCharsLegacy | E-50, E-51 | ○ |
| C-232 | WriteCharsVT | E-50, E-51 | ○ |
| C-233 | WriteClearScreen | E-50, E-51 | ○ |
| C-234 | DoWriteConsole | E-50, E-51 | ○ |
| C-235 | DoWriteConsole空文字列 | E-50 | ○ |
| C-236 | GetChar正常 | E-48, E-49 | ○ |
| C-237 | GetChar空バッファ | E-48 | ○ |
| C-238 | ReadCharacterInput | E-48, E-49 | ○ |
| C-239 | Registry::LoadGlobalsFromRegistry | E-53, E-54 | ○ |
| C-240 | Registry::LoadDefaultFromRegistry | E-53, E-54 | ○ |
| C-241 | Registry::LoadFromRegistry | E-53, E-54 | ○ |
| C-242 | Registry::GetEditKeys | E-53, E-54 | ○ |
| C-243 | RenderFontDefaults::RetrieveDefaultFontNameForCodepage | E-55, E-56 | ○ |
| C-244 | RenderFontDefaults日本語CP | E-55 | △ |
| C-245 | INPUT_READ_HANDLE_DATAコンストラクタ | E-57, E-58 | ○ |
| C-246 | IncrementReadCount | E-57, E-58 | ○ |
| C-247 | DecrementReadCount | E-57, E-58 | ○ |
| C-248 | SavePendingInput | E-57, E-58 | ○ |
| C-249 | SaveMultilinePendingInput | E-57, E-58 | ○ |
| C-250 | CompletePending | E-57, E-58 | ○ |
| C-251 | UpdatePending | E-57, E-58 | ○ |
| C-252 | CheckBisectStringA | E-59, E-60 | ○ |
| C-253 | IsDBCSLeadByteConsole(true) | E-59, E-60 | ○ |
| C-254 | IsDBCSLeadByteConsole(false) | E-59, E-60 | ○ |
| C-255 | CodePageToCharSet | E-59, E-60 | ○ |
| C-256 | IsAvailableEastAsianCodePage(true) | E-59, E-60 | ○ |
| C-257 | IsAvailableEastAsianCodePage(false) | E-59, E-60 | ○ |
| C-258 | DoSrvSetConsoleOutputCodePage正常 | E-61, E-62 | ○ |
| C-259 | DoSrvSetConsoleOutputCodePage異常 | E-61 | △ |
| C-260 | DoSrvSetConsoleInputCodePage正常 | E-61, E-62 | ○ |
| C-261 | DoSrvSetConsoleInputCodePage異常 | E-61 | △ |
| C-262 | Globalsコンストラクタ | E-63, E-64 | ○ |
| C-263 | getConsoleInformation | E-63, E-64 | ○ |
| C-264 | IsHeadless | E-63, E-64 | ○ |
| C-265 | AccessibilityNotifier::Initialize | E-67, E-68 | ○ |
| C-266 | CursorChanged | E-67, E-68 | ○ |
| C-267 | SelectionChanged | E-67, E-68 | ○ |
| C-268 | ScrollBuffer | E-67, E-68 | ○ |
| C-269 | NtPrivApi::s_GetProcessParentId正常 | E-69, E-70 | ○ |
| C-270 | NtPrivApi::s_GetProcessParentId異常 | E-69 | △ |
| C-271 | GetConsoleLangId | E-71, E-72 | ○ |
| C-272 | TranslateConsoleTitle | E-71, E-72 | ○ |
| C-273 | TranslateConsoleTitle空 | E-71 | ○ |
| C-274 | WriteToScreen | E-52 | ○ |
| C-275 | LockConsole | E-65, E-66 | ○ |
| C-276 | UnlockConsole | E-65, E-66 | ○ |

## 4) 不足情報（Unknown / Missing）
- Settings::Validate の具体的なバリデーションルール（C-102）：実装ファイルの全行を精査しないと正確なルール特定が困難
  - 候補：src/host/settings.cpp の Validate メソッド全体 / 他プロジェクト設定ファイル / Windows API仕様
- SetWindowAlpha の最小値クランプ動作（C-104）：MIN_WINDOW_OPACITY定数は確認済みだが、実際のクランプロジックの実装確認が必要
  - 候補：src/host/settings.cpp の SetWindowAlpha 実装 / Validate メソッド
- SetCursorSize のゼロ値処理（C-107）：ゼロが許容されるか修正されるかの実装確認が必要
  - 候補：src/host/settings.cpp の SetCursorSize / Validate
- SetColorTableEntry の範囲外インデックス処理（C-115）：例外をスローするか無視するかの確認が必要
  - 候補：src/host/settings.cpp のカラーテーブル実装
- ResizeWindow のゼロサイズ処理（C-153）：具体的なエラーハンドリングの実装確認が必要
  - 候補：src/host/outputStream.cpp の ResizeWindow 実装
- CommandHistory::IsAppNameMatch の大文字小文字比較方式（C-51）：wstring比較がcase-insensitiveかの確認が必要
  - 候補：src/host/history.cpp の IsAppNameMatch 実装
- エイリアスのlineCount動作（C-24）：lineCount変数の具体的な更新ロジック確認が必要
  - 候補：src/host/alias.cpp の s_MatchAndCopyAlias 実装
- RetrieveNth の範囲外アクセス（C-37）：インデックス検証の有無と戻り値の確認が必要
  - 候補：src/host/history.cpp の RetrieveNth 実装
- 空アプリ名でのs_Allocate動作（C-26）：空文字列に対するガード処理の有無
  - 候補：src/host/history.cpp の s_Allocate 実装
- DoSrvSetConsoleOutputCodePage / DoSrvSetConsoleInputCodePage の無効コードページエラーコード（C-259, C-261）：具体的なエラーHRESULTの確認が必要
  - 候補：src/host/getset.cpp の実装
- RenderFontDefaults の日本語コードページ対応フォント名（C-244）：932に対応するフォントの具体名の確認が必要
  - 候補：src/host/renderFontDefaults.cpp の実装 / Windows フォントフォールバック仕様
- NtPrivApi::s_GetProcessParentId の無効PIDエラーコード（C-270）：具体的なNTSTATUSエラーコードの確認が必要
  - 候補：src/host/ntprivapi.cpp の実装 / NT APIリファレンス

## 5) リスクフラグ（レビュー観点）
- 1: Settings::Validate のバリデーションルールは実装の詳細に依存しており、テストケースの期待結果が不正確な可能性がある
- 1: 境界値テスト（SetCursorSize=0, SetWindowAlpha最小値等）の期待結果は実装の具体的なクランプ/拒否ロジックに依存
- 0: ConsoleArguments のパース処理は既存テスト（ut_host）でカバーされている可能性が高い
- 0: InputBuffer の読み書き処理はWin32 API標準のセマンティクスに従う
- 1: AccessibilityNotifier の非同期タイマー動作はタイミングに依存するテストが困難な可能性
- 0: CommandHistory の基本操作（Add/Retrieve/Remove等）は単純なデータ構造操作

## 6) レビュアーチェックリスト（最小）
- [ ] Settings::Validate の実装を確認し、具体的なバリデーションルールがテストケースに反映されているか
- [ ] SetWindowAlpha, SetCursorSize 等の境界値処理の実装を確認し、期待結果を修正する必要がないか
- [ ] CommandHistory::IsAppNameMatch が大文字小文字無視で比較するかを実装で確認
- [ ] DoSrvSetConsoleOutputCodePage / DoSrvSetConsoleInputCodePage の無効コードページ時の具体的なエラーコードを確認
- [ ] COOKED_READ_DATA のポップアップ関連テストケースが不足していないか（内部的なポップアップ処理は対象外としている）
- [ ] スレッド系クラス（VtInputThread, PtySignalInputThread）のテストがモック/スタブで実現可能か確認
- [ ] SCREEN_INFORMATION クラスのメソッドについて、テスト対象範囲の妥当性を確認（94ファイルの大規模モジュールのため、主要クラスに絞っている）
