---
generated_at: 2026-02-18 12:00:00
metrics:
  claims_total: 42
  claims_with_evidence: 38
  claims_without_evidence: 4
confidence_derived: 0.90
---

# 根拠レポート：インフラ設計書

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.90**
  - 根拠あり：38 / 42、根拠なし：4
- 優先レビュー（高）
  1. **バックアップ保持期間**: Supabaseプラン依存のため要確認
  2. **本番環境スペック詳細**: Vercel/Supabaseの実際のプラン情報不明
  3. **可用性SLA**: サービスプランに応じたSLA情報不足
  4. **災害復旧計画**: 明示的なDR計画の記載なし

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

- E-01: `package.json` (root)
- E-02: `frontend/apps/app/package.json`
- E-03: `frontend/apps/app/vercel.json`
- E-04: `frontend/apps/app/next.config.ts`
- E-05: `frontend/apps/app/.env.production`
- E-06: `frontend/apps/docs/.env.production`
- E-07: `.env.template`
- E-08: `frontend/internal-packages/db/supabase/config.toml`
- E-09: `frontend/internal-packages/db/package.json`
- E-10: `frontend/internal-packages/agent/package.json`
- E-11: `frontend/internal-packages/mcp-server/package.json`
- E-12: `frontend/packages/cli/package.json`
- E-13: `.github/workflows/frontend-ci.yml`
- E-14: `.github/workflows/database-ci.yml`
- E-15: `.github/workflows/e2e_tests.yml`
- E-16: `turbo.json`
- E-17: `CLAUDE.md`
- E-18: `docs/migrationOpsContext.md`

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Next.js 15ベースのWebアプリケーション | E-02 (next: 15.4.8) | ○ |
| C-02 | React 19を使用 | E-02 (react: 19.1.1) | ○ |
| C-03 | Vercel上にホスティング | E-03, E-05 (ASSET_PREFIX: app.liambx.com) | ○ |
| C-04 | Supabaseをバックエンドとして使用 | E-07, E-08, E-09 | ○ |
| C-05 | PostgreSQL 15を使用 | E-08 (major_version = 15) | ○ |
| C-06 | pnpm 10.18.3を使用 | E-01 (packageManager: pnpm@10.18.3) | ○ |
| C-07 | Turborepo 2.5.8を使用 | E-01 (turbo: 2.5.8) | ○ |
| C-08 | LangGraph.jsによるAIエージェント | E-10 (@langchain/langgraph: 0.4.9) | ○ |
| C-09 | OpenAI APIを使用 | E-07 (OPENAI_API_KEY), E-10 (@langchain/openai) | ○ |
| C-10 | Sentry統合 | E-04 (@sentry/nextjs), E-07 (SENTRY_DSN等) | ○ |
| C-11 | GitHub OAuth連携 | E-07, E-08 (auth.external.github) | ○ |
| C-12 | Resendメール送信サービス | E-02 (resend: 4.5.2), E-07 (RESEND_API_KEY) | ○ |
| C-13 | LangSmithトレーシング | E-07 (LANGSMITH_API_KEY, LANGSMITH_TRACING) | ○ |
| C-14 | メインアプリドメイン app.liambx.com | E-04, E-05 | ○ |
| C-15 | ドキュメントサイト liam-docs-sigma.vercel.app | E-06 | ○ |
| C-16 | 開発ポート3001 | E-02 (dev:next: port 3001), E-08 (site_url) | ○ |
| C-17 | Supabase APIポート54321 | E-08 (port = 54321) | ○ |
| C-18 | Supabase DBポート54322 | E-08 (port = 54322) | ○ |
| C-19 | Supabase Studioポート54323 | E-08 (port = 54323) | ○ |
| C-20 | PgBouncer pool_size 20 | E-08 (default_pool_size = 20) | ○ |
| C-21 | PgBouncer max_client_conn 100 | E-08 (max_client_conn = 100) | ○ |
| C-22 | JWT有効期限3600秒 | E-08 (jwt_expiry = 3600) | ○ |
| C-23 | Storage上限50MiB | E-08 (file_size_limit = "50MiB") | ○ |
| C-24 | frontend-ci.ymlでCI実行 | E-13 | ○ |
| C-25 | database-ci.ymlでPGTapテスト | E-14 | ○ |
| C-26 | e2e_tests.ymlでPlaywrightテスト | E-15 | ○ |
| C-27 | Turborepo concurrency 15 | E-16 (concurrency: 15) | ○ |
| C-28 | CLI公開パッケージ @liam-hq/cli | E-12 (private: false, publishConfig: public) | ○ |
| C-29 | Supabase Branching使用 | E-18 (migrationOpsContext.md) | ○ |
| C-30 | スキーマドリフト日次チェック | E-18 (.github/workflows/check-schema-drift.yml言及) | ○ |
| C-31 | Slack障害通知 | E-15 (SLACK_CLI_CI_WEBHOOK_URL) | ○ |
| C-32 | E2Eテスト Chromium, Mobile Safari | E-15 (matrix.browser: [chromium, "Mobile Safari"]) | ○ |
| C-33 | AES-256-GCMトークン暗号化 | E-07 (LIAM_GITHUB_OAUTH_KEYRING コメント) | ○ |
| C-34 | Vitest使用 | E-01, E-02 (vitest: 3.2.4) | ○ |
| C-35 | Biome使用 | E-02 (@biomejs/biome: 2.2.6) | ○ |
| C-36 | CSS Modules使用 | E-17 (CLAUDE.md), E-02 (typed-css-modules) | ○ |
| C-37 | @xyflow/react使用 | E-17 (CLAUDE.md記載) | ○ |
| C-38 | Valibot使用 | E-02 (valibot: 1.1.0) | ○ |
| C-39 | バックアップ保持期間「サービスプランに依存」 | **根拠なし** | △ |
| C-40 | 本番環境の具体的スペック | **根拠なし** (Vercel/Supabaseプラン情報不明) | △ |
| C-41 | 可用性SLA | **根拠なし** (マネージドサービスのSLA情報不明) | △ |
| C-42 | 災害復旧計画 | **根拠なし** (明示的なDR計画未記載) | △ |

