---
generated_at: 2026-02-27 13:30:00
metrics:
  claims_total: 270
  claims_with_evidence: 262
  claims_without_evidence: 8
confidence_derived: 0.97
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.97**
  - 根拠あり：262 / 270、根拠なし：8
- 優先レビュー（高）
  1. **UT-RDM-022（unsafeToTrustedHTML）**：TrustedTypes環境依存のためテスト環境構築が必要
  2. **UT-RDM-245/246（useCssVars カスタム要素/テレポート）**：実行時のDOM構造依存で根拠の確認が間接的
  3. **UT-RDM-269/270（compatCoerceAttr）**：__COMPAT__フラグ依存のため通常テストでは到達しない可能性

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

- E-01: `packages/runtime-dom/src/nodeOps.ts` - DOM操作のノードオペレーション定義
- E-02: `packages/runtime-dom/src/patchProp.ts` - プロパティパッチのルーティング関数
- E-03: `packages/runtime-dom/src/modules/class.ts` - CSSクラスのパッチ処理
- E-04: `packages/runtime-dom/src/modules/style.ts` - スタイル属性のパッチ処理
- E-05: `packages/runtime-dom/src/modules/attrs.ts` - HTML/SVG属性のパッチ処理
- E-06: `packages/runtime-dom/src/modules/props.ts` - DOMプロパティのパッチ処理
- E-07: `packages/runtime-dom/src/modules/events.ts` - イベントリスナーのパッチ処理
- E-08: `packages/runtime-dom/src/directives/vShow.ts` - v-showディレクティブ実装
- E-09: `packages/runtime-dom/src/directives/vOn.ts` - v-onモディファイア（withModifiers/withKeys）
- E-10: `packages/runtime-dom/src/directives/vModel.ts` - v-modelディレクティブ各種実装
- E-11: `packages/runtime-dom/src/components/Transition.ts` - Transitionコンポーネント実装
- E-12: `packages/runtime-dom/src/components/TransitionGroup.ts` - TransitionGroupコンポーネント実装
- E-13: `packages/runtime-dom/src/apiCustomElement.ts` - カスタム要素API（defineCustomElement/VueElement）
- E-14: `packages/runtime-dom/src/helpers/useCssVars.ts` - CSS変数ヘルパー
- E-15: `packages/runtime-dom/src/helpers/useCssModule.ts` - CSSモジュールヘルパー
- E-16: `packages/runtime-dom/src/index.ts` - モジュールエントリポイント（createApp/render/createSSRApp等）

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

### nodeOps.ts（UT-RDM-001 〜 UT-RDM-022）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | insert: parent.insertBefore(child, anchor \|\| null) | E-01 L45-47 | ○ |
| C-02 | insert: anchor指定時の挿入 | E-01 L45-47 | ○ |
| C-03 | remove: parent.removeChild(child) | E-01 L49-53 | ○ |
| C-04 | remove: parentNodeがnullの場合ガード | E-01 L50-51 | ○ |
| C-05 | createElement: 通常HTML要素 | E-01 L56-64 | ○ |
| C-06 | createElement: SVGネームスペース | E-01 L58-59 | ○ |
| C-07 | createElement: MathMLネームスペース | E-01 L60-61 | ○ |
| C-08 | createElement: is属性 | E-01 L62-63 | ○ |
| C-09 | createElement: select multiple | E-01 L66-68 | ○ |
| C-10 | createText | E-01 L73 | ○ |
| C-11 | createComment | E-01 L75 | ○ |
| C-12 | setText | E-01 L77-79 | ○ |
| C-13 | setElementText | E-01 L81-83 | ○ |
| C-14 | parentNode | E-01 L85 | ○ |
| C-15 | nextSibling | E-01 L87 | ○ |
| C-16 | querySelector | E-01 L89 | ○ |
| C-17 | setScopeId | E-01 L91-93 | ○ |
| C-18 | insertStaticContent: 新規挿入 | E-01 L99-131 | ○ |
| C-19 | insertStaticContent: キャッシュパス | E-01 L105-110 | ○ |
| C-20 | insertStaticContent: SVG | E-01 L114-115 | ○ |
| C-21 | insertStaticContent: MathML | E-01 L116-118 | ○ |
| C-22 | unsafeToTrustedHTML | E-01 L34-35 | △ |

