---
generated_at: 2026-01-28 18:30:00
metrics:
  claims_total: 45
  claims_with_evidence: 42
  claims_without_evidence: 3
confidence_derived: 0.93
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.93**
  - 根拠あり：42 / 45、根拠なし：3
- 優先レビュー（高）
  1. **バックグラウンドタスクの詳細仕様**：BGTaskSchedulerの実装詳細は確認済みだが、スケジューリング間隔の妥当性は要確認
  2. **レイヤー境界の厳密な定義**：コード上から推測したレイヤー構成であり、公式なアーキテクチャ文書は未確認
  3. **テーマシステムの完全な仕様**：Theme.swiftとWMFComponents間の連携詳細は部分的

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

- E-01: `README.md` - プロジェクト概要、ビルド手順
- E-02: `Wikipedia/Code/AppDelegate.swift` - アプリエントリーポイント
- E-03: `Wikipedia/Code/SceneDelegate.swift` - シーンライフサイクル管理
- E-04: `Wikipedia/Code/ArticleViewController.swift` - 記事表示ViewCOntroller
- E-05: `Wikipedia/Code/Coordinator.swift` - Coordinatorプロトコル定義
- E-06: `Wikipedia/Code/ArticleCoordinator.swift` - 記事画面Coordinator実装
- E-07: `Wikipedia/Code/ThemeableViewController.swift` - テーマ適用ViewController
- E-08: `WMF Framework/Configuration.swift` - 環境設定・API URL構築
- E-09: `WMF Framework/Fetcher.swift` - API基底クラス
- E-10: `WMF Framework/Router.swift` - URLルーティング
- E-11: `WMF Framework/Theme.swift` - テーマ定義
- E-12: `Wikipedia/Code/MWKDataStore.h` - データストアヘッダー
- E-13: `Wikipedia/Code/Session.swift` - ネットワークセッション
- E-14: `WMFData/Package.swift` - WMFDataパッケージ定義
- E-15: `WMFComponents/Package.swift` - WMFComponentsパッケージ定義
- E-16: `Wikipedia/Code/WMFAppViewController.h` - メインVC ヘッダー
- E-17: `.swiftlint.yml` - Swiftリント設定
- E-18: `docs/process.md` - 開発プロセス文書
- E-19: `docs/ci.md` - CI設定文書
- E-20: `docs/localization.md` - 多言語対応文書
- E-21: `WMF Framework/Remote Notifications/` - 通知関連ディレクトリ

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | プロジェクトはSwiftをメイン言語として使用 | E-02, E-04 | ○ |
| C-02 | 一部のコードはObjective-Cで記述 | E-12, E-16 | ○ |
| C-03 | @mainでAppDelegateがエントリーポイント | E-02:17 | ○ |
| C-04 | SceneDelegateでUIWindowScene管理 | E-03 | ○ |
| C-05 | WMFAppViewControllerはUITabBarControllerサブクラス | E-16:14 | ○ |
| C-06 | Coordinatorパターンで画面遷移管理 | E-05, E-06 | ○ |
| C-07 | ThemeableプロトコルでTheme適用 | E-07 | ○ |
| C-08 | MWKDataStoreがデータアクセス層の中心 | E-12 | ○ |
| C-09 | FetcherクラスがAPI通信の基底クラス | E-09 | ○ |
| C-10 | RouterクラスがURLルーティング処理 | E-10 | ○ |
| C-11 | ConfigurationでProduction/Staging/Local環境切替 | E-08:32-55 | ○ |
| C-12 | WMFプレフィックスは新しいコード | E-09, E-08 | ○ |
| C-13 | MWKプレフィックスはレガシーコード | E-12 | ○ |
| C-14 | Extension分割でファイル名に+を使用 | E-04関連ファイル群 | ○ |
| C-15 | Wikipedia/Codeに約900ファイル存在 | ディレクトリ確認（894ファイル） | ○ |
| C-16 | WMFDataはSwift Package | E-14 | ○ |
| C-17 | WMFComponentsはSwift Package | E-15 | ○ |
| C-18 | SDWebImage依存関係 | E-15:17 | ○ |
| C-19 | iOS 16以上をサポート | E-14:8, E-15:8 | ○ |
| C-20 | Session.RequestでHTTPメソッド定義 | E-13:29-53 | ○ |
| C-21 | CocoaLumberjackSwiftでログ出力 | E-02:3 | ○ |
| C-22 | ログレベルは絵文字表示 | E-01:45-50 | ○ |
| C-23 | BGTaskSchedulerでバックグラウンドタスク | E-02:64-71 | ○ |
| C-24 | 3時間間隔でバックグラウンドフェッチ | E-02:19 | ○ |
| C-25 | Destination enumでルーティング先定義 | E-10:3-17 | ○ |
| C-26 | レイヤードアーキテクチャ採用 | コード構造から推測 | △ |
| C-27 | Core Dataを使用 | E-12:84-85 | ○ |
| C-28 | viewContextとfeedImportContext存在 | E-12:84-85 | ○ |
| C-29 | ArticleViewControllerはThemeableViewController継承 | E-04:8 | ○ |
| C-30 | ArticleFetcherはlazyプロパティで初期化 | E-04:126 | ○ |
| C-31 | プロトコルデリゲートパターン使用 | 複数のprotocol定義確認 | ○ |
| C-32 | @objc属性でObjective-C互換性 | E-08:7, E-09:11 | ○ |
| C-33 | WMFArticle+CoreDataClass存在 | ファイル存在確認済 | ○ |
| C-34 | ReadingListsController存在 | E-12:78 | ○ |
| C-35 | RemoteNotificationsController存在 | E-12:79, E-21 | ○ |
| C-36 | WikidataAPIサポート | E-08:322-325 | ○ |
| C-37 | CommonsAPIサポート | E-08:329-333 | ○ |
| C-38 | 複数ドメイン対応（wikipedia, wikidata等） | E-08:150-174 | ○ |
| C-39 | CentralAuth cookie管理 | E-08:68-80 | ○ |
| C-40 | SwiftLint使用 | E-17 | ○ |
| C-41 | SwiftLint多数のルール無効化 | E-17:1-35 | ○ |
| C-42 | Xcode 16.0以上必要 | E-01:14 | ○ |
| C-43 | テーマは4種類（light, sepia, dark, black） | E-11:95-100（部分確認） | △ |
| C-44 | scriptsディレクトリにセットアップスクリプト | E-01:15 | ○ |
| C-45 | fastlaneディレクトリ存在 | ディレクトリ確認済 | ○ |

