---
generated_at: 2026-01-29 18:30:00
metrics:
  claims_total: 45
  claims_with_evidence: 43
  claims_without_evidence: 2
confidence_derived: 0.96
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.96**
  - 根拠あり：43 / 45、根拠なし：2
- 優先レビュー（高）
  1. **アーキテクチャ図のMermaid表現**：図の正確性は視覚的確認が必要
  2. **設計書参照順序**：既存ドキュメント構成の正確性要確認

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

- E-01: `composer.json` - PHP/Symfony依存関係、バージョン情報
- E-02: `src/Core/Content/Product/ProductEntity.php` - Entityクラス実装
- E-03: `src/Core/Content/Product/ProductDefinition.php` - Definition実装
- E-04: `src/Storefront/Controller/ProductController.php` - Controllerパターン
- E-05: `src/Storefront/Controller/StorefrontController.php` - 基底Controller
- E-06: `src/Core/Framework/Api/Controller/ApiController.php` - API Controller
- E-07: `config/bundles.php` - バンドル登録
- E-08: `src/Core/` ディレクトリ構造
- E-09: `src/Storefront/` ディレクトリ構造
- E-10: `src/Administration/` ディレクトリ構造
- E-11: `*Subscriber.php` ファイル群 - イベントサブスクライバ実装
- E-12: `*Definition.php` ファイル群 - エンティティ定義パターン

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | PHP 8.2以上で動作する | E-01 (composer.json: "php": "~8.2.0 \|\| ~8.3.0 \|\| ~8.4.0 \|\| ~8.5.0") | ○ |
| C-02 | strict_typesを宣言している | E-02 (ProductEntity.php:1 `declare(strict_types=1)`) | ○ |
| C-03 | Symfony 7.4をベースに構築 | E-01 (composer.json: "symfony/*": "~7.4.0") | ○ |
| C-04 | ProductEntityのプロパティ定義 | E-02 (ProductEntity.php:47-79) | ○ |
| C-05 | コンストラクタプロモーションを使用 | E-04 (ProductController.php:43-51) | ○ |
| C-06 | useステートメントでインポート | E-02 (ProductEntity.php:5-39) | ○ |
| C-07 | EntityDefinitionでスキーマ定義 | E-03 (ProductDefinition.php:81-94) | ○ |
| C-08 | #[Package]アトリビュート使用 | E-03 (ProductDefinition.php:80) | ○ |
| C-09 | #[Route]アトリビュート使用 | E-04 (ProductController.php:53-58) | ○ |
| C-10 | フィールドにフラグを追加 | E-03 (ProductDefinition.php:141-149) | ○ |
| C-11 | *Definition.phpがエンティティ定義 | E-12 (複数のDefinitionファイル存在) | ○ |
| C-12 | *Entity.phpがエンティティクラス | E-02 (ProductEntity存在) | ○ |
| C-13 | *Controller.phpがコントローラ | E-04, E-05, E-06 (複数Controller存在) | ○ |
| C-14 | *Subscriber.phpがイベントサブスクライバ | E-11 (ProductSubscriber.php等多数存在) | ○ |
| C-15 | src/Core/がコアバンドル | E-08 (ディレクトリ存在確認) | ○ |
| C-16 | src/Storefront/がフロントエンド | E-09 (ディレクトリ存在確認) | ○ |
| C-17 | src/Administration/が管理画面 | E-10 (ディレクトリ存在確認) | ○ |
| C-18 | src/Elasticsearch/が検索機能 | E-07, ディレクトリ存在 | ○ |
| C-19 | バンドルがbundles.phpで登録 | E-07 (bundles.php:5-21) | ○ |
| C-20 | Framework, System, Content, Checkoutバンドル存在 | E-07 (bundles.php内の定義) | ○ |
| C-21 | ProductControllerのルート定義 | E-04 (ProductController.php:53-58) | ○ |
| C-22 | renderStorefrontメソッド存在 | E-05 (StorefrontController.php:67-110) | ○ |
| C-23 | SalesChannelContextを使用 | E-04 (ProductController.php:59) | ○ |
| C-24 | hookメソッドで拡張ポイント提供 | E-04 (ProductController.php:63) | ○ |
| C-25 | DefinitionInstanceRegistryでRepository取得 | E-06 (ApiController.php:92-96) | ○ |
| C-26 | Criteriaで検索条件構築 | E-06 (ApiController.php:224-227) | ○ |
| C-27 | EntityWrittenContainerEventで書き込みイベント | E-06 (ApiController.php:92) | ○ |
| C-28 | Context.scopeでスコープ制御 | E-06 (ApiController.php:92-96) | ○ |
| C-29 | try-catchでJSONパースエラー処理 | E-04 (ProductController.php:87-91) | ○ |
| C-30 | foreachでのイテレーション | E-06 (ApiController.php:837-860) | ○ |
| C-31 | AssociationFieldで関連定義 | E-03 (ProductDefinition.php:211-269) | ○ |
| C-32 | ManyToManyAssociationField存在 | E-03 (ProductDefinition.php:255-267) | ○ |
| C-33 | OneToManyAssociationField存在 | E-03 (ProductDefinition.php:231-254) | ○ |
| C-34 | ManyToOneAssociationField存在 | E-03 (ProductDefinition.php:215-229) | ○ |
| C-35 | TranslatedFieldで多言語対応 | E-03 (ProductDefinition.php:200-209) | ○ |
| C-36 | IdFieldでUUID管理 | E-03 (ProductDefinition.php:141) | ○ |
| C-37 | PriceFieldで価格管理 | E-03 (ProductDefinition.php:159) | ○ |
| C-38 | ApiAwareフラグでAPI公開制御 | E-03 (ProductDefinition.php:141) | ○ |
| C-39 | Inheritedフラグで継承制御 | E-03 (ProductDefinition.php:146) | ○ |
| C-40 | CascadeDeleteフラグで削除連鎖 | E-03 (ProductDefinition.php:198) | ○ |
| C-41 | WriteProtectedフラグで書き込み保護 | E-03 (ProductDefinition.php:164) | ○ |
| C-42 | モジュラーモノリスアーキテクチャ | **根拠なし** | △ |
| C-43 | アーキテクチャ図（Mermaid） | **根拠なし**（図は推論に基づく） | △ |
| C-44 | Store API Routeパターン存在 | E-04 (ProductController内のRoute定義) | ○ |
| C-45 | PageLoaderパターン存在 | E-04 (ProductController.php:61 productPageLoader参照) | ○ |