### patchProp.ts（UT-RDM-023 〜 UT-RDM-040）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-23 | patchProp: class分岐 | E-02 L34-35 | ○ |
| C-24 | patchProp: style分岐 | E-02 L36-37 | ○ |
| C-25 | patchProp: イベント分岐 | E-02 L38-42 | ○ |
| C-26 | patchProp: v-modelリスナー無視 | E-02 L39-41 | ○ |
| C-27 | patchProp: ドットプレフィックス | E-02 L44-45 | ○ |
| C-28 | patchProp: キャレットプレフィックス | E-02 L46-47 | ○ |
| C-29 | patchProp: true-value/false-value | E-02 L71-75 | ○ |
| C-30 | patchProp: value/checked/selected二重設定 | E-02 L54-59 | ○ |
| C-31 | shouldSetAsProp: SVG innerHTML | E-02 L88-91 | ○ |
| C-32 | shouldSetAsProp: SVGその他 | E-02 L96-97 | ○ |
| C-33 | shouldSetAsProp: spellcheck等 | E-02 L105-112 | ○ |
| C-34 | shouldSetAsProp: form | E-02 L123-125 | ○ |
| C-35 | shouldSetAsProp: input list | E-02 L128-130 | ○ |
| C-36 | shouldSetAsProp: textarea type | E-02 L133-135 | ○ |
| C-37 | shouldSetAsProp: width/height | E-02 L138-148 | ○ |
| C-38 | shouldSetAsProp: iframe sandbox | E-02 L117-119 | ○ |
| C-39 | isNativeOn: onclick | E-02 L16-21 | ○ |
| C-40 | isNativeOn: onClick | E-02 L16-21 | ○ |

### class.ts（UT-RDM-041 〜 UT-RDM-045）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-41 | patchClass: className設定 | E-03 L24 | ○ |
| C-42 | patchClass: SVG setAttribute | E-03 L22 | ○ |
| C-43 | patchClass: null→removeAttribute | E-03 L19-20 | ○ |
| C-44 | patchClass: トランジションクラスマージ | E-03 L13-18 | ○ |
| C-45 | patchClass: 空value+トランジション | E-03 L15-17 | ○ |

### style.ts（UT-RDM-046 〜 UT-RDM-059）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-46 | patchStyle: オブジェクトスタイル設定 | E-04 L35-40 | ○ |
| C-47 | patchStyle: 削除プロパティクリア（オブジェクト） | E-04 L20-26 | ○ |
| C-48 | patchStyle: 文字列prev→オブジェクトnext | E-04 L27-33 | ○ |
| C-49 | patchStyle: cssText設定 | E-04 L49 | ○ |
| C-50 | patchStyle: nextがnullでstyle削除 | E-04 L52-53 | ○ |
| C-51 | patchStyle: v-show連携 | E-04 L57-63 | ○ |
| C-52 | patchStyle: CSS_VAR_TEXT保持 | E-04 L45-48 | ○ |
| C-53 | setStyle: CSSカスタムプロパティ | E-04 L86-88 | ○ |
| C-54 | setStyle: !important | E-04 L91-96 | ○ |
| C-55 | setStyle: 配列値 | E-04 L75-76 | ○ |
| C-56 | setStyle: null値 | E-04 L78 | ○ |
| C-57 | autoPrefix: ベンダープレフィックス | E-04 L108-124 | ○ |
| C-58 | autoPrefix: プレフィックス不要 | E-04 L114-115 | ○ |
| C-59 | autoPrefix: キャッシュ | E-04 L109-111 | ○ |

