---
generated_at: 2026-02-25 12:00:00
metrics:
  claims_total: 30
  claims_with_evidence: 27
  claims_without_evidence: 3
confidence_derived: 0.90
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.90**
  - 根拠あり：27 / 30、根拠なし：3
- 優先レビュー（高）
  1. **Netlify CDN のスケーリング方式**：Netlify の具体的な CDN 構成はコードからは確認不可
  2. **Git ホスティングサービスの SLA**：外部サービスの SLA 値はコードから検証不可
  3. **Slack Webhook によるリリース通知フロー**：functions/publish.js の完全な実装詳細は部分的確認

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

- E-01: `netlify.toml` — Netlify ビルド設定（base、YARN_FLAGS、YARN_VERSION）
- E-02: `package.json`（ルート） — ワークスペース構成、スクリプト、依存関係
- E-03: `packages/decap-server/package.json` — Express.js サーバーの依存関係
- E-04: `packages/decap-server/src/index.ts` — サーバーエントリーポイント（ポート設定、fs/git モード）
- E-05: `packages/decap-server/.env.example` — 環境変数定義（GIT_REPO_DIRECTORY, PORT, LOG_LEVEL）
- E-06: `packages/decap-server/webpack.config.js` — Node.js ターゲットの webpack 設定
- E-07: `packages/decap-cms-backend-github/package.json` — GitHub バックエンド依存関係（apollo-client, graphql）
- E-08: `packages/decap-cms-backend-gitlab/package.json` — GitLab バックエンド依存関係
- E-09: `packages/decap-cms-backend-bitbucket/package.json` — Bitbucket バックエンド依存関係
- E-10: `packages/decap-cms-backend-azure/package.json` — Azure バックエンド依存関係
- E-11: `packages/decap-cms-backend-gitea/package.json` — Gitea バックエンド依存関係
- E-12: `packages/decap-cms-backend-git-gateway/package.json` — Git Gateway 依存関係（gotrue-js, jwt-decode）
- E-13: `packages/decap-cms-backend-git-gateway/src/implementation.ts` — Netlify Identity / Git Gateway 実装
- E-14: `packages/decap-cms-backend-proxy/src/implementation.ts` — プロキシバックエンド実装（proxy_url 設定）
- E-15: `packages/decap-cms-backend-aws-cognito-github-proxy/package.json` — AWS Cognito 連携依存関係
- E-16: `packages/decap-cms-lib-auth/src/index.js` — 認証ライブラリエクスポート（3方式）
- E-17: `packages/decap-cms-lib-auth/src/netlify-auth.js` — Netlify OAuth 認証実装
- E-18: `packages/decap-cms-lib-auth/src/pkce-oauth.js` — PKCE OAuth / OIDC 認証実装
- E-19: `packages/decap-cms-lib-auth/src/implicit-oauth.js` — Implicit OAuth 認証実装
- E-20: `packages/decap-cms-media-library-cloudinary/src/index.js` — Cloudinary 連携実装
- E-21: `packages/decap-cms-media-library-uploadcare/src/index.js` — Uploadcare 連携実装
- E-22: `packages/decap-cms-app/src/index.js` — アプリケーションエントリーポイント
- E-23: `packages/decap-cms-app/src/extensions.js` — バックエンド・メディアライブラリ登録
- E-24: `.github/workflows/nodejs.yml` — CI テストワークフロー（マトリクスビルド、E2E 並列化）
- E-25: `.github/workflows/publish.yml` — npm パブリッシュワークフロー（OIDC Trusted Publishers）
- E-26: `.github/workflows/create-release.yml` — GitHub Release 作成ワークフロー
- E-27: `functions/publish.js` — Slack Webhook トリガー関数
- E-28: `scripts/webpack.js` — 共有 webpack 設定
- E-29: `lerna.json` — Lerna 設定（independent versioning, conventionalCommits）
- E-30: `dev-test/config.yml` — 開発テスト用 CMS 設定

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Decap CMS はクライアントサイド SPA として動作する | E-22, E-23 | ○ |
| C-02 | Netlify で静的ファイルホスティングを行う | E-01 | ○ |
| C-03 | netlify.toml で Yarn 1.22.4 + frozen-lockfile を設定 | E-01 | ○ |
| C-04 | decap-server は Express.js ベースでポート 8081 で動作 | E-03, E-04, E-05 | ○ |
| C-05 | decap-server は fs モードと git モードを切り替え可能 | E-04 | ○ |
| C-06 | GitHub バックエンドは GraphQL API (apollo-client) を使用 | E-07 | ○ |
| C-07 | GitLab バックエンドは GraphQL API を使用 | E-08 | ○ |
| C-08 | Bitbucket バックエンドは REST API を使用 | E-09 | ○ |
| C-09 | Azure DevOps バックエンドは REST API を使用 | E-10 | ○ |
| C-10 | Gitea バックエンドは REST API を使用 | E-11 | ○ |
| C-11 | Git Gateway は Netlify Identity (gotrue-js) + JWT で認証 | E-12, E-13 | ○ |
| C-12 | Git Gateway は GitHub/GitLab/Bitbucket を内部バックエンドとして使用 | E-13 | ○ |
| C-13 | プロキシバックエンドは proxy_url 設定でローカルサーバーに接続 | E-14 | ○ |
| C-14 | AWS Cognito バックエンドは GitHub をプロキシ経由で使用 | E-15 | ○ |
| C-15 | 認証ライブラリは Netlify/PKCE/Implicit の 3 方式を提供 | E-16, E-17, E-18, E-19 | ○ |
| C-16 | PKCE 認証は OIDC Discovery (.well-known) をサポート | E-18 | ○ |
| C-17 | Cloudinary 連携は CDN 経由で JavaScript SDK をロード | E-20 | ○ |
| C-18 | Uploadcare 連携は JavaScript SDK で動作 | E-21 | ○ |
| C-19 | CI/CD は GitHub Actions で実行される | E-24, E-25, E-26 | ○ |
| C-20 | ユニットテストは 3 OS × 2 Node.js バージョンのマトリクスで実行 | E-24 | ○ |
| C-21 | E2E テストは Cypress で 4 マシン並列実行 | E-24 | ○ |
| C-22 | npm パブリッシュは OIDC Trusted Publishers で認証 | E-25 | ○ |
| C-23 | タグプッシュで GitHub Release が自動作成される | E-26 | ○ |
| C-24 | モノレポ管理は Lerna (independent versioning) + Nx | E-02, E-29 | ○ |
| C-25 | Nx キャッシュ (.nx/cache) でビルドを高速化 | E-24 | ○ |
| C-26 | decap-server のログは winston + morgan で出力 | E-03 | ○ |
| C-27 | ログレベルは環境変数 LOG_LEVEL で制御 | E-05 | ○ |
| C-28 | Netlify CDN によりフロントエンドが自動スケーリングされる | **根拠なし** | △ |
| C-29 | GitHub の SLA は 99.9% | **根拠なし** | △ |
| C-30 | Slack Webhook によるオンデマンドパブリッシュトリガーが存在する | E-27 | ○ |

