---
generated_at: 2026-02-27 12:00:00
metrics:
  claims_total: 25
  claims_with_evidence: 24
  claims_without_evidence: 1
confidence_derived: 0.96
---

# 根拠レポート：71-@vue/runtime-test

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.96**
  - 根拠あり：24 / 25、根拠なし：1
- 優先レビュー（高）
  1. **Vue Test Utils連携**：機能一覧の備考に記載されているが、ソースコード上での直接的な連携コードは確認されていない

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

- E-01: `packages/runtime-test/src/index.ts`（エントリーポイント、createRenderer呼び出し、renderToString定義）
- E-02: `packages/runtime-test/src/nodeOps.ts`（TestElement/TestText/TestComment型、NodeOpTypes/TestNodeTypes列挙型、ノード操作関数群、操作ログ機能）
- E-03: `packages/runtime-test/src/patchProp.ts`（プロパティパッチ、イベントリスナー登録）
- E-04: `packages/runtime-test/src/triggerEvent.ts`（イベント発火ユーティリティ）
- E-05: `packages/runtime-test/src/serialize.ts`（ノードシリアライズ機能）
- E-06: `packages/runtime-test/package.json`（パッケージ設定、private: true、依存関係）
- E-07: `packages/runtime-test/__tests__/testRuntime.spec.ts`（テストスイート）
- E-08: `packages/runtime-test/index.js`（CJSエントリー）
- E-09: `packages/runtime-core/src/renderer.ts`（createRenderer定義、313行目）
- E-10: `docs/code-to-docs/機能一覧/機能一覧.csv`（機能No.71の定義）

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | @vue/runtime-testはDOM環境に依存しないテスト用ランタイムを提供する | E-01, E-02 | ○ |
| C-02 | createRenderer APIを利用してカスタムレンダラーを構築する | E-01 (12-14行目) | ○ |
| C-03 | TestElement型はid, type, tag, children, props, eventListenersフィールドを持つ | E-02 (18-26行目) | ○ |
| C-04 | TestText型はid, type, text, parentNodeフィールドを持つ | E-02 (28-33行目) | ○ |
| C-05 | TestComment型はid, type, text, parentNodeフィールドを持つ | E-02 (35-40行目) | ○ |
| C-06 | NodeOpTypesは6種類（CREATE, INSERT, REMOVE, SET_TEXT, SET_ELEMENT_TEXT, PATCH）を定義 | E-02 (9-16行目) | ○ |
| C-07 | テストノードはmarkRaw()でリアクティブ化が防止される | E-02 (91, 109, 127行目) | ○ |
| C-08 | logNodeOp()ですべてのノード操作がログ記録される | E-02 (60-62行目), E-03 (10-16行目) | ○ |
| C-09 | dumpOps()で操作ログを取得しログをリセットする | E-02 (68-72行目) | ○ |
| C-10 | insert時にrefNodeが親の子要素に存在しない場合エラーをスローする | E-02 (148-152行目) | ○ |
| C-11 | insert時に既に親がある子ノードは自動削除される（ログなし） | E-02 (161行目) | ○ |
| C-12 | patchPropでisOn判定によりイベントリスナーを登録する | E-03 (18-21行目) | ○ |
| C-13 | イベント名抽出はkey[2]===':'でslice(3)、それ以外はslice(2).toLowerCase() | E-03 (19行目) | ○ |
| C-14 | triggerEventは配列リスナーと単一リスナーの両方に対応する | E-04 (13-19行目) | ○ |
| C-15 | serializeはイベントリスナーとnull値のプロパティを除外する | E-05 (43行目) | ○ |
| C-16 | serialize時に空文字列値のプロパティは属性名のみ出力される | E-05 (45-46行目) | ○ |
| C-17 | renderToStringはcreateElement->render->serializeInnerの一連処理 | E-01 (20-24行目) | ○ |
| C-18 | package.jsonでprivate: trueが設定されている | E-06 (3行目) | ○ |
| C-19 | 依存パッケージは@vue/sharedと@vue/runtime-core | E-06 (27-30行目) | ○ |
| C-20 | querySelectorはテストレンダラーで未サポートでエラーをスロー | E-02 (231-233行目) | ○ |
| C-21 | remove時にchildが親の子要素に存在しない場合エラーをスロー | E-02 (187-190行目) | ○ |
| C-22 | CJSエントリーは環境変数でdev/prodビルドを切り替える | E-08 (3-7行目) | ○ |
| C-23 | @vue/runtime-coreの全エクスポートが再エクスポートされる | E-01 (29行目) | ○ |
| C-24 | ノードIDはモジュールレベルの変数nodeIdで管理される | E-02 (57行目) | ○ |
| C-25 | Vue Test Utilsと連携してDOM非依存のテスト環境を構築できる | E-10 (備考欄) | △ |

## 4) 不足情報（Unknown / Missing）
- C-25のVue Test Utils連携について：機能一覧.csvの備考に「Vue Test Utils連携」と記載されているが、`@vue/runtime-test` パッケージ内にはVue Test Utilsへの直接的な参照や連携コードは存在しない。Vue Test Utils側から`@vue/runtime-test`を利用する方向の連携と考えられるが、Vue Test Utilsのソースコードは本リポジトリ外にあるため検証できない。
  - 候補：Vue Test Utilsリポジトリ / Vue Test Utils公式ドキュメント / `@vue/runtime-test`の外部利用例

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - ソースコードが小規模（5ファイル）で直接的な根拠確認が容易
- 0: 低リスク - テスト専用パッケージのため本番環境への影響なし
- 1: 中リスク - Vue Test Utils連携の記述は外部リポジトリの確認が必要

## 6) レビュアーチェックリスト（最小）
- [ ] nodeOps.tsの型定義（TestElement, TestText, TestComment）が正確に記述されているか確認
- [ ] patchPropのイベント名抽出ロジック（key[2]===':'の分岐）が正しく記述されているか確認
- [ ] Vue Test Utils連携の記述が過度に断定的でないか確認
- [ ] createRendererの呼び出し方法（extend({ patchProp }, nodeOps)）が正確か確認
- [ ] 操作ログ機能（logNodeOp, resetOps, dumpOps）の動作説明が正確か確認