### attrs.ts（UT-RDM-060 〜 UT-RDM-066, UT-RDM-269 〜 UT-RDM-270）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-60 | patchAttr: setAttribute | E-05 L41-44 | ○ |
| C-61 | patchAttr: null→removeAttribute | E-05 L37-38 | ○ |
| C-62 | patchAttr: xlink:href設定 | E-05 L24-28 | ○ |
| C-63 | patchAttr: xlink null→remove | E-05 L25-26 | ○ |
| C-64 | patchAttr: ブールtruthy | E-05 L41-44 | ○ |
| C-65 | patchAttr: ブールfalsy | E-05 L37-38 | ○ |
| C-66 | patchAttr: Symbol値 | E-05 L43 | ○ |
| C-269 | compatCoerceAttr: 列挙型 | E-05 L54-79 | ○ |
| C-270 | compatCoerceAttr: false値削除 | E-05 L80-93 | ○ |

### props.ts（UT-RDM-067 〜 UT-RDM-077）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-67 | patchDOMProp: innerHTML | E-06 L16-22 | ○ |
| C-68 | patchDOMProp: textContent | E-06 L16-22 | ○ |
| C-69 | patchDOMProp: innerHTML null | E-06 L19 | ○ |
| C-70 | patchDOMProp: value設定 | E-06 L27-54 | ○ |
| C-71 | patchDOMProp: value null | E-06 L38-50 | ○ |
| C-72 | patchDOMProp: checkbox null→'on' | E-06 L41-42 | ○ |
| C-73 | patchDOMProp: OPTION getAttribute | E-06 L35-36 | ○ |
| C-74 | patchDOMProp: boolean型変換 | E-06 L60-62 | ○ |
| C-75 | patchDOMProp: string型null | E-06 L63-65 | ○ |
| C-76 | patchDOMProp: number型null | E-06 L67-69 | ○ |
| C-77 | patchDOMProp: エラーキャッチ | E-06 L98-109 | ○ |

### events.ts（UT-RDM-078 〜 UT-RDM-097）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-78 | addEventListener | E-07 L16-23 | ○ |
| C-79 | addEventListener: オプション | E-07 L22 | ○ |
| C-80 | removeEventListener | E-07 L25-32 | ○ |
| C-81 | patchEvent: 新規登録 | E-07 L53-61 | ○ |
| C-82 | patchEvent: 更新 | E-07 L46-50 | ○ |
| C-83 | patchEvent: 削除 | E-07 L62-65 | ○ |
| C-84 | patchEvent: null→null | E-07 L46-67 | ○ |
| C-85 | parseName: 基本 | E-07 L72-84 | ○ |
| C-86 | parseName: Once | E-07 L74-81 | ○ |
| C-87 | parseName: Capture | E-07 L74-81 | ○ |
| C-88 | parseName: Passive | E-07 L74-81 | ○ |
| C-89 | parseName: 複合 | E-07 L74-81 | ○ |
| C-90 | parseName: on:カスタム | E-07 L82 | ○ |
| C-91 | createInvoker: 作成 | E-07 L93-125 | ○ |
| C-92 | createInvoker: タイムスタンプスキップ | E-07 L110-113 | ○ |
| C-93 | sanitizeEventValue: 関数 | E-07 L128-129 | ○ |
| C-94 | sanitizeEventValue: 配列 | E-07 L128-129 | ○ |
| C-95 | sanitizeEventValue: 不正値 | E-07 L130-135 | ○ |
| C-96 | patchStopImmediatePropagation: 配列 | E-07 L138-153 | ○ |
| C-97 | patchStopImmediatePropagation: 非配列 | E-07 L151-153 | ○ |

### vShow.ts（UT-RDM-098 〜 UT-RDM-110）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-98 | vShow.beforeMount: display保存 | E-08 L15-17 | ○ |
| C-99 | vShow.beforeMount: none→空文字 | E-08 L16-17 | ○ |
| C-100 | vShow.beforeMount: false→none | E-08 L21 | ○ |
| C-101 | vShow.beforeMount: transition連携 | E-08 L18-20 | ○ |
| C-102 | vShow.updated: 値変更 | E-08 L29-43 | ○ |
| C-103 | vShow.updated: 同一値スキップ | E-08 L30 | ○ |
| C-104 | vShow.updated: transition enter | E-08 L32-36 | ○ |
| C-105 | vShow.updated: transition leave | E-08 L37-39 | ○ |
| C-106 | vShow.beforeUnmount | E-08 L45-47 | ○ |
| C-107 | setDisplay: truthy→復元 | E-08 L50-51 | ○ |
| C-108 | setDisplay: falsy→none | E-08 L51-52 | ○ |
| C-109 | initVShowForSSR: 設定 | E-08 L57-63 | ○ |
| C-110 | initVShowForSSR: false→display:none | E-08 L59-61 | ○ |

