---
generated_at: 2026-03-01 12:00:00
metrics:
  claims_total: 170
  claims_with_evidence: 162
  claims_without_evidence: 8
confidence_derived: 0.95
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.95**
  - 根拠あり：162 / 170、根拠なし：8
- 優先レビュー（高）
  1. **UT-TSM-029〜031 (NormalizeCommandLine)**: Windows固有API依存のため実行環境制約あり
  2. **UT-TSM-100〜101 (ExpandCommands)**: コマンド展開の内部フローの正確な検証が必要
  3. **UT-TSM-164〜165 (FileUtils)**: ファイルシステム依存、ポータブルモード/パッケージモードの検証

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

- E-01: `src/cascadia/TerminalSettingsModel/ColorScheme.h` - ColorSchemeクラスの定義
- E-02: `src/cascadia/TerminalSettingsModel/ColorScheme.cpp` - ColorSchemeの実装（FromJson, ToJson, Copy, SetColorTableEntry, IsEquivalentForSettingsMergePurposes）
- E-03: `src/cascadia/TerminalSettingsModel/Profile.h` - Profileクラスの定義、メンバ関数宣言
- E-04: `src/cascadia/TerminalSettingsModel/Profile.cpp` - Profileの実装（FromJson, LayerJson, ToJson, CopySettings, CreateUnfocusedAppearance, DeleteUnfocusedAppearance, EvaluateStartingDirectory, _GenerateGuidForProfile, NormalizeCommandLine）
- E-05: `src/cascadia/TerminalSettingsModel/KeyChordSerialization.cpp` - KeyChord直列化/逆直列化の実装（_fromString, _toString, ConversionTrait<KeyChord>）
- E-06: `src/cascadia/TerminalSettingsModel/ActionAndArgs.h` - ActionAndArgsクラスの定義
- E-07: `src/cascadia/TerminalSettingsModel/ActionAndArgs.cpp` - ActionAndArgsの実装（FromJson, ToJson, Copy, GenerateName, GenerateID, Serialize, Deserialize）
- E-08: `src/cascadia/TerminalSettingsModel/Theme.h` - Theme, ThemeColor, ThemePairクラスの定義
- E-09: `src/cascadia/TerminalSettingsModel/Theme.cpp` - Themeの実装（FromJson, ToJson, Copy, RequestedTheme, ThemeColor::FromColor/FromAccent/FromTerminalBackground/UnfocusedTabOpacity, ThemePair::FromJson/ToJson/Copy）
- E-10: `src/cascadia/TerminalSettingsModel/Command.cpp` - Commandの実装（FromJson, FromSnippetJson, Copy, Name, LayerJson, ToJson, ExpandCommands, ParsePowerShellMenuComplete, HistoryToCommands）
- E-11: `src/cascadia/TerminalSettingsModel/GlobalAppSettings.h` - GlobalAppSettingsクラスの定義
- E-12: `src/cascadia/TerminalSettingsModel/CascadiaSettings.h` - CascadiaSettings, SettingsLoader, ParsedSettings, ExtensionPackage, FragmentSettings等の定義
- E-13: `src/cascadia/TerminalSettingsModel/CascadiaSettings.cpp` - CascadiaSettingsの実装（FindProfile, GetProfileByName, GetProfileByIndex, CreateNewProfile, DuplicateProfile, Copy, UpdateColorSchemeReferences等）
- E-14: `src/cascadia/TerminalSettingsModel/CascadiaSettingsSerialization.cpp` - SettingsLoaderの実装（Default, _parseJSON, MergeInboxIntoUserSettings, FinalizeLayering, DisableDeletedProfiles, MergeFragmentIntoUserSettings等）
- E-15: `src/cascadia/TerminalSettingsModel/AppearanceConfig.h` - AppearanceConfigクラスの定義
- E-16: `src/cascadia/TerminalSettingsModel/AppearanceConfig.cpp` - AppearanceConfigの実装（CopyAppearance, LayerJson, ToJson, ResolveMediaResources）
- E-17: `src/cascadia/TerminalSettingsModel/FontConfig.h` - FontConfigクラスの定義
- E-18: `src/cascadia/TerminalSettingsModel/FontConfig.cpp` - FontConfigの実装（CopyFontInfo, LayerJson, ToJson, LogSettingChanges）
- E-19: `src/cascadia/TerminalSettingsModel/ApplicationState.h` - ApplicationState, WindowLayoutクラスの定義
- E-20: `src/cascadia/TerminalSettingsModel/ApplicationState.cpp` - ApplicationStateの実装（FromJson, ToJson, Reset, AppendPersistedWindowLayout, DismissBadge, BadgeDismissed, WindowLayout::ToJson/FromJson）
- E-21: `src/cascadia/TerminalSettingsModel/DefaultTerminal.cpp` - DefaultTerminalの実装（Name, Version, Author, Icon, Available, HasCurrent, Current）
- E-22: `src/cascadia/TerminalSettingsModel/EnumMappings.cpp` - EnumMappingsの実装（各DEFINE_ENUM_MAP）
- E-23: `src/cascadia/TerminalSettingsModel/FileUtils.cpp` - ファイルユーティリティの実装（IsPortableMode, GetBaseSettingsPath, GetReleaseSettingsPath）
- E-24: `src/cascadia/TerminalSettingsModel/NewTabMenuEntry.h` - NewTabMenuEntryクラスの定義
- E-25: `src/cascadia/TerminalSettingsModel/ActionMap.cpp` - ActionMapの実装（Hash関数、キーバインド管理）

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 (UT-TSM-001) | ColorSchemeデフォルトコンストラクタでCampbellテーブルが設定される | E-02 (L49-60) | ○ |
| C-02 (UT-TSM-002) | 名前付きコンストラクタで名前が設定される | E-02 (L54-60) | ○ |
| C-03 (UT-TSM-003) | ColorScheme::Copyが全プロパティをコピーする | E-02 (L62-73) | ○ |
| C-04 (UT-TSM-004) | FromJsonで有効なJSONからColorSchemeが生成される | E-02 (L81-85) | ○ |
| C-05 (UT-TSM-005) | nameが欠落したJSONでnullptrが返される | E-02 (L97-122) _layerJsonのisValid判定 | ○ |
| C-06 (UT-TSM-006) | 16色未満でnullptrが返される | E-02 (L119) isValid &= (colorCount == 16) | ○ |
| C-07 (UT-TSM-007) | ToJsonで全プロパティがJSON化される | E-02 (L130-147) | ○ |
| C-08 (UT-TSM-008) | Table()で16色が返される | E-02 (L149-152) | ○ |
| C-09 (UT-TSM-009) | SetColorTableEntryで色が正しく設定される | E-02 (L161-165) | ○ |
| C-10 (UT-TSM-010) | 範囲外インデックスでE_INVALIDARGがスローされる | E-02 (L163) THROW_HR_IF(E_INVALIDARG, index >= _table.size()) | ○ |
| C-11 (UT-TSM-011) | インデックス15で正しく設定される | E-02 (L161-165) | ○ |
| C-12 (UT-TSM-012) | 同一スキームでIsEquivalentがtrue | E-02 (L167-173) | ○ |
| C-13 (UT-TSM-013) | 異なるスキームでIsEquivalentがfalse | E-02 (L172) テーブル比較 | ○ |
| C-14 (UT-TSM-014) | GUID指定でProfileが構築される | E-04 (L40-43) | ○ |
| C-15 (UT-TSM-015) | FromJsonでProfileが生成される | E-04 (L151-156) | ○ |
| C-16 (UT-TSM-016) | LayerJsonで値が重ねて適用される | E-04 (L170-226) | ○ |
| C-17 (UT-TSM-017) | unfocusedAppearanceがLayerJsonで読み込まれる | E-04 (L211-225) | ○ |
| C-18 (UT-TSM-018) | レガシーキーがマイグレーションされる | E-04 (L200-202) | ○ |
| C-19 (UT-TSM-019) | Profile::ToJsonで正しくシリアル化される | E-04 (L327-365) | ○ |
| C-20 (UT-TSM-020) | CreateUnfocusedAppearanceでAppearanceが作成される | E-04 (L45-59) | ○ |
| C-21 (UT-TSM-021) | 既にUnfocusedAppearanceがある場合再作成されない | E-04 (L47) if (!_UnfocusedAppearance) | ○ |
| C-22 (UT-TSM-022) | DeleteUnfocusedAppearanceで削除される | E-04 (L61-64) | ○ |
| C-23 (UT-TSM-023) | CopySettingsが正しくコピーする | E-04 (L98-143) | ○ |
| C-24 (UT-TSM-024) | 環境変数が展開されたパスが返される | E-04 (L286-299) | ○ |
| C-25 (UT-TSM-025) | 空StartingDirectoryで空文字列が返される | E-04 (L229-237) | ○ |
| C-26 (UT-TSM-026) | 同じ名前とソースで同一GUID | E-04 (L307-319) UUID v5使用 | ○ |
| C-27 (UT-TSM-027) | 異なる名前で異なるGUID | E-04 (L307-319) | ○ |
| C-28 (UT-TSM-028) | ソース空でデフォルト名前空間GUID使用 | E-04 (L312-314) | ○ |
| C-29 (UT-TSM-029) | NormalizeCommandLineで引用符が正規化される | E-04 (L385-488) | ○ |
| C-30 (UT-TSM-030) | 環境変数付きコマンドラインが展開される | E-04 (L389-390) | ○ |
| C-31 (UT-TSM-031) | 引数付きコマンドラインが処理される | E-04 (L477-485) | ○ |
| C-32 (UT-TSM-032) | ctrl+cからKeyChordが生成される | E-05 (L124-234) | ○ |
| C-33 (UT-TSM-033) | 複数修飾キーが正しくパースされる | E-05 (L156-171) | ○ |
| C-34 (UT-TSM-034) | ファンクションキーが正しくパースされる | E-05 (L207-210) | ○ |
| C-35 (UT-TSM-035) | vk()数値指定が正しくパースされる | E-05 (L195-199) | ○ |
| C-36 (UT-TSM-036) | sc()スキャンコードが正しくパースされる | E-05 (L200-204) | ○ |
| C-37 (UT-TSM-037) | win修飾キーが正しくパースされる | E-05 (L168-171) | ○ |
| C-38 (UT-TSM-038) | 空文字列でnullptr | E-05 (L126-129) | ○ |
| C-39 (UT-TSM-039) | 不正キー名でhresult_invalid_argument | E-05 (L229) | ○ |
| C-40 (UT-TSM-040) | 二重キーでhresult_invalid_argument | E-05 (L174-177) | ○ |
| C-41 (UT-TSM-041) | KeyChordが文字列にシリアル化される | E-05 (L243-323) | ○ |
| C-42 (UT-TSM-042) | スキャンコード付きがsc()形式 | E-05 (L286-292) | ○ |
| C-43 (UT-TSM-043) | nullKeyChordで空文字列 | E-05 (L254-257) | ○ |
| C-44 (UT-TSM-044) | JSON文字列からKeyChord生成 | E-05 (L335-360) | ○ |
| C-45 (UT-TSM-045) | JSON配列からKeyChord生成 | E-05 (L345-349) | ○ |
| C-46 (UT-TSM-046) | 不正JSON形式でnullptr | E-05 (L357-359) catch句 | ○ |
| C-47 (UT-TSM-047) | 文字列JSONでCanConvert=true | E-05 (L362-365) | ○ |
| C-48 (UT-TSM-048) | 1要素配列でCanConvert=true | E-05 (L364) | ○ |
| C-49 (UT-TSM-049) | 不正JSON型でCanConvert=false | E-05 (L362-365) | ○ |
| C-50 (UT-TSM-050) | ShortcutActionでActionAndArgsが構築される | E-07 (L159-186) | ○ |
| C-51 (UT-TSM-051) | パーサ失敗でInvalid | E-07 (L176-179) | ○ |
| C-52 (UT-TSM-052) | 文字列JSONからアクションがデシリアライズされる | E-07 (L223-285) | ○ |
| C-53 (UT-TSM-053) | オブジェクトJSONからアクションがデシリアライズされる | E-07 (L250-257) | ○ |
| C-54 (UT-TSM-054) | "unbound"でInvalid | E-07 (L196-201) GetActionFromString | ○ |
| C-55 (UT-TSM-055) | 不明アクション名でInvalid | E-07 (L200) | ○ |
| C-56 (UT-TSM-056) | 引数なしアクションが文字列形式JSON | E-07 (L300-305) | ○ |
| C-57 (UT-TSM-057) | 引数ありアクションがオブジェクト形式JSON | E-07 (L308-326) | ○ |
| C-58 (UT-TSM-058) | ActionAndArgs::Copyの正確性 | E-07 (L334-340) | ○ |
| C-59 (UT-TSM-059) | GenerateNameでアクション名が生成される | E-07 (L342-359) | ○ |
| C-60 (UT-TSM-060) | GenerateIDで"User.copy"形式のIDが生成される | E-07 (L368-389) | ○ |
| C-61 (UT-TSM-061) | 引数付きでハッシュ付きIDが生成される | E-07 (L379-385) | ○ |
| C-62 (UT-TSM-062) | InvalidアクションでID空文字列 | E-07 (L370-388) | ○ |
| C-63 (UT-TSM-063) | SerializeでベクタがJSON化される | E-07 (L391-398) | ○ |
| C-64 (UT-TSM-064) | DeserializeでJSON文字列からベクタ復元 | E-07 (L399-414) | ○ |
| C-65 (UT-TSM-065) | 不正JSONでhresult_error | E-07 (L406-409) | ○ |
| C-66 (UT-TSM-066) | FromColorでColorタイプThemeColor | E-09 (L68-74) | ○ |
| C-67 (UT-TSM-067) | FromAccentでAccentタイプThemeColor | E-09 (L76-80) | ○ |
| C-68 (UT-TSM-068) | FromTerminalBackgroundでTerminalBackgroundタイプ | E-09 (L82-88) | ○ |
| C-69 (UT-TSM-069) | Accent/TerminalBackgroundで不透明度77 | E-09 (L173-184) | ○ |
| C-70 (UT-TSM-070) | TerminalBackgroundで不透明度77 | E-09 (L178-179) | ○ |
| C-71 (UT-TSM-071) | ColorタイプでColor.aが返される | E-09 (L181) | ○ |
| C-72 (UT-TSM-072) | Theme::FromJsonで全プロパティが読み込まれる | E-09 (L271-293) | ○ |
| C-73 (UT-TSM-073) | Theme::ToJsonでシリアル化される | E-09 (L348-363) | ○ |
| C-74 (UT-TSM-074) | Theme::Copyで全プロパティがコピーされる | E-09 (L239-263) | ○ |
| C-75 (UT-TSM-075) | RequestedThemeでWindowのテーマが返される | E-09 (L376-379) | ○ |
| C-76 (UT-TSM-076) | WindowがnullでDefault | E-09 (L378) | ○ |
| C-77 (UT-TSM-077) | 文字列JSONからThemePair | E-09 (L381-395) | ○ |
| C-78 (UT-TSM-078) | オブジェクトJSONからThemePair | E-09 (L389-393) | ○ |
| C-79 (UT-TSM-079) | 同名ThemePairが文字列JSON | E-09 (L397-411) | ○ |
| C-80 (UT-TSM-080) | 異名ThemePairがオブジェクトJSON | E-09 (L404-410) | ○ |
| C-81 (UT-TSM-081) | ThemePair::Copy | E-09 (L412-418) | ○ |
| C-82 (UT-TSM-082) | Command::FromJsonでアクション付きコマンドがデシリアライズ | E-10 (L277-351) | ○ |
| C-83 (UT-TSM-083) | ネストコマンドのデシリアライズ | E-10 (L292-308) | ○ |
| C-84 (UT-TSM-084) | action=nullでInvalid | E-10 (L328-335) | ○ |
| C-85 (UT-TSM-085) | commands=nullでネスト処理 | E-10 (L309-317) | ○ |
| C-86 (UT-TSM-086) | FromSnippetJsonでSendInputコマンド | E-10 (L363-379) | ○ |
| C-87 (UT-TSM-087) | Command::Copy | E-10 (L101-124) | ○ |
| C-88 (UT-TSM-088) | _name設定時にその名前が返される | E-10 (L162-185) | ○ |
| C-89 (UT-TSM-089) | _name未設定でActionAndArgsから名前生成 | E-10 (L175-179) | ○ |
| C-90 (UT-TSM-090) | 両方未設定で空文字列 | E-10 (L180-184) | ○ |
| C-91 (UT-TSM-091) | Name setterで名前設定 | E-10 (L237-249) | ○ |
| C-92 (UT-TSM-092) | 空文字列で_nameリセット | E-10 (L241-243) | ○ |
| C-93 (UT-TSM-093) | HasNestedCommandsでサブコマンド存在確認 | E-10 (L145-147) | ○ |
| C-94 (UT-TSM-094) | サブコマンド空でfalse | E-10 (L146) | ○ |
| C-95 (UT-TSM-095) | GenerateID | E-10 (L219-230) | ○ |
| C-96 (UT-TSM-096) | Command::ToJson | E-10 (L434-466) | ○ |
| C-97 (UT-TSM-097) | Command::LayerJsonでコマンド追加 | E-10 (L392-426) | ○ |
| C-98 (UT-TSM-098) | 同名コマンド上書き | E-10 (L419) commands.Insert(result->Name(), *result) | ○ |
| C-99 (UT-TSM-099) | Invalidアクションで削除 | E-10 (L405-414) | ○ |
| C-100 (UT-TSM-100) | ExpandCommandsでプロファイル展開 | E-10 (L505-536, L558-633) | ○ |
| C-101 (UT-TSM-101) | ExpandCommandsでスキーム展開 | E-10 (L635-656) | ○ |
| C-102 (UT-TSM-102) | ParsePowerShellMenuComplete | E-10 (L669-763) | ○ |
| C-103 (UT-TSM-103) | 空文字列でnullptr | E-10 (L671-674) | ○ |
| C-104 (UT-TSM-104) | HistoryToCommandsで履歴コマンド生成 | E-10 (L771-811) | ○ |
| C-105 (UT-TSM-105) | directories=trueでcd接頭辞 | E-10 (L776) | ○ |
| C-106 (UT-TSM-106) | ActionMap Hashの整合性 | E-25 (Hash関数実装) | ○ |
| C-107 (UT-TSM-107) | GlobalAppSettings::FromJson | E-11 (L52) | ○ |
| C-108 (UT-TSM-108) | GlobalAppSettings::LayerJson | E-11 (L53-54) | ○ |
| C-109 (UT-TSM-109) | AddColorScheme | E-11 (L45) | ○ |
| C-110 (UT-TSM-110) | RemoveColorScheme | E-11 (L46) | ○ |
| C-111 (UT-TSM-111) | DuplicateColorScheme | E-11 (L47) | ○ |
| C-112 (UT-TSM-112) | GlobalAppSettings::Copy | E-11 (L42) | ○ |
| C-113 (UT-TSM-113) | DefaultProfileの取得・設定 | E-11 (L63-64) | ○ |
| C-114 (UT-TSM-114) | AddTheme | E-11 (L67) | ○ |
| C-115 (UT-TSM-115) | CascadiaSettings構築 | E-12 (L158-159) | ○ |
| C-116 (UT-TSM-116) | FindProfile(存在するGUID) | E-12 (L176), E-13 | ○ |
| C-117 (UT-TSM-117) | FindProfile(存在しないGUID) | E-12 (L176) noexcept | ○ |
| C-118 (UT-TSM-118) | GetProfileByName | E-12 (L179), E-13 | ○ |
| C-119 (UT-TSM-119) | GetProfileByName(存在しない) | E-12 (L179), E-13 | ○ |
| C-120 (UT-TSM-120) | GetProfileByIndex | E-12 (L180), E-13 | ○ |
| C-121 (UT-TSM-121) | GetProfileByIndex(範囲外) | E-12 (L180), E-13 | ○ |
| C-122 (UT-TSM-122) | CreateNewProfile | E-12 (L175) | ○ |
| C-123 (UT-TSM-123) | DuplicateProfile | E-12 (L181) | ○ |
| C-124 (UT-TSM-124) | CascadiaSettings::Copy | E-12 (L164) | ○ |
| C-125 (UT-TSM-125) | UpdateColorSchemeReferences | E-12 (L177) | ○ |
| C-126 (UT-TSM-126) | CascadiaSettings::ToJson | E-12 (L173) | ○ |
| C-127 (UT-TSM-127) | SettingsLoader::Default | E-12 (L84), E-14 | ○ |
| C-128 (UT-TSM-128) | MergeInboxIntoUserSettings | E-12 (L91), E-14 | ○ |
| C-129 (UT-TSM-129) | FinalizeLayering | E-12 (L94), E-14 | ○ |
| C-130 (UT-TSM-130) | DisableDeletedProfiles | E-12 (L95), E-14 | ○ |
| C-131 (UT-TSM-131) | _parseJSON正常動作 | E-14 (_parseJSON実装) | ○ |
| C-132 (UT-TSM-132) | _parseJSON異常時の例外 | E-14 (_rethrowSerializationExceptionWithLocationInfo) | ○ |
| C-133 (UT-TSM-133) | FixupUserSettings | E-12 (L98), E-14 | ○ |
| C-134 (UT-TSM-134) | AppearanceConfig::CopyAppearance | E-16 (L31-49) | ○ |
| C-135 (UT-TSM-135) | AppearanceConfig::LayerJson | E-16 (L93-134) | ○ |
| C-136 (UT-TSM-136) | colorScheme文字列でDark/Light同一値 | E-16 (L111-117) | ○ |
| C-137 (UT-TSM-137) | colorSchemeオブジェクトでDark/Light個別 | E-16 (L118-126) | ○ |
| C-138 (UT-TSM-138) | レガシーacrylicOpacityキー | E-16 (L107) | ○ |
| C-139 (UT-TSM-139) | AppearanceConfig::ToJson | E-16 (L51-80) | ○ |
| C-140 (UT-TSM-140) | Dark/Light異なる場合のcolorSchemeオブジェクト形式 | E-16 (L63-67) | ○ |
| C-141 (UT-TSM-141) | FontConfig::CopyFontInfo | E-18 (L24-53) | ○ |
| C-142 (UT-TSM-142) | FontConfig::LayerJson(fontオブジェクト) | E-18 (L78-106) | ○ |
| C-143 (UT-TSM-143) | FontConfig::LayerJson(レガシーキー) | E-18 (L93-105) | ○ |
| C-144 (UT-TSM-144) | FontConfig::ToJson | E-18 (L55-65) | ○ |
| C-145 (UT-TSM-145) | ApplicationState::FromJson | E-20 (L261-279) | ○ |
| C-146 (UT-TSM-146) | ApplicationState::ToJson | E-20 (L281-303) | ○ |
| C-147 (UT-TSM-147) | ApplicationState::Reset | E-20 (L136-143) | ○ |
| C-148 (UT-TSM-148) | AppendPersistedWindowLayout | E-20 (L305-317) | ○ |
| C-149 (UT-TSM-149) | DismissBadge(新規) | E-20 (L319-332) | ○ |
| C-150 (UT-TSM-150) | DismissBadge(重複) | E-20 (L328) insert().second | ○ |
| C-151 (UT-TSM-151) | BadgeDismissed(未却下) | E-20 (L334-342) | ○ |
| C-152 (UT-TSM-152) | WindowLayout::ToJson | E-20 (L71-79) | ○ |
| C-153 (UT-TSM-153) | WindowLayout::FromJson | E-20 (L81-94) | ○ |
| C-154 (UT-TSM-154) | WindowLayout::FromJson(不正JSON) | E-20 (L88-90) | ○ |
| C-155 (UT-TSM-155) | DefaultTerminal::Name | E-21 (L16-27) | ○ |
| C-156 (UT-TSM-156) | DefaultTerminal::Version | E-21 (L29-39) | ○ |
| C-157 (UT-TSM-157) | DefaultTerminal::Version(空) | E-21 (L33-36) | ○ |
| C-158 (UT-TSM-158) | DefaultTerminal::Author | E-21 (L41-52) | ○ |
| C-159 (UT-TSM-159) | DefaultTerminal::Icon(空logo) | E-21 (L54-57) | ○ |
| C-160 (UT-TSM-160) | NewTabMenuEntry::FromJson | E-24 (L26), **根拠不足** | △ |
| C-161 (UT-TSM-161) | NewTabMenuEntry::FromJson(不正type) | E-24 (L26), **根拠不足** | △ |
| C-162 (UT-TSM-162) | EnumMappings::ElementTheme | E-22 (L33) | ○ |
| C-163 (UT-TSM-163) | EnumMappings::FontWeight | E-22 (L74-85) | ○ |
| C-164 (UT-TSM-164) | IsPortableMode | E-23 (L21-28) | ○ |
| C-165 (UT-TSM-165) | GetBaseSettingsPath | E-23 (L30-60) | ○ |
| C-166 (UT-TSM-166) | MergeFragmentIntoUserSettings | E-12 (L93), **根拠不足** | △ |
| C-167 (UT-TSM-167) | ParsedSettings::clear | E-12 (L79), **根拠不足** | △ |
| C-168 (UT-TSM-168) | SettingsTypedDeserializationException | E-12 (L39-44) | ○ |
| C-169 (UT-TSM-169) | ExtensionPackage構築 | E-12 (L46-66) | ○ |
| C-170 (UT-TSM-170) | FragmentSettings構築 | E-12 (L282-312) | ○ |

