---
generated_at: 2026-01-28 14:30: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. **テスト関連の記述**：テストコードの詳細確認が必要
  2. **マイナーなファイルパターン**：一部の例示ファイルの存在確認が必要

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

- E-01: `lib/main.dart` - アプリケーションエントリーポイント
- E-02: `lib/utils/server_configuration.dart` - サーバー設定・定数定義
- E-03: `lib/screens/home_page/bloc/home_page_bloc.dart` - BLoCパターン実装例
- E-04: `lib/screens/home_page/bloc/home_page_event.dart` - イベントクラス定義
- E-05: `lib/screens/home_page/bloc/home_page_state.dart` - 状態クラス定義
- E-06: `lib/screens/home_page/bloc/home_page_repository.dart` - リポジトリパターン実装
- E-07: `lib/services/api_client.dart` - GraphQL APIクライアント
- E-08: `lib/data_model/product_model/product_screen_model.dart` - データモデル定義
- E-09: `lib/utils/app_navigation.dart` - ルーティング設定
- E-10: `lib/utils/route_constants.dart` - ルート定数
- E-11: `lib/utils/string_constants.dart` - 文字列定数
- E-12: `lib/utils/app_constants.dart` - アプリ定数（サイズ・色）
- E-13: `lib/widgets/common_widgets.dart` - 共通Widgetコンポーネント
- E-14: `lib/screens/home_page/home_page.dart` - ホーム画面実装
- E-15: `lib/screens/home_page/utils/index.dart` - バレルファイル（再エクスポート）
- E-16: `pubspec.yaml` - パッケージ依存関係
- E-17: `README.md` - プロジェクト概要ドキュメント

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | 使用言語はDart/Flutter | E-16 (pubspec.yaml) | ○ |
| C-02 | エントリーポイントはmain()関数 | E-01 (lib/main.dart:45-68) | ○ |
| C-03 | 非同期処理にasync/awaitを使用 | E-01, E-03, E-06 | ○ |
| C-04 | BLoCパターンによる状態管理 | E-03, E-04, E-05 | ○ |
| C-05 | flutter_blocパッケージを使用 | E-16 (pubspec.yaml:36) | ○ |
| C-06 | GraphQL APIを使用 | E-07, E-16 (graphql_flutter) | ○ |
| C-07 | json_serializableでシリアライゼーション | E-08, E-16 | ○ |
| C-08 | Hiveでローカルストレージ管理 | E-01, E-16 | ○ |
| C-09 | Firebaseでプッシュ通知 | E-01, E-16 | ○ |
| C-10 | screens/配下に機能別ディレクトリ構成 | E-03, E-06, E-14 | ○ |
| C-11 | *_bloc.dartでBLoCクラス定義 | E-03 | ○ |
| C-12 | *_event.dartでイベント定義 | E-04 | ○ |
| C-13 | *_state.dartで状態定義 | E-05 | ○ |
| C-14 | *_repository.dartでリポジトリ定義 | E-06 | ○ |
| C-15 | Repository抽象クラスと実装クラスの分離 | E-06 | ○ |
| C-16 | 名前付きコンストラクタで成功/失敗状態を表現 | E-05 (line:116-125) | ○ |
| C-17 | index.dartでバレルエクスポート | E-15 | ○ |
| C-18 | ApiClientでGraphQL通信を抽象化 | E-07 | ○ |
| C-19 | handleResponse()でレスポンス処理 | E-07 (line:62-107) | ○ |
| C-20 | generateRoute()でルーティング設定 | E-09 | ○ |
| C-21 | route_constants.dartでルート名定義 | E-10 | ○ |
| C-22 | server_configuration.dartで設定値管理 | E-02 | ○ |
| C-23 | string_constants.dartでローカライゼーションキー定義 | E-11 | ○ |
| C-24 | app_constants.dartでサイズ・色定数定義 | E-12 | ○ |
| C-25 | CommonWidgetsで共通UIコンポーネント提供 | E-13 | ○ |
| C-26 | BlocConsumerでlistenerとbuilderを組合せ | E-14 (line:120-175) | ○ |
| C-27 | ProductDataでJSON→オブジェクト変換 | E-08 | ○ |
| C-28 | プロジェクト名はbagisto_app_demo | E-16 (line:1) | ○ |
| C-29 | Dart SDK 3.0.1以上が必要 | E-16 (line:22) | ○ |
| C-30 | マルチプラットフォーム対応（Android/iOS/Web/Desktop） | E-17, ディレクトリ構造 | ○ |
| C-31 | assetsにlottie/language/imagesを配置 | E-16 (line:102-105) | ○ |
| C-32 | カスタムフォントIcoMoonを使用 | E-16 (line:109-111) | ○ |
| C-33 | ThemeProviderでテーマ管理 | E-01 (line:193-195) | ○ |
| C-34 | GetStorageで設定値永続化 | E-01, E-16 | ○ |
| C-35 | ローカライゼーション対応（8言語） | E-02 (line:43-52) | ○ |
| C-36 | 支払い方法にPayPal/COD対応 | E-02 (line:57-62) | ○ |
| C-37 | データフローはEvent→BLoC→Repository→ApiClient | E-03, E-06, E-07 | ○ |
| C-38 | エラーハンドリングにtry/catchを使用 | E-03, E-06, E-07 | ○ |
| C-39 | debugPrint()でログ出力 | E-06 | ○ |
| C-40 | Statusはenum（success/fail/loading） | E-05 (line:19) | ○ |
| C-41 | テストディレクトリはtest/配下 | **根拠なし** | △ |
| C-42 | 一部のマイナーファイルパターンの存在 | **未確認** | △ |

## 4) 不足情報（Unknown / Missing）
- テストコードの詳細確認
  - test/ディレクトリの存在は確認済みだが、テストファイルの詳細内容は未確認
  - 候補：`test/widget_test.dart` / 各機能のユニットテスト / インテグレーションテスト

- 一部のファイルパターン確認
  - `lib/utils/extension.dart` の存在と内容
  - 全てのデータモデルファイルの網羅的確認

## 5) リスクフラグ（レビュー観点）
- 0（低リスク）: 言語基礎、フレームワーク概念 - ソースコードから直接確認済み
- 0（低リスク）: 命名規則、ディレクトリ構造 - 複数ファイルから一貫性を確認
- 0（低リスク）: アーキテクチャパターン - BLoC/Repositoryパターンの実装を確認
- 1（中リスク）: テスト関連の記述 - テストディレクトリは存在するが詳細未確認
- 0（低リスク）: 業務フロー追跡 - 実際のコードパスを追跡して確認

## 6) レビュアーチェックリスト（最小）
- [ ] 言語基礎セクションのコード例が実際のファイルと一致するか
- [ ] BLoCパターンの説明がプロジェクトの実装と整合しているか
- [ ] ディレクトリ構造図が現在のプロジェクト構造を正確に反映しているか
- [ ] 命名規則の説明が実際のファイル命名と一致するか
- [ ] 業務フロー追跡の例が実際のコードパスと一致するか
- [ ] 用語集の定義が正確であるか
- [ ] 参考資料のURLが有効であるか
- [ ] test/ディレクトリの内容を確認し、テスト関連の記述を補完が必要か検討