### vOn.ts（UT-RDM-111 〜 UT-RDM-126）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-111 | withModifiers: stop | E-09 L35 | ○ |
| C-112 | withModifiers: prevent | E-09 L36 | ○ |
| C-113 | withModifiers: self | E-09 L37 | ○ |
| C-114 | withModifiers: ctrl | E-09 L38 | ○ |
| C-115 | withModifiers: left | E-09 L42 | ○ |
| C-116 | withModifiers: middle | E-09 L43 | ○ |
| C-117 | withModifiers: right | E-09 L44 | ○ |
| C-118 | withModifiers: exact | E-09 L45-46 | ○ |
| C-119 | withModifiers: キャッシュ | E-09 L58-60 | ○ |
| C-120 | withKeys: 一致 | E-09 L124-132 | ○ |
| C-121 | withKeys: 不一致 | E-09 L124-132 | ○ |
| C-122 | withKeys: esc | E-09 L78 | ○ |
| C-123 | withKeys: space | E-09 L79 | ○ |
| C-124 | withKeys: delete | E-09 L84 | ○ |
| C-125 | withKeys: keyなし | E-09 L119-121 | ○ |
| C-126 | withKeys: キャッシュ | E-09 L113-114 | ○ |

### vModel.ts（UT-RDM-127 〜 UT-RDM-177）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-127 | vModelText.created: inputリスナー | E-10 L60-67 | ○ |
| C-128 | vModelText.created: lazy→change | E-10 L64 | ○ |
| C-129 | vModelText.created: trim/number→change追加 | E-10 L68-72 | ○ |
| C-130 | vModelText.created: composition | E-10 L73-81 | ○ |
| C-131 | vModelText.mounted: 初期値 | E-10 L84-86 | ○ |
| C-132 | vModelText.mounted: null→空文字 | E-10 L85 | ○ |
| C-133 | vModelText.beforeUpdate: 値更新 | E-10 L87-116 | ○ |
| C-134 | vModelText.beforeUpdate: composingスキップ | E-10 L94 | ○ |
| C-135 | vModelText.beforeUpdate: lazy同値スキップ | E-10 L107-109 | ○ |
| C-136 | vModelText.beforeUpdate: trim同値スキップ | E-10 L110-112 | ○ |
| C-137 | vModelCheckbox.created: changeリスナー | E-10 L124 | ○ |
| C-138 | vModelCheckbox: 配列add | E-10 L132-133 | ○ |
| C-139 | vModelCheckbox: 配列remove | E-10 L134-137 | ○ |
| C-140 | vModelCheckbox: Set add | E-10 L141 | ○ |
| C-141 | vModelCheckbox: Set delete | E-10 L143 | ○ |
| C-142 | vModelCheckbox: true-value | E-10 L148 | ○ |
| C-143 | setChecked: 配列 | E-10 L170-171 | ○ |
| C-144 | setChecked: Set | E-10 L172-173 | ○ |
| C-145 | setChecked: 単一値 | E-10 L175-176 | ○ |
| C-146 | setChecked: 同値スキップ | E-10 L175 | ○ |
| C-147 | vModelRadio.created: checked | E-10 L187 | ○ |
| C-148 | vModelRadio.created: change | E-10 L189-191 | ○ |
| C-149 | vModelRadio.beforeUpdate | E-10 L193-198 | ○ |
| C-150 | vModelRadio: 同値スキップ | E-10 L195 | ○ |
| C-151 | vModelSelect.created: change | E-10 L206 | ○ |
| C-152 | vModelSelect: multiple配列 | E-10 L207-211 | ○ |
| C-153 | vModelSelect: Set | E-10 L214-215 | ○ |
| C-154 | vModelSelect: 単一 | E-10 L217 | ○ |
| C-155 | vModelSelect: number | E-10 L210 | ○ |
| C-156 | setSelected: 単一 | E-10 L268-269 | ○ |
| C-157 | setSelected: multiple | E-10 L256-267 | ○ |
| C-158 | setSelected: 不正multiple値 | E-10 L244-250 | ○ |
| C-159 | setSelected: 一致なし | E-10 L273-275 | ○ |
| C-160 | getValue: _value | E-10 L280 | ○ |
| C-161 | getValue: el.value | E-10 L280 | ○ |
| C-162 | getCheckboxValue: trueValue | E-10 L284-289 | ○ |
| C-163 | getCheckboxValue: falseValue | E-10 L284-289 | ○ |
| C-164 | getCheckboxValue: デフォルト | E-10 L289 | ○ |
| C-165 | vModelDynamic: 委譲 | E-10 L295-307 | ○ |
| C-166 | resolveDynamicModel: SELECT | E-10 L311 | ○ |
| C-167 | resolveDynamicModel: TEXTAREA | E-10 L313 | ○ |
| C-168 | resolveDynamicModel: checkbox | E-10 L317 | ○ |
| C-169 | resolveDynamicModel: radio | E-10 L319 | ○ |
| C-170 | resolveDynamicModel: text | E-10 L321 | ○ |
| C-171 | castValue: trim | E-10 L49 | ○ |
| C-172 | castValue: number | E-10 L50 | ○ |
| C-173 | castValue: trim+number | E-10 L49-50 | ○ |
| C-174 | onCompositionStart | E-10 L28-30 | ○ |
| C-175 | onCompositionEnd: dispatch | E-10 L32-37 | ○ |
| C-176 | onCompositionEnd: 非composing | E-10 L34 | ○ |
| C-177 | initVModelForSSR | E-10 L344-380 | ○ |

