---
generated_at: 2026-02-25 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. **Algolia 統合の詳細**: integrations reducer に統合フックの仕組みがあるが、Algolia 固有の設定は config.yml のサンプルで確認できず
  2. **Git LFS の具体的なバージョン**: Git Gateway で LFS 対応があるが、LFS プロトコルバージョンは明記されていない
  3. **AsyncLock の MAX_CONCURRENT_DOWNLOADS 値**: GitHub バックエンドのソースで Semaphore の存在は確認したが、定数値の実装詳細は推定

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

- E-01: `package.json`（ルート） - モノレポ設定、依存パッケージ、scripts
- E-02: `lerna.json` - Lerna 独立バージョン管理設定
- E-03: `nx.json` - Nx ビルドキャッシュ設定
- E-04: `packages/decap-cms/src/index.js` - エントリーポイント、自動初期化
- E-05: `packages/decap-cms-app/src/extensions.js` - 全プラグイン登録
- E-06: `packages/decap-cms-core/src/bootstrap.js` - アプリケーション初期化、React 19 createRoot
- E-07: `packages/decap-cms-core/src/redux/index.ts` - Redux Store 設定、Middleware
- E-08: `packages/decap-cms-core/src/reducers/combinedReducer.ts` - Reducer 結合
- E-09: `packages/decap-cms-core/src/reducers/auth.ts` - 認証状態管理
- E-10: `packages/decap-cms-core/src/reducers/config.ts` - 設定状態管理
- E-11: `packages/decap-cms-core/src/reducers/entries.ts` - エントリ状態管理
- E-12: `packages/decap-cms-core/src/reducers/medias.ts` - メディア状態管理
- E-13: `packages/decap-cms-core/src/reducers/notifications.ts` - 通知状態管理
- E-14: `packages/decap-cms-core/src/reducers/integrations.ts` - 統合設定管理
- E-15: `packages/decap-cms-core/src/actions/auth.ts` - 認証アクション
- E-16: `packages/decap-cms-core/src/actions/config.ts` - 設定読み込み、正規化、デフォルト適用
- E-17: `packages/decap-cms-core/src/actions/status.ts` - バックエンドステータス監視
- E-18: `packages/decap-cms-core/src/actions/media.ts` - メディアアセットアクション
- E-19: `packages/decap-cms-core/src/redux/middleware/waitUntilAction.ts` - カスタム Middleware
- E-20: `packages/decap-cms-core/src/routing/history.ts` - Hash History ルーティング
- E-21: `packages/decap-cms-core/src/lib/registry.js` - プラグインレジストリ
- E-22: `packages/decap-cms-core/src/lib/consoleError.js` - エラーログユーティリティ
- E-23: `packages/decap-cms-core/src/components/UI/ErrorBoundary.js` - React ErrorBoundary
- E-24: `packages/decap-cms-core/src/backend.ts` - バックエンド抽象化層
- E-25: `packages/decap-cms-core/src/valueObjects/AssetProxy.ts` - メディアアセットプロキシ
- E-26: `packages/decap-cms-core/src/formats/` - ファイルフォーマット処理
- E-27: `packages/decap-cms-backend-github/src/implementation.tsx` - GitHub バックエンド実装
- E-28: `packages/decap-cms-backend-github/src/API.ts` - GitHub REST API
- E-29: `packages/decap-cms-backend-github/src/GraphQLAPI.ts` - GitHub GraphQL API
- E-30: `packages/decap-cms-backend-git-gateway/src/implementation.ts` - Git Gateway 実装
- E-31: `packages/decap-cms-lib-auth/src/pkce-oauth.js` - PKCE OAuth 認証
- E-32: `packages/decap-cms-lib-auth/src/implicit-oauth.js` - Implicit OAuth 認証
- E-33: `packages/decap-cms-lib-auth/src/netlify-auth.js` - Netlify Auth 認証
- E-34: `packages/decap-cms-media-library-cloudinary/src/index.js` - Cloudinary 統合
- E-35: `packages/decap-cms-media-library-uploadcare/src/index.js` - Uploadcare 統合
- E-36: `babel.config.js` - Babel 設定
- E-37: `tsconfig.json` - TypeScript 設定
- E-38: `.eslintrc.js` - ESLint 設定
- E-39: `.prettierrc` - Prettier 設定
- E-40: `scripts/webpack.js` - Webpack 共通設定
- E-41: `jest.config.js` - Jest テスト設定
- E-42: `cypress.config.ts` - Cypress E2E テスト設定
- E-43: `dev-test/config.yml` - 開発テスト用 CMS 設定

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | Decap CMS は Lerna + Nx による 38 個の独立パッケージで構成されるモノレポ | E-01, E-02, E-03 | ○ |
| C-02 | React ^19.1.0 を使用し createRoot API でマウント | E-01, E-06 | ○ |
| C-03 | Redux + Redux Thunk による状態管理 | E-07, E-08 | ○ |
| C-04 | waitUntilAction カスタム Middleware の存在 | E-19 | ○ |
| C-05 | 9 種類の Git バックエンド実装が存在 | E-05, E-27, E-30 | ○ |
| C-06 | GitHub バックエンドは REST と GraphQL の両方をサポート | E-27, E-28, E-29 | ○ |
| C-07 | 15 種類のウィジェットパッケージが存在 | E-05 | ○ |
| C-08 | プラグインレジストリパターンによる拡張設計 | E-21 | ○ |
| C-09 | CMS.registerBackend() でバックエンドを登録可能 | E-21, E-05 | ○ |
| C-10 | CMS.registerWidget() でウィジェットを登録可能 | E-21, E-05 | ○ |
| C-11 | PKCE OAuth, Implicit OAuth, Netlify Auth の 3 認証方式 | E-31, E-32, E-33 | ○ |
| C-12 | Hash History ベースのルーティング | E-20 | ○ |
| C-13 | /collections/:name, /collections/:name/new, /collections/:name/entries/:slug の URL パターン | E-20 | ○ |
| C-14 | ErrorBoundary による React レンダリングエラー捕捉 | E-23 | ○ |
| C-15 | ErrorBoundary に GitHub Issue テンプレート生成機能 | E-23 | ○ |
| C-16 | localForage によるドラフトバックアップ | E-23 | ○ |
| C-17 | console.log/error/warn ベースのロギング | E-06, E-16, E-21, E-22 | ○ |
| C-18 | YAML, TOML, JSON, Frontmatter のファイルフォーマット対応 | E-26 | ○ |
| C-19 | Emotion（CSS-in-JS）によるスタイリング | E-01, E-36, E-38 | ○ |
| C-20 | Webpack ^5.75.0 によるビルド | E-01, E-40 | ○ |
| C-21 | UMD と ESM の 2 形式でビルド出力 | E-40 | ○ |
| C-22 | Jest + Cypress の 2 層テスト戦略 | E-41, E-42 | ○ |
| C-23 | Conventional Commits による自動バージョニング | E-02 | ○ |
| C-24 | TypeScript strict モードでの段階的移行 | E-37 | ○ |
| C-25 | Immutable.js + Immer による不変状態管理 | E-01, E-09 | ○ |
| C-26 | Cloudinary と Uploadcare のメディアライブラリ統合 | E-34, E-35 | ○ |
| C-27 | AssetProxy クラスによるメディアアセット管理 | E-25 | ○ |
| C-28 | Redux DevTools Extension 統合 | E-07 | ○ |
| C-29 | Open Authoring（フォークベース編集）対応 | E-15, E-27 | ○ |
| C-30 | Editorial Workflow（PR ベースレビュー）対応 | E-27, E-16 | ○ |
| C-31 | react-polyglot ベースの多言語対応 | E-06 | ○ |
| C-32 | decap-cms → decap-cms-app → decap-cms-core の 3 層パッケージ階層 | E-04, E-05, E-06 | ○ |
| C-33 | 設定は config.yml から読み込み、正規化、デフォルト適用の 3 段階で処理 | E-16 | ○ |
| C-34 | ローカルバックエンド（Proxy Server）の自動検出機能 | E-16 | ○ |
| C-35 | notifications Reducer による UUID ベースのトースト通知管理 | E-13 | ○ |
| C-36 | ESLint import/order ルールによる import 順序規約 | E-38 | ○ |
| C-37 | Prettier singleQuote: true, trailingComma: "all", printWidth: 100 | E-39 | ○ |
| C-38 | バックエンドステータスの定期監視と通知 | E-17 | ○ |
| C-39 | Git Gateway での LFS（Large File Storage）サポート | E-30 | ○ |
| C-40 | Algolia を integrations として検索統合可能 | E-14 | △ |
| C-41 | Git LFS のバージョンはバックエンド依存 | **根拠なし** | △ |
| C-42 | GitHub バックエンドの並行ダウンロード制限（MAX_CONCURRENT_DOWNLOADS = 10） | E-27 | △ |