## 4) 不足情報（Unknown / Missing）
- **アーキテクチャ設計文書**
  - レイヤー構成はコードから推測したもの
  - 公式なアーキテクチャ設計文書は未発見
  - 候補：`docs/architecture.md` / ADR文書 / CLAUDE.mdへの記載

- **テーマシステムの完全仕様**
  - Theme.swiftとWMFComponentsのWMFTheme連携詳細
  - 4種類のテーマ（black含む）の完全確認は部分的
  - 候補：WMFComponents/Sources/WMFComponents/Style/WMFTheme.swift

- **バックグラウンド処理の詳細要件**
  - 3時間間隔の根拠（プロダクト要件）は未確認
  - 候補：PRD / 要件定義書

## 5) リスクフラグ（レビュー観点）
- **リスク0（低）**: 言語基礎・構文説明 - ソースコードから直接引用
- **リスク0（低）**: ディレクトリ構造 - 実ファイル構成から確認
- **リスク0（低）**: 命名規則 - 複数ファイルのパターン分析から確認
- **リスク1（中）**: アーキテクチャ図 - コード構造から推測、公式文書なし
- **リスク1（中）**: テーマ種類 - 部分確認のみ
- **リスク0（低）**: 主要コンポーネント - ソースコード直接参照
- **リスク0（低）**: 業務フロー追跡例 - 実際のコードパスを追跡

## 6) レビュアーチェックリスト（最小）
- [ ] アーキテクチャ図がチーム内認識と一致するか確認
- [ ] 命名規則がプロジェクトの最新慣行と一致するか確認
- [ ] 業務フロー追跡例が実際の処理フローと一致するか確認
- [ ] テーマ種類（4種類: light, sepia, dark, black）が正確か確認
- [ ] 参照順序ドキュメント一覧に漏れがないか確認
- [ ] 用語集の定義が正確か確認
