---
generated_at: 2026-02-24 10:30:00
metrics:
  claims_total: 120
  claims_with_evidence: 118
  claims_without_evidence: 2
confidence_derived: 0.98
---

# 根拠レポート：caching モジュール単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.98**
  - 根拠あり：118 / 120、根拠なし：2
- 優先レビュー（高）
  1. **C-031 onApplicationStart のスキーマ初期化**：MedusaModule.getAllJoinerConfigs の挙動は外部依存
  2. **C-120 loadHash の xxhash-wasm ロード**：動的インポートの非同期処理

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

- E-01: `packages/modules/caching/src/services/cache-module.ts`（CachingModuleServiceクラス定義）
- E-02: `packages/modules/caching/src/services/cache-provider.ts`（CacheProviderServiceクラス定義）
- E-03: `packages/modules/caching/src/providers/memory-cache.ts`（MemoryCachingProviderクラス定義）
- E-04: `packages/modules/caching/src/utils/parser.ts`（CacheInvalidationParserクラス定義）
- E-05: `packages/modules/caching/src/utils/strategy.ts`（DefaultCacheStrategyクラス定義）
- E-06: `packages/modules/caching/src/loaders/providers.ts`（プロバイダーローダー定義）
- E-07: `packages/modules/caching/src/loaders/hash.ts`（ハッシュローダー定義）
- E-08: `packages/modules/caching/src/types/index.ts`（型定義）
- E-09: `packages/modules/caching/src/utils/__tests__/parser.test.ts`（既存テスト）
- E-10: `packages/modules/caching/src/index.ts`（モジュールエクスポート）

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-001 | CachingModuleService コンストラクタ初期化 | E-01 L45-67 | ○ |
| C-002 | TTL オプション設定反映 | E-01 L59-64 | ○ |
| C-003 | デフォルト TTL 3600秒適用 | E-01 L11, L64 | ○ |
| C-004 | キー指定でキャッシュ値取得 | E-01 L145-155, L157-190 | ○ |
| C-005 | タグ指定でキャッシュ値取得 | E-01 L145-155, L157-190 | ○ |
| C-006 | key/tags 未指定時エラー | E-01 L166-171 | ○ |
| C-007 | キャッシュミス時 null 返却 | E-01 L192-216 | ○ |
| C-008 | 重複リクエスト排除 | E-01 L173-189 | ○ |
| C-009 | 複数プロバイダー順次チェック | E-01 L197-215 | ○ |
| C-010 | プロバイダーエラーフォールバック | E-01 L207-211 | ○ |
| C-011 | traceGet 経由実行 | E-01 L146-154 | ○ |
| C-012 | キャッシュ設定基本機能 | E-01 L218-236 | ○ |
| C-013 | TTL 指定設定 | E-01 L298-318 | ○ |
| C-014 | タグ指定設定 | E-01 L263, L298-318 | ○ |
| C-015 | key 空でエラー | E-01 L255-259 | ○ |
| C-016 | 自動タグ計算 | E-01 L263 | ○ |
| C-017 | 複数プロバイダー設定 | E-01 L265-272, L298-318 | ○ |
| C-018 | traceSet 経由実行 | E-01 L226-235 | ○ |
| C-019 | キー指定クリア | E-01 L321-337 | ○ |
| C-020 | タグ指定クリア | E-01 L321-337 | ○ |
| C-021 | key/tags 未指定時エラー (clear) | E-01 L352-357 | ○ |
| C-022 | autoInvalidate オプション | E-01 L377-394 | ○ |
| C-023 | traceClear 経由実行 | E-01 L327-336 | ○ |
| C-024 | computeKey 関数 | E-01 L396-398 | ○ |
| C-025 | computeTags 関数 | E-01 L400-405 | ○ |
| C-026 | normalizeProviders 文字列正規化 | E-01 L114-121 | ○ |
| C-027 | normalizeProviders オブジェクト | E-01 L114-121 | ○ |
| C-028 | getRequestKey 生成 | E-01 L123-132 | ○ |
| C-029 | getRequestKey 空値処理 | E-01 L123-132 | ○ |
| C-030 | getClearRequestKey prefix | E-01 L134-143 | ○ |
| C-031 | onApplicationStart スキーマ初期化 | E-01 L81-104 | △ |
| C-032 | onApplicationShutdown | E-01 L106-108 | ○ |
| C-033 | CacheProviderService constructor | E-02 L18-23 | ○ |
| C-034 | console フォールバックロガー | E-02 L20-22 | ○ |
| C-035 | getRegistrationIdentifier 取得 | E-02 L25-35 | ○ |
| C-036 | identifier 未設定エラー | E-02 L28-32 | ○ |
| C-037 | retrieveProvider 取得 | E-02 L37-59 | ○ |
| C-038 | 未登録プロバイダーエラー | E-02 L42-58 | ○ |
| C-039 | AwilixResolutionError ハンドリング | E-02 L43-52 | ○ |
| C-040 | MemoryCachingProvider constructor | E-03 L27-62 | ○ |
| C-041 | オプション適用 | E-03 L32-43 | ○ |
| C-042 | デフォルトオプション | E-03 L37-43 | ○ |
| C-043 | maxSize 設定 | E-03 L33 | ○ |
| C-044 | maxSize デフォルト 300MB | E-03 L5, L33 | ○ |
| C-045 | MemoryCachingProvider get (key) | E-03 L106-139 | ○ |
| C-046 | get キャッシュミス | E-03 L109 | ○ |
| C-047 | get (tags) | E-03 L112-136 | ○ |
| C-048 | タグ空時空配列 | E-03 L123-125 | ○ |
| C-049 | key/tags 未指定時 null | E-03 L138 | ○ |
| C-050 | set 基本機能 | E-03 L141-205 | ○ |
| C-051 | set TTL 指定 | E-03 L172-173 | ○ |
| C-052 | set タグ設定 | E-03 L176-190 | ○ |
| C-053 | タグ参照クリーンアップ (更新時) | E-03 L178 | ○ |
| C-054 | entryOptions 保存 | E-03 L193-198 | ○ |
| C-055 | メモリ使用量追跡 | E-03 L201-204 | ○ |
| C-056 | メモリ制限 | E-03 L157-164 | ○ |
| C-057 | clear (key) | E-03 L207-281, L218-221 | ○ |
| C-058 | clear (tags) | E-03 L224-279 | ○ |
| C-059 | ワイルドカード全クリア | E-03 L226-231 | ○ |
| C-060 | autoInvalidate フィルタ | E-03 L258-278 | ○ |
| C-061 | options 未指定全削除 | E-03 L246-254 | ○ |
| C-062 | cleanupTagReferences | E-03 L80-104 | ○ |
| C-063 | 空タグ削除 | E-03 L87-89 | ○ |
| C-064 | メモリ使用量減算 | E-03 L96-100 | ○ |
| C-065 | calculateEntrySize | E-03 L64-78 | ○ |
| C-066 | calculateEntrySize タグなし | E-03 L72-76 | ○ |
| C-067 | expired イベント | E-03 L55-57 | ○ |
| C-068 | del イベント | E-03 L59-61 | ○ |
| C-069 | CacheInvalidationParser constructor | E-04 L29-51 | ○ |
| C-070 | 内部型フィルタリング | E-04 L36-37 | ○ |
| C-071 | parseObjectForEntities 基本 | E-04 L56-103, E-09 L102-117 | ○ |
| C-072 | ネストエンティティ | E-04 L78-99, E-09 L119-142 | ○ |
| C-073 | 配列内エンティティ | E-04 L81-89, E-09 L144-180 | ○ |
| C-074 | null 処理 | E-04 L63-65, E-09 L246-252 | ○ |
| C-075 | プリミティブ処理 | E-04 L63-65, E-09 L246-252 | ○ |
| C-076 | id 必須チェック | E-04 L69, E-09 L254-262 | ○ |
| C-077 | ID prefix 検出 | E-04 L109-114 | ○ |
| C-078 | suggested type 検出 | E-04 L116-121 | ○ |
| C-079 | フィールドマッチング | E-04 L124-128 | ○ |
| C-080 | 型不明時 null | E-04 L130 | ○ |
| C-081 | 50% フィールドマッチ | E-04 L136-148 | ○ |
| C-082 | id 必須判定 | E-04 L141-142 | ○ |
| C-083 | 型 id フィールドチェック | E-04 L141 | ○ |
| C-084 | 関連型取得 | E-04 L153-186 | ○ |
| C-085 | null 親型処理 | E-04 L157-159 | ○ |
| C-086 | 不明フィールド処理 | E-04 L164-166 | ○ |
| C-087 | 型ラッパー処理 | E-04 L171-180 | ○ |
| C-088 | buildInvalidationEvents 基本 | E-04 L191-221, E-09 L283-295 | ○ |
| C-089 | relatedEntities | E-04 L206-207, E-09 L298-313 | ○ |
| C-090 | 重複排除 | E-04 L201-204, E-09 L315-329 | ○ |
| C-091 | cacheKeys 生成 | E-04 L210, E-09 L331-341 | ○ |
| C-092 | エンティティ ID キー | E-04 L232 | ○ |
| C-093 | isInArray リストキー | E-04 L236-237 | ○ |
| C-094 | created 操作 | E-04 L236, E-09 L454-464 | ○ |
| C-095 | deleted 操作 | E-04 L236, E-09 L466-476 | ○ |
| C-096 | updated 操作 | E-04 L236, E-09 L478-485 | ○ |
| C-097 | DefaultCacheStrategy constructor | E-05 L24-31 | ○ |
| C-098 | objectHash | E-05 L33-36 | ○ |
| C-099 | ハッシュ一貫性 | E-05 L33-36 | ○ |
| C-100 | キー順序正規化 | E-05 L34 (fast-json-stable-stringify) | ○ |
| C-101 | computeKey | E-05 L98-100 | ○ |
| C-102 | computeTags 基本 | E-05 L102-132 | ○ |
| C-103 | entities 指定 | E-05 L110-112 | ○ |
| C-104 | operation 指定 | E-05 L119-122 | ○ |
| C-105 | エンティティなし | E-05 L114-116 | ○ |
| C-106 | 重複タグ排除 | E-05 L125 (Set 使用) | ○ |
| C-107 | onApplicationStart parser 初期化 | E-05 L38-46 | ○ |
| C-108 | eventBus 購読 | E-05 L94 | ○ |
| C-109 | イベント時キャッシュクリア | E-05 L87-90 | ○ |
| C-110 | loadProviders デフォルトストラテジー | E-06 L49-50 | ○ |
| C-111 | MemoryCachingProvider 登録 | E-06 L55-69 | ○ |
| C-112 | デフォルトプロバイダー設定 | E-06 L70-73 | ○ |
| C-113 | 外部プロバイダー登録 | E-06 L77-81 | ○ |
| C-114 | is_default 設定 | E-06 L85-90 | ○ |
| C-115 | 単一プロバイダー自動デフォルト | E-06 L83-86 | ○ |
| C-116 | 設定エラー | E-06 L100-104 | ○ |
| C-117 | 警告出力 | E-06 L94-99 | ○ |
| C-118 | registrationFn 登録 | E-06 L18-35 | ○ |
| C-119 | id 未指定エラー | E-06 L21-23 | ○ |
| C-120 | loadHash xxhash-wasm | E-07 L1-8 | △ |