## 4) 不足情報（Unknown / Missing）
- **C-40: Algolia 統合の具体的設定**
  - `reducers/integrations.ts` で integrations フックの仕組みは確認できるが、Algolia 固有の設定例や実際のプロダクション使用例は dev-test/config.yml に含まれていない
  - 候補：公式ドキュメント / 実際の config.yml サンプル / Algolia 統合テスト
- **C-41: Git LFS プロトコルバージョン**
  - Git Gateway バックエンドで LFS 対応コードは確認できるが、LFS プロトコルの具体的なバージョンはソースコードから確定できない
  - 候補：Git Gateway サーバー側実装 / .gitattributes ファイル / LFS クライアントライブラリ
- **C-42: MAX_CONCURRENT_DOWNLOADS の定数値**
  - GitHub バックエンド実装で Semaphore/AsyncLock の使用は確認したが、具体的な最大同時ダウンロード数の定数値は確認が必要
  - 候補：`packages/decap-cms-backend-github/src/implementation.tsx` の定数定義部分

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**: コアアーキテクチャ（Redux Store、レイヤー構成、パッケージ階層）に関する主張はすべてソースコードで直接確認済み
- **0（低リスク）**: 認証方式（PKCE/Implicit/Netlify Auth）は lib-auth パッケージのソースコードで直接確認済み
- **1（中リスク）**: 外部統合（Algolia、Git LFS）に関する記述は実装コードから推定した部分があり、実際のプロダクション設定との差異がある可能性
- **0（低リスク）**: ビルド・テスト設定はすべて設定ファイルから直接読み取り

## 6) レビュアーチェックリスト（最小）
- [ ] レイヤー構成（Presentation/Application/Domain/Infrastructure）がコードの実態と一致しているか
- [ ] 38 パッケージの分類（Backend/Widget/UI/Auth/Utility）が正確か
- [ ] 認証フローの記述が実際の OAuth 実装と整合しているか
- [ ] Editorial Workflow のブランチ・PR フローが正確か
- [ ] Algolia 統合の記述が実際の使用状況と一致しているか（△ 項目）
- [ ] MAX_CONCURRENT_DOWNLOADS の値が実装と一致しているか（△ 項目）
