---
generated_at: 2026-02-27 12:00:00
metrics:
  claims_total: 42
  claims_with_evidence: 40
  claims_without_evidence: 2
confidence_derived: 0.95
---

# 根拠レポート：コードリーディングガイドライン

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.95**
  - 根拠あり：40 / 42、根拠なし：2
- 優先レビュー（高）
  1. **スケジューラからDOM更新への完全なフロー**: 中間レイヤー（renderer.ts の patch呼び出し）の具体的コード引用なし
  2. **参考資料のURL有効性**: 外部リンクの到達確認は未実施

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

- E-01: `packages/vue/src/index.ts` — フルビルドエントリーポイント
- E-02: `packages/reactivity/src/ref.ts` — Ref の実装
- E-03: `packages/reactivity/src/reactive.ts` — reactive の実装
- E-04: `packages/reactivity/src/effect.ts` — エフェクトシステム
- E-05: `packages/compiler-core/src/ast.ts` — AST型定義
- E-06: `packages/compiler-core/src/compile.ts` — コンパイルパイプライン
- E-07: `packages/shared/src/patchFlags.ts` — PatchFlags定数
- E-08: `packages/runtime-core/src/renderer.ts` — レンダラー
- E-09: `packages/runtime-core/src/apiCreateApp.ts` — createApp API
- E-10: `packages/runtime-core/src/scheduler.ts` — スケジューラ
- E-11: `packages/reactivity/__tests__/ref.spec.ts` — Refテストコード
- E-12: `package.json` — 依存関係・プロジェクト設定
- E-13: `tsconfig.json` — TypeScript設定
- E-14: `vitest.config.ts` — テスト設定
- E-15: `rollup.config.js` — ビルド設定
- E-16: `pnpm-workspace.yaml` — ワークスペース設定

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

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | TypeScript 5.6.2 を使用 | E-12 (`package.json` の devDependencies) | ○ |
| C-02 | pnpm 10.28.2 がパッケージマネージャ | E-12 (`package.json` の packageManager) | ○ |
| C-03 | Node.js >= 18.12.0 が要件 | E-12 (`.node-version` ファイル) | ○ |
| C-04 | ESModulesをモジュールシステムとして使用 | E-01, E-02 (import/export構文の使用) | ○ |
| C-05 | `type` キーワード付きインポートは型情報のみ | E-01:5 (`type CompilerError` の import) | ○ |
| C-06 | Ref インターフェースは get/set value を持つ | E-02:28-37 | ○ |
| C-07 | NodeTypes enum でAST型を定義 | E-05:29-61 | ○ |
| C-08 | EffectScheduler は型エイリアスとして定義 | E-04:8 | ○ |
| C-09 | `__DEV__` フラグでコンパイル時分岐 | E-01:24-26 | ○ |
| C-10 | EffectFlags はビットフラグで定義 | E-04:41-53 | ○ |
| C-11 | isRef は型ガード関数 | E-02:45-48 | ○ |
| C-12 | RefImpl クラスが get/set アクセサを実装 | E-02:113-164 | ○ |
| C-13 | `@vue/*` パスは tsconfig.json の paths で解決 | E-13:16-19 | ○ |
| C-14 | WeakMap で reactive の Proxy を管理 | E-03:26-35 | ○ |
| C-15 | PatchFlags でdiff最適化ヒントを付与 | E-07:19-124 | ○ |
| C-16 | コンパイル時フラグは8種類存在 | E-01, E-14 (define設定で確認) | ○ |
| C-17 | api* ファイル命名はVue公開APIを示す | E-09 (`apiCreateApp.ts`) | ○ |
| C-18 | v*.ts ファイルはディレクティブ変換プラグイン | E-06:11-24 (import文で確認) | ○ |
| C-19 | *.spec.ts がテストファイルの命名規則 | E-11 (`ref.spec.ts`) | ○ |
| C-20 | パッケージ名は kebab-case | E-16 (packages/* のディレクトリ名) | ○ |
| C-21 | create* はファクトリ関数の命名規則 | E-09:33 (`createApp`), E-08 (`createRenderer`) | ○ |
| C-22 | *Impl は内部実装クラスの命名規則 | E-02:113 (`RefImpl`), E-02:295 (`CustomRefImpl`) | ○ |
| C-23 | 11の公開パッケージが存在 | E-16 (packages/* ディレクトリ) | ○ |
| C-24 | 依存は vue → runtime-dom → runtime-core → reactivity → shared の階層 | E-01 (import), E-08 (import), E-02 (import) | ○ |
| C-25 | compileToFunction がテンプレートコンパイルのエントリー | E-01:30-101 | ○ |
| C-26 | baseCompile が parse → transform → generate パイプライン | E-06:67-122 | ○ |
| C-27 | getBaseTransformPreset で変換プリセットを定義 | E-06:32-63 | ○ |
| C-28 | ref() は createRef() に委譲 | E-02:63-64 | ○ |
| C-29 | createRef が RefImpl をインスタンス化 | E-02:103-108 | ○ |
| C-30 | 4つの WeakMap で4種類のリアクティビティモードを管理 | E-03:26-35 | ○ |
| C-31 | スケジューラは Promise.resolve ベースのマイクロタスク処理 | E-10:50-51 | ○ |
| C-32 | /*@__PURE__*/ はバンドラーへの tree-shaking ヒント | E-10:50, E-02:46-47 | ○ |
| C-33 | テストは3つのプロジェクト（unit, unit-jsdom, e2e）に分割 | E-14 | ○ |
| C-34 | RECURSION_LIMIT は 100 | E-10:53 | ○ |
| C-35 | App インターフェースに use/mixin/component/directive/mount を定義 | E-09:33-82 | ○ |
| C-36 | テンプレートコンパイル結果をキャッシュ | E-01:28, E-01:44-47 | ○ |
| C-37 | CSS セレクタ（#で始まる）テンプレートをサポート | E-01:49-58 | ○ |
| C-38 | ref.value の setter で hasChanged による比較 | E-02:148 | ○ |
| C-39 | TargetType enum で COMMON/COLLECTION/INVALID を分類 | E-03:37-56 | ○ |
| C-40 | SchedulerJobFlags でジョブ状態をビットフラグ管理 | E-10:5-25 | ○ |
| C-41 | スケジューラからDOM更新（patch）への具体的呼び出しチェーン | **根拠なし** | △ |
| C-42 | 参考資料の外部URLが有効 | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- C-41: スケジューラの `flushJobs` → `componentUpdateFn` → `patch` への完全な呼び出しチェーンは、`renderer.ts` の `setupRenderEffect` 内で定義されているが、ファイルが2000行以上と大規模であり、完全なトレースは読み込み範囲を超えた
  - 候補：`packages/runtime-core/src/renderer.ts` の `setupRenderEffect` 関数 / `componentUpdateFn` 関数
- C-42: 外部URL（Vue.js公式、TypeScript公式等）の到達確認は未実施
  - 候補：各公式サイトへのアクセス確認 / リンクチェッカーの実行

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク — 言語基礎・命名規則・ディレクトリ構造の記述（ソースコードから直接確認済み）
- 0: 低リスク — コード例の引用（ファイル名・行番号付きで正確性が高い）
- 1: 中リスク — スケジューラ→DOM更新の完全フロー（中間レイヤーの一部が推測）
- 0: 低リスク — アーキテクチャ依存関係図（import文から確認済み）

## 6) レビュアーチェックリスト（最小）
- [ ] コード例のファイルパス・行番号が実際のソースコードと一致するか
- [ ] `__DEV__` 等のコンパイル時フラグの説明が正確か
- [ ] パッケージ間の依存関係図がimport文と一致するか
- [ ] 命名規則の記述が実際のファイル名・変数名と整合するか
- [ ] スケジューラ → patch の呼び出しフローが正確か（C-41）
- [ ] 参考資料のURLが有効か（C-42）