## 4) 不足情報（Unknown / Missing）
- **C-031**: MedusaModule.getAllJoinerConfigs() の実際の挙動は外部モジュール依存。統合テストで確認推奨
  - 候補：integration-tests / MedusaModule ソースコード / ドキュメント
- **C-120**: xxhash-wasm の動的インポートは実行時に解決されるため、モック化が必要
  - 候補：integration-tests / xxhash-wasm ドキュメント

## 5) リスクフラグ（レビュー観点）
- **0 (低)**: 大部分のテストケースはソースコードから直接導出されており、信頼性が高い
- **1 (中)**: イベントハンドリング関連（C-067, C-068, C-108, C-109）は実行環境依存
- **0 (低)**: 既存テストファイル（E-09）との整合性が確認できる項目多数

## 6) レビュアーチェックリスト（最小）
- [ ] CachingModuleService の get/set/clear メソッドのエラーハンドリングパスが網羅されているか
- [ ] MemoryCachingProvider のメモリ制限超過時の挙動テストが十分か
- [ ] CacheInvalidationParser の型検出ロジックのエッジケースが網羅されているか
- [ ] DefaultCacheStrategy のイベントハンドリングテストが適切か
- [ ] loadProviders のプロバイダー登録パターンが全て網羅されているか
- [ ] 既存テスト（parser.test.ts）との重複・不整合がないか