## 4) 不足情報（Unknown / Missing）
- **バックアップ詳細**: Supabaseのバックアップ設定・保持期間はプロジェクト設定に依存
  - 候補：Supabaseダッシュボード / プロジェクト設定 / 契約プラン情報
- **本番環境スペック**: Vercel/Supabaseの実際のサービスプラン情報
  - 候補：Vercel Team設定 / Supabase Proプラン詳細
- **可用性SLA**: マネージドサービスのSLA情報
  - 候補：Vercel SLA / Supabase SLA ドキュメント
- **災害復旧計画**: 明示的なDR計画・RTOの定義
  - 候補：運用ドキュメント / インシデント対応手順書

## 5) リスクフラグ（レビュー観点）
- **0 (低リスク)**: 技術スタック、ポート設定、パッケージバージョン等の事実情報
- **1 (中リスク)**: 外部サービス連携の詳細設定（認証フロー等）
- **2 (高リスク)**: バックアップ保持期間、SLA、災害復旧計画等のビジネスクリティカル情報

## 6) レビュアーチェックリスト（最小）
- [ ] Supabaseのバックアップ設定・保持期間を確認し、ドキュメントを更新する
- [ ] Vercel/Supabaseの契約プラン情報を確認し、スペック詳細を補完する
- [ ] 可用性目標（SLA/SLO）を定義し、ドキュメントに追記する
- [ ] 災害復旧計画（DR Plan）の有無を確認し、必要に応じて策定する
- [ ] 本番環境のセキュリティ設定（RLS、ネットワーク制限等）を確認する