## 4) 不足情報（Unknown / Missing）
- **C-42 モジュラーモノリスアーキテクチャ**
  - 理由：アーキテクチャパターン名は明示的なドキュメントで確認できず、構造から推測
  - 候補：Shopware公式ドキュメント / アーキテクチャ決定記録(ADR) / 開発者ブログ

- **C-43 アーキテクチャ図**
  - 理由：Mermaid図は実際のコード構造から推論して作成
  - 候補：既存のアーキテクチャ図 / PlantUMLファイル / 設計書

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 言語基礎セクション（コードから直接引用）
- **0: 低リスク** - 命名規則セクション（ファイル検索で検証済み）
- **0: 低リスク** - ディレクトリ構造セクション（実際の構造と照合済み）
- **1: 中リスク** - アーキテクチャセクション（図表現の正確性）
- **0: 低リスク** - 主要コンポーネントセクション（コードから引用）
- **0: 低リスク** - パターンセクション（コードから引用）
- **0: 低リスク** - 業務フロー追跡セクション（実際のコードパスを追跡）
- **1: 中リスク** - 設計書参照順序（既存ドキュメント構成の確認が必要）

## 6) レビュアーチェックリスト（最小）
- [ ] PHP/Symfony バージョン情報が最新か確認
- [ ] ディレクトリ構造が実際の構造と一致しているか確認
- [ ] コード例のファイルパスと行番号が正確か確認
- [ ] アーキテクチャ図がプロジェクトの実態を反映しているか確認
- [ ] 命名規則が実際のコーディング規約と一致しているか確認
- [ ] 用語集の定義が正確か確認
- [ ] 参照ドキュメントパスが実在するか確認
- [ ] トラブルシューティングのコマンドが動作するか確認