## 4) 不足情報（Unknown / Missing）
- NewTabMenuEntry::FromJson の具体的な実装（NewTabMenuEntry.cpp）は解析したが、各エントリタイプ（Separator, Profile, Folder等）の個別パース処理の詳細はサブクラス実装にあり完全には網羅していない
  - 候補：NewTabMenuEntry.cpp / ProfileEntry.cpp / FolderEntry.cpp / ActionEntry.cpp
- MergeFragmentIntoUserSettingsの詳細実装はCascadiaSettingsSerialization.cppにあるが、ファイルが大きく（92KB）プレビューのみ確認。完全な挙動はE-14の全文確認が必要
  - 候補：CascadiaSettingsSerialization.cpp 全文
- ParsedSettings::clearの具体的な実装は確認できなかった（宣言のみ確認）
  - 候補：CascadiaSettingsSerialization.cpp内の実装
- GlobalAppSettings.cppの詳細実装は直接確認していない（ヘッダーの宣言から推測）
  - 候補：GlobalAppSettings.cpp

## 5) リスクフラグ（レビュー観点）
- 0: NewTabMenuEntryの詳細テスト - サブクラス個別の検証が不足しているが、基本的なFromJson/ToJsonは確認済み
- 1: NormalizeCommandLine関連テスト(UT-TSM-029〜031) - Windows固有API(SearchPathW, CommandLineToArgvW)に依存するためクロスプラットフォームテストが困難
- 1: SettingsLoaderのフラグメントマージ(UT-TSM-166) - 大規模な実装のため完全な検証には追加のレビューが必要
- 0: FileUtils関連テスト(UT-TSM-164〜165) - ファイルシステム・レジストリ依存のためモック化が必要
- 1: MTSM_PROFILE_SETTINGS / MTSM_GLOBAL_SETTINGS等のマクロ展開設定 - マクロで自動生成されるプロパティの個別テストは含めていない（数が膨大であり、マクロの動作検証で代替可能）

## 6) レビュアーチェックリスト（最小）
- [ ] ColorScheme関連テスト(UT-TSM-001〜013)のFromJson/ToJsonラウンドトリップの妥当性を確認
- [ ] Profile関連テスト(UT-TSM-014〜031)のLayerJsonが全キーを網羅しているか確認
- [ ] KeyChordSerialization関連テスト(UT-TSM-032〜049)の修飾キー組み合わせの網羅性を確認
- [ ] ActionAndArgs関連テスト(UT-TSM-050〜065)がALL_SHORTCUT_ACTIONSの主要アクションをカバーしているか確認
- [ ] Command関連テスト(UT-TSM-082〜105)のExpandCommands展開フローの正確性を確認
- [ ] CascadiaSettings/SettingsLoader関連テスト(UT-TSM-115〜133)のマージ順序・レイヤリングの正確性を確認
- [ ] NormalizeCommandLine(UT-TSM-029〜031)のWindows環境依存テストの実行可能性を確認
- [ ] MTSMマクロ展開による自動生成プロパティ（数十のプロファイル設定/グローバル設定）のテスト要否を判断