### Transition.ts（UT-RDM-178 〜 UT-RDM-207）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-178 | resolveTransitionProps: デフォルトクラス | E-11 L121-148 | ○ |
| C-179 | resolveTransitionProps: css=false | E-11 L131-133 | ○ |
| C-180 | resolveTransitionProps: カスタムクラス | E-11 L139-147 | ○ |
| C-181 | resolveTransitionProps: デフォルト名 | E-11 L136 | ○ |
| C-182 | resolveTransitionProps: duration | E-11 L170-172 | ○ |
| C-183 | resolveTransitionProps: duration個別 | E-11 L170-172 | ○ |
| C-184 | normalizeDuration: 数値 | E-11 L307-309 | ○ |
| C-185 | normalizeDuration: オブジェクト | E-11 L305-306 | ○ |
| C-186 | normalizeDuration: null | E-11 L303-304 | ○ |
| C-187 | addTransitionClass | E-11 L321-327 | ○ |
| C-188 | addTransitionClass: スペース区切り | E-11 L322 | ○ |
| C-189 | removeTransitionClass | E-11 L329-338 | ○ |
| C-190 | removeTransitionClass: vtcKeyクリア | E-11 L334-336 | ○ |
| C-191 | getTransitionInfo: transition | E-11 L401-459 | ○ |
| C-192 | getTransitionInfo: animation | E-11 L428-433 | ○ |
| C-193 | getTransitionInfo: 自動判定 | E-11 L434-447 | ○ |
| C-194 | getTransitionInfo: type=null | E-11 L434-447 | ○ |
| C-195 | getTransitionInfo: hasTransform | E-11 L448-452 | ○ |
| C-196 | toMs: 変換 | E-11 L472-475 | ○ |
| C-197 | toMs: auto | E-11 L474 | ○ |
| C-198 | toMs: カンマ区切り | E-11 L475 | ○ |
| C-199 | forceReflow | E-11 L479-481 | ○ |
| C-200 | whenTransitionEnds: 明示タイムアウト | E-11 L361-363 | ○ |
| C-201 | whenTransitionEnds: type=null即解決 | E-11 L366-368 | ○ |
| C-202 | callHook: 配列 | E-11 L100-101 | ○ |
| C-203 | callHook: 単一 | E-11 L102-103 | ○ |
| C-204 | callHook: undefined | E-11 L96-105 | ○ |
| C-205 | hasExplicitCallback: true | E-11 L116-117 | ○ |
| C-206 | hasExplicitCallback: false | E-11 L116-117 | ○ |
| C-207 | hasExplicitCallback: 配列混合 | E-11 L115-116 | ○ |