## 4) 不足情報（Unknown / Missing）
- **Netlify CDN 構成の詳細**: netlify.toml にはビルド設定のみ記載。CDN エッジ構成やキャッシュ戦略はコードから確認不可
  - 候補：Netlify 公式ドキュメント / Netlify ダッシュボード設定 / 運用チームへのヒアリング
- **外部サービス SLA**: GitHub / GitLab 等の SLA 値はコードベースに含まれない
  - 候補：各サービスの SLA ドキュメント / サービスレベル契約書
- **本番環境のモニタリング設定**: Netlify の監視設定やアラート設定はコードから確認不可
  - 候補：Netlify ダッシュボード / 外部監視ツール設定

## 5) リスクフラグ（レビュー観点）
- **リスク 0 (低)**：コードから直接確認できるサーバー構成・パッケージ依存関係・CI/CD 設定は高い信頼性
- **リスク 1 (中)**：Slack Webhook 連携の `functions/publish.js` は Netlify Functions として動作するが、デプロイ設定の詳細は netlify.toml に明示されていない
- **リスク 1 (中)**：Netlify Large Media (Git LFS) のサポートは Git Gateway 実装から推測されるが、具体的な設定ファイルは確認不可
- **リスク 0 (低)**：認証方式の 3 系統は `decap-cms-lib-auth` のソースコードで明確に確認可能

## 6) レビュアーチェックリスト（最小）
- [ ] Netlify のデプロイ設定（ビルドコマンド、公開ディレクトリ等）が netlify.toml に不足していないか確認
- [ ] decap-server のポート 8081 が本番環境で露出していないことを確認
- [ ] GitHub Actions の OIDC Trusted Publishers 設定が npm アカウントと正しく紐付いているか確認
- [ ] Slack Webhook の ALLOWED_USERS 設定が適切に管理されているか確認
- [ ] 各 Git ホスティングサービスの OAuth アプリケーション設定が最新であることを確認
