---
generated_at: 2026-02-27 12:00:00
metrics:
  claims_total: 42
  claims_with_evidence: 39
  claims_without_evidence: 3
confidence_derived: 0.93
---

# 根拠レポート：アーキテクチャ設計書

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.93**
  - 根拠あり：39 / 42、根拠なし：3
- 優先レビュー（高）
  1. **RECURSION_LIMIT の値（100回）**：ソースコード内でのデフォルト値の確認推奨
  2. **PostCSS バージョン ^8.5.6**：compiler-sfc の package.json での正確なバージョン確認推奨
  3. **Vue 2 compat パッケージの詳細な API 互換範囲**：compat ディレクトリの網羅的レビュー推奨

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

- E-01: `package.json`（ルート）— バージョン 3.5.27、devDependencies、scripts、packageManager
- E-02: `pnpm-workspace.yaml` — ワークスペース定義（packages/*, packages-private/*）
- E-03: `tsconfig.json`（ルート）— TypeScript 設定、paths マッピング
- E-04: `rollup.config.js` — ビルド形式定義（PackageFormat 型、outputConfigs）
- E-05: `vitest.config.ts` — テスト設定（3プロジェクト: unit, unit-jsdom, e2e）
- E-06: `eslint.config.js` — ESLint ルール設定、環境別グローバル制限
- E-07: `packages/shared/src/` — 16ファイル（general.ts, patchFlags.ts, shapeFlags.ts 等）
- E-08: `packages/reactivity/src/` — 13ファイル（ref.ts, reactive.ts, effect.ts, dep.ts 等）
- E-09: `packages/runtime-core/src/` — 50+ファイル（renderer.ts, vnode.ts, component.ts, scheduler.ts, errorHandling.ts 等）
- E-10: `packages/runtime-dom/src/` — 17ファイル（nodeOps.ts, patchProp.ts, modules/, directives/, components/）
- E-11: `packages/compiler-core/src/` — 30+ファイル（compile.ts, parser.ts, tokenizer.ts, ast.ts, transform.ts, codegen.ts, transforms/）
- E-12: `packages/compiler-dom/src/` — 16ファイル（parserOptions.ts, transforms/）
- E-13: `packages/compiler-sfc/src/` — 30ファイル（parse.ts, compileScript.ts, compileTemplate.ts, compileStyle.ts, script/, style/）
- E-14: `packages/compiler-ssr/src/` — 17ファイル（ssrCodegenTransform.ts, transforms/）
- E-15: `packages/server-renderer/src/` — 15ファイル（renderToString.ts, renderToStream.ts, helpers/）
- E-16: `packages/vue/src/` — 3ファイル（index.ts, runtime.ts, dev.ts）
- E-17: `packages/vue-compat/src/` — 6ファイル
- E-18: `packages/runtime-test/src/` — 5ファイル（nodeOps.ts, patchProp.ts, triggerEvent.ts, serialize.ts）
- E-19: 各パッケージの `package.json` — dependencies、buildOptions、exports フィールド
- E-20: `packages/reactivity/src/reactive.ts` — WeakMap ベースのキャッシュ（reactiveMap, readonlyMap）
- E-21: `packages/compiler-sfc/src/cache.ts` — LRU キャッシュ実装
- E-22: `packages/runtime-core/src/warning.ts` — 開発警告システム
- E-23: `packages/runtime-core/src/errorHandling.ts` — ErrorCodes、callWithErrorHandling、handleError
- E-24: `packages/runtime-core/src/scheduler.ts` — ジョブキュー、3フェーズフラッシュ
- E-25: `packages/runtime-core/src/devtools.ts` — DevTools 連携
- E-26: `packages/runtime-core/src/profiling.ts` — パフォーマンスプロファイリング
- E-27: `packages/runtime-core/src/apiCreateApp.ts` — createApp、プラグインシステム
- E-28: `packages/reactivity/src/effect.ts` — ReactiveEffect クラス、バッチ処理
- E-29: `packages/reactivity/src/dep.ts` — 双方向リンクリスト、globalVersion
- E-30: `packages/reactivity/src/computed.ts` — ComputedRefImpl、遅延評価

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Vue.js 3 コアリポジトリ v3.5.27 である | E-01 | ○ |
| C-02 | pnpm workspace による12パッケージのモノレポ構成 | E-02, E-07〜E-18 | ○ |
| C-03 | @babel/parser をテンプレート式パースに使用 | E-11 (compiler-core package.json) | ○ |
| C-04 | PostCSS を SFC スタイルブロック変換に使用 | E-13 (compiler-sfc package.json) | ○ |
| C-05 | entities を HTML エンティティデコードに使用 | E-11 (compiler-core package.json) | ○ |
| C-06 | レイヤードアーキテクチャ + プラットフォーム抽象化パターン | E-07〜E-18, E-19 | ○ |
| C-07 | @vue/shared は依存なしの基盤レイヤー | E-07, E-19 | ○ |
| C-08 | @vue/reactivity は @vue/shared のみに依存 | E-08, E-19 | ○ |
| C-09 | @vue/runtime-core は @vue/reactivity と @vue/shared に依存 | E-09, E-19 | ○ |
| C-10 | @vue/runtime-dom は @vue/runtime-core, @vue/reactivity, @vue/shared に依存 | E-10, E-19 | ○ |
| C-11 | @vue/compiler-core は @vue/shared と外部パーサーに依存 | E-11, E-19 | ○ |
| C-12 | @vue/compiler-dom は @vue/compiler-core を拡張 | E-12, E-19 | ○ |
| C-13 | @vue/compiler-sfc は全コンパイラパッケージを統合 | E-13, E-19 | ○ |
| C-14 | @vue/compiler-ssr は @vue/compiler-dom に依存 | E-14, E-19 | ○ |
| C-15 | ランタイム層からコンパイラ層への直接依存は禁止（vue パッケージ内ブリッジ除く） | E-19 (各 package.json の dependencies) | ○ |
| C-16 | shared パッケージは16ファイルで構成 | E-07 | ○ |
| C-17 | reactivity パッケージは13ファイルで構成 | E-08 | ○ |
| C-18 | runtime-core パッケージは50+ファイルで構成 | E-09 | ○ |
| C-19 | compiler-core のコンパイルパイプラインは parse → transform → codegen | E-11 (compile.ts, parser.ts, transform.ts, codegen.ts) | ○ |
| C-20 | NodeTransform と DirectiveTransform によるプラグイン変換機構 | E-11 (transform.ts, transforms/) | ○ |
| C-21 | SFC コンパイルは parse → compileTemplate/compileScript/compileStyle | E-13 (parse.ts, compileTemplate.ts, compileScript.ts, compileStyle.ts) | ○ |
| C-22 | SFC スクリプトマクロ: defineProps, defineEmits, defineExpose, defineModel, defineSlots, defineOptions | E-13 (script/ ディレクトリ内の各ファイル) | ○ |
| C-23 | LRU キャッシュによる SFC パース結果キャッシュ | E-21 | ○ |
| C-24 | WeakMap による Proxy マッピングキャッシュ | E-20 | ○ |
| C-25 | Rollup によるパッケージバンドル（ESM/CJS/IIFE） | E-04 | ○ |
| C-26 | esbuild による TypeScript トランスパイル | E-04 (rollup-plugin-esbuild 使用) | ○ |
| C-27 | SWC によるプロダクションミニファイ | E-04 (minifySwc 関数) | ○ |
| C-28 | ビルド形式: esm-bundler, esm-browser, cjs, global, *-runtime | E-04 (outputConfigs) | ○ |
| C-29 | スケジューラの3フェーズフラッシュ（Pre/Main/Post） | E-24 | ○ |
| C-30 | callWithErrorHandling / callWithAsyncErrorHandling によるエラーラップ | E-23 | ○ |
| C-31 | errorCaptured フックによる階層的エラー伝播 | E-23 | ○ |
| C-32 | __DEV__ フラグによる開発時警告の本番除去 | E-04 (resolveDefine), E-22 | ○ |
| C-33 | Proxy ベースのリアクティビティ（baseHandlers, collectionHandlers） | E-08 (baseHandlers.ts, collectionHandlers.ts) | ○ |
| C-34 | ReactiveEffect と Dep の双方向リンクリストによる依存管理 | E-28, E-29 | ○ |
| C-35 | ComputedRefImpl による遅延評価・ダーティチェック | E-30 | ○ |
| C-36 | ES2016 ターゲット（async/await, optional chaining, object spread 禁止） | E-06 (no-restricted-syntax ルール) | ○ |
| C-37 | const enum 禁止・ビルド時インライン化 | E-06 (banConstEnum), E-01 (scripts) | ○ |
| C-38 | simple-git-hooks による pre-commit (lint + type check) と commit-msg 検証 | E-01 (simple-git-hooks 設定) | ○ |
| C-39 | Vitest 3プロジェクト構成（unit, unit-jsdom, e2e） | E-05 | ○ |
| C-40 | RECURSION_LIMIT = 100 による再帰更新検知 | E-24 (scheduler.ts 内の定義) | △ |
| C-41 | PostCSS バージョン ^8.5.6 | E-13 (compiler-sfc package.json) | △ |
| C-42 | @vue/compat による Vue 2 API 互換レイヤーの詳細範囲 | E-17 | △ |

## 4) 不足情報（Unknown / Missing）
- **C-40**: RECURSION_LIMIT の具体値（100）は一般的な Vue.js の知識に基づく。`scheduler.ts` 内の正確な定数定義を直接確認していない
  - 候補：`packages/runtime-core/src/scheduler.ts` の定数定義を直接確認
- **C-41**: PostCSS のバージョンは `compiler-sfc` の `package.json` に記載されているが、解析時に当該 package.json の全内容を直接読み取っていない
  - 候補：`packages/compiler-sfc/package.json` の dependencies フィールドを直接確認
- **C-42**: Vue 2 互換パッケージの API 互換範囲の詳細は、`vue-compat/src/` および `runtime-core/src/compat/` 内のファイルを網羅的に分析していない
  - 候補：`packages/vue-compat/src/createCompatVue.ts`、`packages/runtime-core/src/compat/` ディレクトリの詳細解析

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**: パッケージ構成・依存関係・ビルド設定に関する主張（C-01〜C-18, C-25〜C-28）— package.json とディレクトリ構造から直接検証可能
- **0（低リスク）**: コンパイルパイプライン・リアクティビティ機構の記述（C-19〜C-24, C-29〜C-35）— ソースコードのファイル構成と export から検証可能
- **0（低リスク）**: コーディング規約・テスト設定（C-36〜C-39）— 設定ファイルから直接検証可能
- **1（中リスク）**: 具体的な数値やバージョン（C-40, C-41）— ソースコードの直接確認が推奨される
- **1（中リスク）**: 互換性の詳細範囲（C-42）— 網羅的なコードレビューが必要

## 6) レビュアーチェックリスト（最小）
- [ ] パッケージ依存関係が各 `package.json` の `dependencies` と一致しているか
- [ ] レイヤー間の依存方向ルールが実際のインポート構造と矛盾していないか
- [ ] スケジューラの3フェーズフラッシュの記述が `scheduler.ts` の実装と整合しているか
- [ ] エラーハンドリングフローが `errorHandling.ts` の実装と整合しているか
- [ ] ビルド形式の一覧が `rollup.config.js` の `outputConfigs` と一致しているか
- [ ] コンパイルパイプラインの記述が `compiler-core/src/compile.ts` の実装フローと整合しているか
- [ ] ESLint ルールの制約事項（ES2016ターゲット等）が `eslint.config.js` と一致しているか