### TransitionGroup.ts（UT-RDM-208 〜 UT-RDM-214）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-208 | callPendingCbs: move | E-12 L186-189 | ○ |
| C-209 | callPendingCbs: enter | E-12 L190-193 | ○ |
| C-210 | recordPosition | E-12 L196-201 | ○ |
| C-211 | applyTranslation: 変更あり | E-12 L203-213 | ○ |
| C-212 | applyTranslation: 変更なし | E-12 L208 | ○ |
| C-213 | hasCSSTransform: true | E-12 L216-242 | ○ |
| C-214 | hasCSSTransform: false | E-12 L216-242 | ○ |

### apiCustomElement.ts（UT-RDM-215 〜 UT-RDM-242）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-215 | defineCustomElement | E-13 L168-186 | ○ |
| C-216 | defineCustomElement: extraOptions | E-13 L177 | ○ |
| C-217 | defineSSRCustomElement | E-13 L189-195 | ○ |
| C-218 | VueElement constructor: shadowRoot | E-13 L249-279 | ○ |
| C-219 | VueElement constructor: shadowRoot=false | E-13 L276-277 | ○ |
| C-220 | connectedCallback: 初期化 | E-13 L281-316 | ○ |
| C-221 | connectedCallback: 非接続スキップ | E-13 L283 | ○ |
| C-222 | connectedCallback: 親検出 | E-13 L292-300 | ○ |
| C-223 | disconnectedCallback: アンマウント | E-13 L336-354 | ○ |
| C-224 | disconnectedCallback: 再接続回避 | E-13 L339 | ○ |
| C-225 | _setAttr: props反映 | E-13 L483-492 | ○ |
| C-226 | _setAttr: data-v-スキップ | E-13 L484 | ○ |
| C-227 | _setAttr: Number変換 | E-13 L488-489 | ○ |
| C-228 | _setProp: 更新 | E-13 L504-541 | ○ |
| C-229 | _setProp: REMOVAL | E-13 L512-513 | ○ |
| C-230 | _setProp: 属性反映 | E-13 L525-539 | ○ |
| C-231 | _setProp: boolean→空文字属性 | E-13 L531-532 | ○ |
| C-232 | _setProp: falsy→removeAttribute | E-13 L535-536 | ○ |
| C-233 | _setProp: 同値スキップ | E-13 L510 | ○ |
| C-234 | _setProp: keyプロパティ | E-13 L517-519 | ○ |
| C-235 | _beginPatch | E-13 L714-716 | ○ |
| C-236 | _endPatch | E-13 L721-726 | ○ |
| C-237 | _hasShadowRoot | E-13 L731-733 | ○ |
| C-238 | useHost: 正常 | E-13 L753-758 | ○ |
| C-239 | useHost: コンポーネント外 | E-13 L759-763 | ○ |
| C-240 | useHost: 非カスタム要素 | E-13 L764-767 | ○ |
| C-241 | useShadowRoot: 正常 | E-13 L777-779 | ○ |
| C-242 | useShadowRoot: null | E-13 L778-779 | ○ |

### useCssVars.ts（UT-RDM-243 〜 UT-RDM-248）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-243 | useCssVars: CSS変数設定 | E-14 L20-67 | ○ |
| C-244 | useCssVars: コンポーネント外 | E-14 L27-31 | ○ |
| C-245 | useCssVars: カスタム要素 | E-14 L46-47 | △ |
| C-246 | useCssVars: テレポート | E-14 L34-38 | △ |
| C-247 | setVarsOnNode: Element | E-14 L99-109 | ○ |
| C-248 | setVarsOnNode: 非Element | E-14 L100 | ○ |

### useCssModule.ts（UT-RDM-249 〜 UT-RDM-253）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-249 | useCssModule: デフォルト | E-15 L4-31 | ○ |
| C-250 | useCssModule: カスタム名 | E-15 L16-17 | ○ |
| C-251 | useCssModule: コンポーネント外 | E-15 L7-9 | ○ |
| C-252 | useCssModule: モジュール未注入 | E-15 L12-14 | ○ |
| C-253 | useCssModule: 存在しないモジュール | E-15 L17-20 | ○ |

