---
generated_at: 2026-02-27 12:00:00
metrics:
  claims_total: 45
  claims_with_evidence: 40
  claims_without_evidence: 5
confidence_derived: 0.89
---

# 根拠レポート：非機能要件テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.89**
  - 根拠あり：40 / 45、根拠なし：5
- 優先レビュー（高）
  1. **NFT-004 大量コンポーネントツリーのレンダリング負荷**：合格基準値（3秒以内）の根拠不足
  2. **NFT-014 プロダクションビルドのバンドルサイズ**：合格基準値（50KB以下）の根拠不足
  3. **NFT-015 Tree-shakingによる不要コード除去**：合格基準値（20%以下）の根拠不足
  4. **NFT-039 ユニットテストの網羅率**：合格基準値（80%以上）の根拠不足
  5. **NFT-010 KeepAliveキャッシュのパフォーマンス**：合格基準値（30%以下）の根拠不足

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

- E-01: `packages/reactivity/src/effect.ts` - ReactiveEffectクラス、依存関係追跡のdoubly linked list実装
- E-02: `packages/reactivity/src/computed.ts` - ComputedRefImpl、refreshComputed関数のglobalVersionファストパス
- E-03: `packages/runtime-core/src/scheduler.ts` - queueJob、flushJobs、findInsertionIndex（バイナリサーチ）、RECURSION_LIMIT=100
- E-04: `packages/runtime-core/src/renderer.ts` - patch/mountComponent処理のレンダラー実装
- E-05: `packages/server-renderer/src/renderToString.ts` - renderToString、nestedUnrollBuffer非同期バッファ展開
- E-06: `packages/server-renderer/src/renderToStream.ts` - renderToSimpleStream、renderToWebStream、pipeToWebWritable
- E-07: `packages/reactivity/src/reactive.ts` - reactiveMap/readonlyMap（WeakMap）、createReactiveObject
- E-08: `packages/runtime-core/src/components/KeepAlive.ts` - Cache/Keys型、maxプロパティ
- E-09: `packages/runtime-core/src/hydrationStrategies.ts` - hydrateOnIdle、hydrateOnVisible、requestIdleCallbackポリフィル
- E-10: `packages/runtime-core/src/apiAsyncComponent.ts` - defineAsyncComponent、delay/timeout/onError/retry実装
- E-11: `packages/runtime-dom/src/modules/events.ts` - patchEvent、veiキー、createInvoker、_vtsタイムスタンプ、sanitizeEventValue
- E-12: `rollup.config.js` - createMinifiedConfig（SWC minify, safari10: true）、outputConfigs、resolveDefine、tree-shaking設定
- E-13: `packages/runtime-core/src/errorHandling.ts` - handleError、callWithAsyncErrorHandling、logError、ErrorCodes
- E-14: `packages/runtime-core/src/hmr.ts` - rerender/reload、hmrDirtyComponents、tryWrap
- E-15: `packages/shared/src/escapeHtml.ts` - escapeHtml、escapeHtmlComment、getEscapedCssVarName
- E-16: `packages/server-renderer/src/render.ts` - renderElementVNode（innerHTML/textContent分岐）
- E-17: `tsconfig.json` - strict: true、target: es2016、isolatedDeclarations: true
- E-18: `vitest.config.ts` - coverage設定（v8 provider）、e2eプロジェクト設定
- E-19: `package.json` - eslint/prettier設定、simple-git-hooks、engines: node >= 18.12.0
- E-20: `packages/runtime-core/src/profiling.ts` - startMeasure/endMeasure、Performance API連携
- E-21: `packages/vue-compat/src/index.ts` - compatBuild、DeprecationTypes
- E-22: `packages/runtime-dom/src/apiCustomElement.ts` - defineCustomElement、CustomElementOptions（shadowRoot）
- E-23: `SECURITY.md` - 脆弱性報告ポリシー、XSSに関する公式見解

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | NFT-001: リアクティブシステムの依存関係追跡性能 | E-01 | ○ |
| C-02 | NFT-002: computedプロパティの再計算性能 | E-02 | ○ |
| C-03 | NFT-003: スケジューラのジョブ実行性能 | E-03 | ○ |
| C-04 | NFT-004: 大量コンポーネントツリーのレンダリング負荷（合格基準: 3秒以内） | E-04 | △ |
| C-05 | NFT-005: SSRレンダリングのスループット | E-05 | ○ |
| C-06 | NFT-006: SSRストリーミングのメモリ効率 | E-06 | ○ |
| C-07 | NFT-007: バッチ更新の効率性 | E-01 | ○ |
| C-08 | NFT-008: WeakMapによるProxyキャッシュのメモリリーク防止 | E-07 | ○ |
| C-09 | NFT-009: 未使用依存関係の自動クリーンアップ | E-01 | ○ |
| C-10 | NFT-010: KeepAliveキャッシュのパフォーマンス（合格基準: 30%以下） | E-08 | △ |
| C-11 | NFT-011: 遅延ハイドレーションの初期ロード時間 | E-09 | ○ |
| C-12 | NFT-012: 非同期コンポーネントのローディング性能 | E-10 | ○ |
| C-13 | NFT-013: イベントハンドラのキャッシュ効率 | E-11 | ○ |
| C-14 | NFT-014: プロダクションビルドのバンドルサイズ（合格基準: 50KB以下） | E-12 | △ |
| C-15 | NFT-015: Tree-shakingによる不要コード除去（合格基準: 20%以下） | E-12 | △ |
| C-16 | NFT-016: エラーバウンダリの伝播 | E-13 | ○ |
| C-17 | NFT-017: アプリケーションレベルエラーハンドラ | E-13 | ○ |
| C-18 | NFT-018: 非同期エラーのハンドリング | E-13 | ○ |
| C-19 | NFT-019: スケジューラの再帰更新制限 | E-03 | ○ |
| C-20 | NFT-020: スケジューラのエラー回復 | E-03 | ○ |
| C-21 | NFT-021: プロダクション環境でのエラー回復 | E-13 | ○ |
| C-22 | NFT-022: HMRの動作安定性 | E-14 | ○ |
| C-23 | NFT-023: 非同期コンポーネントのリトライ機構 | E-10 | ○ |
| C-24 | NFT-024: HTMLエスケープの網羅性 | E-15 | ○ |
| C-25 | NFT-025: HTMLコメントインジェクション防止 | E-15 | ○ |
| C-26 | NFT-026: CSS変数名のエスケープ | E-15 | ○ |
| C-27 | NFT-027: innerHTML使用時のSSR出力安全性 | E-16 | ○ |
| C-28 | NFT-028: イベントハンドラの型検証 | E-11 | ○ |
| C-29 | NFT-029: readonlyプロキシの書き込み防止 | E-07 | ○ |
| C-30 | NFT-030: イベントタイミング攻撃の防止 | E-11 | ○ |
| C-31 | NFT-031: ES2016ターゲットの動作確認 | E-17, E-12 | ○ |
| C-32 | NFT-032: Safari 10互換性 | E-12 | ○ |
| C-33 | NFT-033: Vue 2互換モード | E-21 | ○ |
| C-34 | NFT-034: 複数モジュール形式の出力 | E-12 | ○ |
| C-35 | NFT-035: Node.js SSR環境でのrenderToString動作 | E-05 | ○ |
| C-36 | NFT-036: Web Streams API互換 | E-06 | ○ |
| C-37 | NFT-037: Custom Elements API互換 | E-22 | ○ |
| C-38 | NFT-038: requestIdleCallbackポリフィル | E-09 | ○ |
| C-39 | NFT-039: ユニットテストの網羅率（合格基準: 80%以上） | E-18 | △ |
| C-40 | NFT-040: E2Eテストの実行安定性 | E-18 | ○ |
| C-41 | NFT-041: TypeScript厳格モード準拠 | E-17 | ○ |
| C-42 | NFT-042: ESLint/Prettier準拠 | E-19 | ○ |
| C-43 | NFT-043: パフォーマンスプロファイリング機能 | E-20 | ○ |
| C-44 | NFT-044: DEV/PROD条件分岐の除去 | E-12 | ○ |
| C-45 | NFT-045: パッケージ間の循環依存 | E-12 | ○ |

