---
generated_at: 2026-02-26 12:00:00
metrics:
  claims_total: 42
  claims_with_evidence: 40
  claims_without_evidence: 2
confidence_derived: 0.95
---

# 根拠レポート：コードリーディングガイドライン

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.95**
  - 根拠あり：40 / 42、根拠なし：2
- 優先レビュー（高）
  1. **GitHub API の具体的なエンドポイント呼び出し順序**：API.ts の詳細な内部フローは推定に基づく
  2. **Editorial Workflow のステータス遷移の詳細**：概要レベルの記述のため、実装の詳細は要確認

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

- E-01: `packages/decap-cms/src/index.js`（ブラウザエントリーポイント）
- E-02: `packages/decap-cms-app/src/index.js`（アプリ層エントリー）
- E-03: `packages/decap-cms-app/src/extensions.js`（プラグイン一括登録）
- E-04: `packages/decap-cms-core/src/index.js`（コアエントリー）
- E-05: `packages/decap-cms-core/src/bootstrap.js`（初期化ロジック）
- E-06: `packages/decap-cms-core/src/redux/index.ts`（Redux Store 設定）
- E-07: `packages/decap-cms-core/src/reducers/index.ts`（Reducer 集約）
- E-08: `packages/decap-cms-core/src/reducers/combinedReducer.ts`（combinedReducer）
- E-09: `packages/decap-cms-core/src/reducers/auth.ts`（auth Reducer）
- E-10: `packages/decap-cms-core/src/actions/entries.ts`（エントリーアクション）
- E-11: `packages/decap-cms-core/src/components/App/App.js`（メインAppコンポーネント）
- E-12: `packages/decap-cms-core/src/routing/history.ts`（ルーティング）
- E-13: `packages/decap-cms-core/src/formats/formats.ts`（フォーマット解決）
- E-14: `packages/decap-cms-core/src/lib/registry.js`（レジストリ）
- E-15: `packages/decap-cms-core/src/backend.ts`（Backendクラス）
- E-16: `packages/decap-cms-lib-util/src/implementation.ts`（Implementationインターフェース）
- E-17: `packages/decap-cms-backend-github/src/implementation.tsx`（GitHubバックエンド実装）
- E-18: `packages/decap-cms-widget-string/src/StringControl.js`（Stringウィジェット）
- E-19: `packages/decap-cms-widget-string/src/index.js`（ウィジェットエクスポート）
- E-20: `package.json`（ルートパッケージ設定）
- E-21: `tsconfig.json`（TypeScript設定）
- E-22: `babel.config.js`（Babel設定）
- E-23: `jest.config.js`（Jest設定）
- E-24: `lerna.json`（Lerna設定）

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | プロジェクトは JavaScript/TypeScript の混在構成である | E-20, E-21 | ○ |
| C-02 | Babel でトランスパイルされる | E-22 | ○ |
| C-03 | ファイル先頭に外部パッケージ、その後にプロジェクト内モジュールを配置する慣習がある | E-05, E-11, E-15 | ○ |
| C-04 | TypeScript の型定義が使われている | E-09, E-16 | ○ |
| C-05 | Redux の Reducer で switch 文が使われている | E-09 | ○ |
| C-06 | Immer の produce で immutable な状態更新を実現している | E-09 | ○ |
| C-07 | アプリケーションの起点は bootstrap() 関数である | E-05 | ○ |
| C-08 | bootstrap() は loadConfig → authenticateUser の順で実行される | E-05 | ○ |
| C-09 | React 19 対応済みのクラスコンポーネントが主流である | E-11, E-18 | ○ |
| C-10 | Redux Store は createStore で作成され、thunkMiddleware と waitUntilAction をミドルウェアとして持つ | E-06 | ○ |
| C-11 | Immutable.js の Map/List が一部の Reducer で使われている | E-07, E-10 | ○ |
| C-12 | Emotion の styled でスタイリングしている | E-11 | ○ |
| C-13 | グローバルレジストリパターンでプラグインを管理している | E-14 | ○ |
| C-14 | レジストリに backends, widgets, templates, locales 等が格納される | E-14 | ○ |
| C-15 | パッケージ名は decap-cms-{category}-{name} の形式 | E-20 | ○ |
| C-16 | アクション定数は SCREAMING_SNAKE_CASE で REQUEST/SUCCESS/FAILURE の三点セット | E-10 | ○ |
| C-17 | セレクターは select プレフィックスを持つ | E-07 | ○ |
| C-18 | ウィジェットコンポーネントは {Name}Control / {Name}Preview の命名 | E-18, E-19 | ○ |
| C-19 | モノレポ構成で packages/ 配下にパッケージが配置される | E-20 | ○ |
| C-20 | Lerna で独立バージョン管理されている | E-24 | ○ |
| C-21 | Nx でビルドキャッシュを制御している | E-20 | ○ |
| C-22 | decap-cms → decap-cms-app → decap-cms-core の3層構造 | E-01, E-02, E-04 | ○ |
| C-23 | extensions.js で9つのバックエンドと15のウィジェットが登録される | E-03 | ○ |
| C-24 | registerBackend で backends[name] に init 関数を格納する | E-14 | ○ |
| C-25 | registerWidget で widgets[name] に control/preview/schema を格納する | E-14 | ○ |
| C-26 | Implementation インターフェースが全バックエンドの契約である | E-16 | ○ |
| C-27 | Backend クラスが Implementation をラップする共通アダプタである | E-15 | ○ |
| C-28 | ハッシュベースの SPA ルーティングを使用している | E-12 | ○ |
| C-29 | ルーティングは /collections/:name, /collections/:name/new, /collections/:name/entries/* | E-11 | ○ |
| C-30 | Editorial Workflow 有効時に /workflow ルートが追加される | E-11 | ○ |
| C-31 | フォーマット解決は extensionFormatters で拡張子から行われる | E-13 | ○ |
| C-32 | YAML, TOML, JSON, Frontmatter のフォーマットをサポート | E-13 | ○ |
| C-33 | ウィジェットは { name, controlComponent, previewComponent } の形式で登録される | E-19 | ○ |
| C-34 | ウィジェットのControlコンポーネントは onChange, value, forID 等の共通 Props を持つ | E-18 | ○ |
| C-35 | connect(mapStateToProps, mapDispatchToProps) で Redux と React を接続する | E-11 | ○ |
| C-36 | auth Reducer は isFetching, user, error の3プロパティを管理する | E-09 | ○ |
| C-37 | 15の Reducer（auth, config, collections, entries, etc.）が combinedReducer で統合される | E-07, E-08 | ○ |
| C-38 | イベントフックとして preSave, postSave, prePublish, postPublish 等がサポートされる | E-14 | ○ |
| C-39 | resolveWidget は未登録ウィジェット名に対して 'unknown' ウィジェットを返す | E-14 | ○ |
| C-40 | navigateToCollection, navigateToEntry, navigateToNewEntry の3関数でナビゲーションを行う | E-12 | ○ |
| C-41 | GitHub API で blob → tree → commit → ref update の順でコミットを作成する | E-17 | △ |
| C-42 | Editorial Workflow は Draft → In Review → Ready のステータスで管理される | **根拠なし** | △ |

## 4) 不足情報（Unknown / Missing）
- C-41: GitHub バックエンドの API.ts の内部実装を詳細に確認する必要がある。implementation.tsx からの呼び出しは確認済みだが、API.ts 内の具体的なメソッドチェーンの詳細は推定を含む
  - 候補：`packages/decap-cms-backend-github/src/API.ts` の `persistFiles` メソッドの詳細確認
- C-42: Editorial Workflow のステータス遷移は概要レベルの記述であり、publishModes.ts の定数や editorialWorkflow Reducer の詳細と照合する必要がある
  - 候補：`packages/decap-cms-core/src/constants/publishModes.ts` / `packages/decap-cms-core/src/reducers/editorialWorkflow.ts`

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク — 全体構造、命名規則、ディレクトリ構成の記述は全て実ファイルから直接確認済み
- 0: 低リスク — Redux アーキテクチャの記述は auth.ts, entries.ts 等の実コードに基づく
- 0: 低リスク — レジストリパターンは registry.js のソースコードに完全に基づく
- 1: 中リスク — GitHub API の具体的な呼び出し順序は API.ts の全文確認が望ましい
- 0: 低リスク — ウィジェットパターンは StringControl.js, StringPreview.js の実コードに基づく

## 6) レビュアーチェックリスト（最小）
- [ ] セクション1（言語基礎）のコード例が実際のファイルの該当行と一致するか確認
- [ ] セクション4（ディレクトリ構造）が現在のリポジトリ構成と一致するか `ls packages/` で確認
- [ ] セクション5（アーキテクチャ）の初期化フローが bootstrap.js の実装と一致するか確認
- [ ] セクション7（よく使われるパターン）の各パターン説明が正確か、代表ファイルを開いて確認
- [ ] セクション8（業務フロー追跡）の保存フローが actions/entries.ts → backend.ts → implementation.tsx の実際の呼び出しチェーンと一致するか確認
- [ ] C-41（GitHub API コミット作成順序）について API.ts の persistFiles メソッドを確認
- [ ] C-42（Editorial Workflow ステータス遷移）について publishModes.ts と editorialWorkflow.ts を確認