### index.ts（UT-RDM-254 〜 UT-RDM-268）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-254 | render | E-16 L90-92 | ○ |
| C-255 | createApp | E-16 L98-146 | ○ |
| C-256 | createApp: 文字列セレクタ | E-16 L107-108 | ○ |
| C-257 | createApp: Element | E-16 L107-108 | ○ |
| C-258 | createApp: v-cloak/data-v-app | E-16 L138-141 | ○ |
| C-259 | createApp: innerHTMLテンプレート | E-16 L112-117 | ○ |
| C-260 | createSSRApp | E-16 L148-165 | ○ |
| C-261 | normalizeContainer: セレクタ | E-16 L231-233 | ○ |
| C-262 | normalizeContainer: セレクタ不一致 | E-16 L233-237 | ○ |
| C-263 | normalizeContainer: Element | E-16 L250 | ○ |
| C-264 | resolveRootNamespace: SVG | E-16 L170-171 | ○ |
| C-265 | resolveRootNamespace: MathML | E-16 L173-176 | ○ |
| C-266 | resolveRootNamespace: 通常 | E-16 L167-179 | ○ |
| C-267 | initDirectivesForSSR | E-16 L294-302 | ○ |
| C-268 | initDirectivesForSSR: 二重初期化防止 | E-16 L296-297 | △ |

## 4) 不足情報（Unknown / Missing）
- **UT-RDM-022（unsafeToTrustedHTML）**：TrustedTypes APIの動作はブラウザ環境に依存し、テスト環境（jsdom等）では完全な再現が困難
  - 候補：TrustedTypes polyfill / ブラウザテスト / E2Eテスト
- **UT-RDM-245/246（useCssVars カスタム要素/テレポート）**：実行時のDOM構造およびVueインスタンスの状態に強く依存するため、ユニットテストとしての検証範囲が限定的
  - 候補：統合テスト / コンポーネントテスト
- **UT-RDM-268（initDirectivesForSSR二重初期化防止）**：ssrDirectiveInitializedフラグの状態はモジュールスコープのため、テスト間の独立性確保が必要
  - 候補：モジュールリロード / jest.resetModules()
- **UT-RDM-269/270（compatCoerceAttr）**：__COMPAT__ビルドフラグ依存のため、通常のテストビルドでは到達しない可能性がある
  - 候補：COMPAT有効ビルドでのテスト / フラグ切り替えテスト

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - nodeOps, patchClass, patchAttr, patchDOMProp, addEventListener/removeEventListener等の基本DOM操作（根拠が明確）
- 1: 中リスク - v-model各種ディレクティブのライフサイクルフック連携（複数の状態遷移を伴う）、Transition/TransitionGroupのアニメーション連携（非同期処理含む）
- 2: 高リスク - VueElementのconnectedCallback/disconnectedCallback（非同期処理+DOM接続状態依存）、useCssVarsのテレポート連携（実行時DOM構造依存）

## 6) レビュアーチェックリスト（最小）
- [ ] 全270件のテストケースが対象ソースコードの公開関数/メソッドを網羅しているか
- [ ] 正常系・異常系・境界値のバランスが適切か（正常系中心だが異常系/境界値も含まれているか）
- [ ] テストケースの前提条件・入力値・期待結果が具体的で再現可能か
- [ ] v-model関連のテストケースが各フォーム要素タイプ（text/checkbox/radio/select）を網羅しているか
- [ ] Transition/TransitionGroupのライフサイクルフック（onBeforeEnter/onEnter/onLeave等）が適切にカバーされているか
- [ ] VueElementのプロパティ反映（_setProp）が双方向（JS→HTML属性、HTML属性→JS prop）をカバーしているか
- [ ] __COMPAT__分岐のテストケース（UT-RDM-269/270）の優先度・実行可能性を確認しているか
- [ ] 根拠不足（△）の8件について、テスト方針の判断が行われているか