## 4) 不足情報（Unknown / Missing）
- **合格基準の数値根拠が不足している項目がある**：NFT-004、NFT-010、NFT-014、NFT-015、NFT-039の合格基準値はコードから直接導出できない。これらはプロジェクトの性能要件定義書やSLA定義が存在しないため、一般的なベストプラクティスに基づく推定値である。
  - 候補：Vue.js公式ベンチマーク結果 / プロジェクトのCI設定 / 過去リリースのサイズ記録
- **性能要件定義書**：プロジェクト内に明示的な性能要件定義書やSLA定義ファイルが存在しない。合格基準の数値は業界標準に基づく推定。
  - 候補：package.jsonの"size"スクリプト / scripts/usage-size.js / CI設定ファイル
- **インフラ構成定義**：Netlifyの設定（netlify.toml）は存在するが、本番環境の詳細なインフラ構成は不明。
  - 候補：netlify.toml / デプロイ設定ドキュメント

## 5) リスクフラグ（レビュー観点）
- **リスク1（中リスク）**: 合格基準の数値が推定値であるテストケース（NFT-004, NFT-010, NFT-014, NFT-015, NFT-039）は、実際の要件に合わせて調整が必要
- **リスク0（低リスク）**: セキュリティテスト（NFT-024〜NFT-030）のテスト条件と合格基準はソースコードの実装から直接導出されており、信頼性が高い
- **リスク0（低リスク）**: エラーハンドリング・回復性テスト（NFT-016〜NFT-023）はerrorHandling.tsとscheduler.tsの実装から直接導出
- **リスク1（中リスク）**: E2Eテスト安定性（NFT-040）の「100%成功率」という基準は、CI環境依存の要素があるため環境差異に注意

## 6) レビュアーチェックリスト（最小）
- [ ] 合格基準が「△」のテストケース（NFT-004, NFT-010, NFT-014, NFT-015, NFT-039）の数値がプロジェクトの実際の要件と整合しているか確認
- [ ] セキュリティテスト（NFT-024〜NFT-030）の網羅性を確認（OWASP Top 10等の観点で不足がないか）
- [ ] 互換性テスト（NFT-031〜NFT-038）のブラウザ対象バージョンが実際のサポート対象と一致しているか確認
- [ ] SSR関連テスト（NFT-005, NFT-006, NFT-035, NFT-036）がCloudflare Workers、Deno等のEdge Runtime環境を十分にカバーしているか確認
- [ ] パフォーマンステストの計測手法（ブラウザのPerformance API使用、Node.jsのprocess.hrtime使用等）が明確に定義されているか確認
