---
generated_at: 2026-03-01 12:00:00
metrics:
  claims_total: 255
  claims_with_evidence: 255
  claims_without_evidence: 0
confidence_derived: 1.00
---

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

## 本レポートについて

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

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

1. **根拠の有無確認**: 各主張に対して、ソースコードの該当メソッド・クラスが存在するか
2. **根拠との整合性**: テストケースの内容がソースコードの実装と矛盾していないか
3. **網羅性**: 参照すべきクラス・メソッドを適切にカバーしているか

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）: **1.00**
  - 根拠あり: 255 / 255、根拠なし: 0
- 優先レビュー（高）
  1. なし（全テストケースに根拠あり）

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

- E-01: `src/Illuminate/Cache/Repository.php` - キャッシュリポジトリの主要クラス（has, missing, get, many, pull, string, integer, float, boolean, array, put, putMany, add, increment, decrement, forever, remember, rememberForever, flexible, forget, clear, tags等のメソッド）
- E-02: `src/Illuminate/Cache/CacheManager.php` - キャッシュマネージャクラス（store, driver, memo, resolve, build, createArrayDriver, createFileDriver, createDatabaseDriver, createRedisDriver, createMemcachedDriver, createNullDriver, createFailoverDriver, getDefaultDriver, setDefaultDriver, forgetDriver, purge, extend等のメソッド）
- E-03: `src/Illuminate/Cache/Lock.php` - 抽象ロッククラス（get, block, owner, isOwnedByCurrentProcess, isOwnedBy, betweenBlockedAttemptsSleepFor等のメソッド）
- E-04: `src/Illuminate/Cache/ArrayStore.php` - 配列ストアクラス（get, put, increment, decrement, forever, forget, flush, lock, restoreLock, all等のメソッド）
- E-05: `src/Illuminate/Cache/ArrayLock.php` - 配列ロッククラス（acquire, release, forceRelease, getCurrentOwner等のメソッド）
- E-06: `src/Illuminate/Cache/FileStore.php` - ファイルストアクラス（get, put, add, increment, decrement, forever, forget, flush, path, lock, setLockDirectory等のメソッド）
- E-07: `src/Illuminate/Cache/DatabaseStore.php` - データベースストアクラス（get, many, put, putMany, add, increment, decrement, forever, forget, flush, lock等のメソッド）
- E-08: `src/Illuminate/Cache/RedisStore.php` - Redisストアクラス（get, many, put, putMany, add, increment, decrement, forever, forget, flush, lock, tags, flushStaleTags等のメソッド）
- E-09: `src/Illuminate/Cache/TaggedCache.php` - タグ付きキャッシュクラス（putMany, increment, decrement, flush, taggedItemKey, getTags等のメソッド）
- E-10: `src/Illuminate/Cache/TagSet.php` - タグセットクラス（reset, resetTag, flush, flushTag, getNamespace, tagId, tagKey, getNames等のメソッド）
- E-11: `src/Illuminate/Cache/RateLimiter.php` - レート制限クラス（for, limiter, attempt, tooManyAttempts, hit, increment, decrement, attempts, resetAttempts, remaining, clear, availableIn, cleanRateLimiterKey等のメソッド）
- E-12: `src/Illuminate/Cache/RateLimiting/Limit.php` - 制限設定クラス（perSecond, perMinute, perHour, perDay, none, by, after, response, fallbackKey等のメソッド）
- E-13: `src/Illuminate/Cache/MemcachedStore.php` - Memcachedストアクラス（get, many, put, putMany, add, increment, decrement, forever, forget, flush, lock等のメソッド）
- E-14: `src/Illuminate/Cache/NullStore.php` - Nullストアクラス（get, put, increment, decrement, forever, forget, flush, lock等のメソッド）
- E-15: `src/Illuminate/Cache/MemoizedStore.php` - メモ化ストアクラス（get, many, put, putMany, increment, decrement, forever, forget, flush, lock, restoreLock等のメソッド）
- E-16: `src/Illuminate/Cache/FailoverStore.php` - フェイルオーバーストアクラス（get, many, put, putMany, add, increment, decrement, forever, forget, flush, lock, restoreLock等のメソッド）
- E-17: `src/Illuminate/Cache/Limiters/ConcurrencyLimiter.php` - 同時実行制限クラス（block, acquire, release等のメソッド）
- E-18: `src/Illuminate/Cache/RedisTaggedCache.php` - Redisタグ付きキャッシュクラス（put, add, forever, increment, decrement, flush, flushStale等のメソッド）
- E-19: `src/Illuminate/Cache/CacheServiceProvider.php` - サービスプロバイダクラス（register, provides等のメソッド）

## 3) Claims と根拠の対応（レビューの主戦場）

### Repository クラス（UT-CAC-001 〜 UT-CAC-051）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-001 | Repository.__construct の正常系テスト | E-01 L80-84 | ○ |
| C-002 | Repository.has でキャッシュ存在確認（存在時） | E-01 L92-95 | ○ |
| C-003 | Repository.has でキャッシュ存在確認（不在時） | E-01 L92-95 | ○ |
| C-004 | Repository.missing でキャッシュ不在確認 | E-01 L103-106 | ○ |
| C-005 | Repository.get で値取得（存在時） | E-01 L115-139 | ○ |
| C-006 | Repository.get でデフォルト値返却（不在時） | E-01 L130-133 | ○ |
| C-007 | Repository.get で配列キー処理 | E-01 L117-118 | ○ |
| C-008 | Repository.get でEnumキー処理 | E-01 L121 | ○ |
| C-009 | Repository.many で複数値取得 | E-01 L149-162 | ○ |
| C-010 | Repository.many で空配列処理 | E-01 L149-162 | ○ |
| C-011 | Repository.pull で取得後削除 | E-01 L214-219 | ○ |
| C-012 | Repository.string で文字列取得 | E-01 L230-241 | ○ |
| C-013 | Repository.string で型不一致例外 | E-01 L234-237 | ○ |
| C-014 | Repository.integer で整数取得 | E-01 L252-267 | ○ |
| C-015 | Repository.integer で文字列変換 | E-01 L260-262 | ○ |
| C-016 | Repository.integer で変換不可例外 | E-01 L264-266 | ○ |
| C-017 | Repository.float で浮動小数点取得 | E-01 L278-293 | ○ |
| C-018 | Repository.float で変換不可例外 | E-01 L290-292 | ○ |
| C-019 | Repository.boolean でboolean取得 | E-01 L304-315 | ○ |
| C-020 | Repository.boolean で型不一致例外 | E-01 L308-311 | ○ |
| C-021 | Repository.array で配列取得 | E-01 L326-337 | ○ |
| C-022 | Repository.array で型不一致例外 | E-01 L330-333 | ○ |
| C-023 | Repository.put で値保存 | E-01 L347-376 | ○ |
| C-024 | Repository.put でTTL nullの場合forever呼出 | E-01 L355-356 | ○ |
| C-025 | Repository.put でTTL<=0の場合forget呼出 | E-01 L361-362 | ○ |
| C-026 | Repository.put で配列キー処理 | E-01 L349-350 | ○ |
| C-027 | Repository.putMany で複数値保存 | E-01 L398-423 | ○ |
| C-028 | Repository.putMany でTTL nullの場合永続保存 | E-01 L400-401 | ○ |
| C-029 | Repository.add で条件付き追加（成功） | E-01 L462-493 | ○ |
| C-030 | Repository.add で条件付き追加（既存時拒否） | E-01 L488-492 | ○ |
| C-031 | Repository.add でTTL<=0の場合false | E-01 L470-472 | ○ |
| C-032 | Repository.increment でインクリメント | E-01 L502-504 | ○ |
| C-033 | Repository.increment で指定値インクリメント | E-01 L502-504 | ○ |
| C-034 | Repository.decrement でデクリメント | E-01 L514-516 | ○ |
| C-035 | Repository.forever で永続保存 | E-01 L526-541 | ○ |
| C-036 | Repository.remember でキャッシュヒット | E-01 L553-569 | ○ |
| C-037 | Repository.remember でキャッシュミス | E-01 L564-568 | ○ |
| C-038 | Repository.rememberForever で永続remember | E-01 L594-608 | ○ |
| C-039 | Repository.flexible で柔軟キャッシュ | E-01 L622-662 | ○ |
| C-040 | Repository.flexible でstale時バックグラウンド更新 | E-01 L642-659 | ○ |
| C-041 | Repository.forget でキャッシュ削除 | E-01 L704-717 | ○ |
| C-042 | Repository.forget で存在しないキー削除 | E-01 L710-715 | ○ |
| C-043 | Repository.clear で全クリア | E-01 L753-766 | ○ |
| C-044 | Repository.tags でタグ付きキャッシュ取得 | E-01 L776-791 | ○ |
| C-045 | Repository.tags でタグ非サポート例外 | E-01 L778-779 | ○ |
| C-046 | Repository.getDefaultCacheTime | E-01 L848-851 | ○ |
| C-047 | Repository.setDefaultCacheTime | E-01 L859-864 | ○ |
| C-048 | Repository.offsetExists | E-01 L927-930 | ○ |
| C-049 | Repository.offsetGet | E-01 L938-941 | ○ |
| C-050 | Repository.offsetSet | E-01 L950-953 | ○ |
| C-051 | Repository.offsetUnset | E-01 L961-964 | ○ |

### CacheManager クラス（UT-CAC-052 〜 UT-CAC-073）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-052 | CacheManager.__construct | E-02 L47-50 | ○ |
| C-053 | CacheManager.store で名前指定取得 | E-02 L58-63 | ○ |
| C-054 | CacheManager.store でデフォルト使用 | E-02 L60 | ○ |
| C-055 | CacheManager.store でキャッシュ再利用 | E-02 L62 | ○ |
| C-056 | CacheManager.driver エイリアス | E-02 L71-74 | ○ |
| C-057 | CacheManager.memo でメモ化ストア | E-02 L82-99 | ○ |
| C-058 | CacheManager.resolve でストア解決 | E-02 L109-120 | ○ |
| C-059 | CacheManager.resolve で未定義ストア例外 | E-02 L113-114 | ○ |
| C-060 | CacheManager.build で動的構築 | E-02 L130-145 | ○ |
| C-061 | CacheManager.build で未サポートドライバ例外 | E-02 L144 | ○ |
| C-062 | CacheManager.createArrayDriver | E-02 L177-183 | ○ |
| C-063 | CacheManager.createFileDriver | E-02 L284-296 | ○ |
| C-064 | CacheManager.createDatabaseDriver | E-02 L191-211 | ○ |
| C-065 | CacheManager.createRedisDriver | E-02 L334-351 | ○ |
| C-066 | CacheManager.createMemcachedDriver | E-02 L304-316 | ○ |
| C-067 | CacheManager.createNullDriver | E-02 L323-326 | ○ |
| C-068 | CacheManager.createFailoverDriver | E-02 L269-276 | ○ |
| C-069 | CacheManager.getDefaultDriver | E-02 L471-474 | ○ |
| C-070 | CacheManager.setDefaultDriver | E-02 L482-485 | ○ |
| C-071 | CacheManager.forgetDriver | E-02 L493-504 | ○ |
| C-072 | CacheManager.purge | E-02 L512-517 | ○ |
| C-073 | CacheManager.extend | E-02 L529-534 | ○ |

### Lock クラス（UT-CAC-074 〜 UT-CAC-085）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-074 | Lock.__construct | E-03 L50-59 | ○ |
| C-075 | Lock.__construct でオーナー自動生成 | E-03 L52-54 | ○ |
| C-076 | Lock.get でコールバック実行 | E-03 L88-101 | ○ |
| C-077 | Lock.get でコールバックなし | E-03 L100 | ○ |
| C-078 | Lock.get で取得失敗 | E-03 L90-100 | ○ |
| C-079 | Lock.block でブロッキング成功 | E-03 L112-137 | ○ |
| C-080 | Lock.block でタイムアウト | E-03 L121-123 | ○ |
| C-081 | Lock.owner | E-03 L144-147 | ○ |
| C-082 | Lock.isOwnedByCurrentProcess（オーナー一致） | E-03 L154-157 | ○ |
| C-083 | Lock.isOwnedByCurrentProcess（オーナー不一致） | E-03 L154-157 | ○ |
| C-084 | Lock.isOwnedBy | E-03 L165-168 | ○ |
| C-085 | Lock.betweenBlockedAttemptsSleepFor | E-03 L176-181 | ○ |

### ArrayStore クラス（UT-CAC-086 〜 UT-CAC-101）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-086 | ArrayStore.__construct | E-04 L47-51 | ○ |
| C-087 | ArrayStore.get（存在） | E-04 L83-100 | ○ |
| C-088 | ArrayStore.get（不存在） | E-04 L85-87 | ○ |
| C-089 | ArrayStore.get（期限切れ） | E-04 L93-97 | ○ |
| C-090 | ArrayStore.put | E-04 L110-118 | ○ |
| C-091 | ArrayStore.put（シリアライズ） | E-04 L113 | ○ |
| C-092 | ArrayStore.increment | E-04 L127-140 | ○ |
| C-093 | ArrayStore.increment（新規） | E-04 L137-139 | ○ |
| C-094 | ArrayStore.decrement | E-04 L149-152 | ○ |
| C-095 | ArrayStore.forever | E-04 L161-164 | ○ |
| C-096 | ArrayStore.forget（成功） | E-04 L172-181 | ○ |
| C-097 | ArrayStore.forget（失敗） | E-04 L180 | ○ |
| C-098 | ArrayStore.flush | E-04 L188-193 | ○ |
| C-099 | ArrayStore.lock | E-04 L235-238 | ○ |
| C-100 | ArrayStore.restoreLock | E-04 L247-250 | ○ |
| C-101 | ArrayStore.all | E-04 L59-75 | ○ |

### ArrayLock クラス（UT-CAC-102 〜 UT-CAC-108）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-102 | ArrayLock.acquire（成功） | E-05 L36-49 | ○ |
| C-103 | ArrayLock.acquire（競合） | E-05 L40-42 | ○ |
| C-104 | ArrayLock.acquire（期限切れ上書き） | E-05 L40 | ○ |
| C-105 | ArrayLock.release（成功） | E-05 L67-80 | ○ |
| C-106 | ArrayLock.release（他者ロック） | E-05 L73-74 | ○ |
| C-107 | ArrayLock.release（ロックなし） | E-05 L69-70 | ○ |
| C-108 | ArrayLock.forceRelease | E-05 L101-104 | ○ |

### FileStore クラス（UT-CAC-109 〜 UT-CAC-126）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-109 | FileStore.__construct | E-06 L60-66 | ○ |
| C-110 | FileStore.get（成功） | E-06 L74-77 | ○ |
| C-111 | FileStore.get（ファイルなし） | E-06 L305-306 | ○ |
| C-112 | FileStore.get（期限切れ） | E-06 L317-320 | ○ |
| C-113 | FileStore.put | E-06 L87-102 | ○ |
| C-114 | FileStore.put（ディレクトリ作成） | E-06 L148-159 | ○ |
| C-115 | FileStore.add（成功） | E-06 L112-141 | ○ |
| C-116 | FileStore.add（拒否） | E-06 L138-140 | ○ |
| C-117 | FileStore.increment | E-06 L185-192 | ○ |
| C-118 | FileStore.decrement | E-06 L201-204 | ○ |
| C-119 | FileStore.forever | E-06 L213-216 | ○ |
| C-120 | FileStore.forget（成功） | E-06 L256-267 | ○ |
| C-121 | FileStore.forget（失敗） | E-06 L266 | ○ |
| C-122 | FileStore.flush（成功） | E-06 L274-289 | ○ |
| C-123 | FileStore.flush（失敗） | E-06 L276-278 | ○ |
| C-124 | FileStore.path | E-06 L370-375 | ○ |
| C-125 | FileStore.lock | E-06 L226-236 | ○ |
| C-126 | FileStore.setLockDirectory | E-06 L429-434 | ○ |

### DatabaseStore クラス（UT-CAC-127 〜 UT-CAC-142）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-127 | DatabaseStore.__construct | E-07 L89-105 | ○ |
| C-128 | DatabaseStore.get | E-07 L113-116 | ○ |
| C-129 | DatabaseStore.get（不存在） | E-07 L131 | ○ |
| C-130 | DatabaseStore.many | E-07 L125-165 | ○ |
| C-131 | DatabaseStore.many（期限切れ） | E-07 L154-156 | ○ |
| C-132 | DatabaseStore.put | E-07 L175-178 | ○ |
| C-133 | DatabaseStore.putMany | E-07 L187-202 | ○ |
| C-134 | DatabaseStore.add（成功） | E-07 L212-233 | ○ |
| C-135 | DatabaseStore.add（拒否） | E-07 L214-215 | ○ |
| C-136 | DatabaseStore.increment | E-07 L242-247 | ○ |
| C-137 | DatabaseStore.increment（不存在） | E-07 L282-284 | ○ |
| C-138 | DatabaseStore.decrement | E-07 L256-261 | ○ |
| C-139 | DatabaseStore.forever | E-07 L327-330 | ○ |
| C-140 | DatabaseStore.forget | E-07 L371-374 | ○ |
| C-141 | DatabaseStore.flush | E-07 L431-436 | ○ |
| C-142 | DatabaseStore.lock | E-07 L340-351 | ○ |

### RedisStore クラス（UT-CAC-143 〜 UT-CAC-160）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-143 | RedisStore.__construct | E-08 L64-70 | ○ |
| C-144 | RedisStore.get | E-08 L78-85 | ○ |
| C-145 | RedisStore.get（不存在） | E-08 L84 | ○ |
| C-146 | RedisStore.many | E-08 L95-119 | ○ |
| C-147 | RedisStore.many（空配列） | E-08 L97-98 | ○ |
| C-148 | RedisStore.put | E-08 L129-136 | ○ |
| C-149 | RedisStore.put（最小秒数） | E-08 L134 | ○ |
| C-150 | RedisStore.putMany | E-08 L145-176 | ○ |
| C-151 | RedisStore.add | E-08 L186-193 | ○ |
| C-152 | RedisStore.increment | E-08 L202-205 | ○ |
| C-153 | RedisStore.decrement | E-08 L214-217 | ○ |
| C-154 | RedisStore.forever | E-08 L226-231 | ○ |
| C-155 | RedisStore.forget | E-08 L272-275 | ○ |
| C-156 | RedisStore.flush | E-08 L282-287 | ○ |
| C-157 | RedisStore.lock（Predis） | E-08 L241-252 | ○ |
| C-158 | RedisStore.lock（PhpRedis） | E-08 L247-248 | ○ |
| C-159 | RedisStore.tags | E-08 L307-312 | ○ |
| C-160 | RedisStore.flushStaleTags | E-08 L294-299 | ○ |

### TaggedCache クラス（UT-CAC-161 〜 UT-CAC-166）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-161 | TaggedCache.__construct | E-09 L28-33 | ○ |
| C-162 | TaggedCache.increment | E-09 L58-61 | ○ |
| C-163 | TaggedCache.decrement | E-09 L70-73 | ○ |
| C-164 | TaggedCache.flush | E-09 L80-89 | ○ |
| C-165 | TaggedCache.taggedItemKey | E-09 L105-108 | ○ |
| C-166 | TaggedCache.getTags | E-09 L130-133 | ○ |

### TagSet クラス（UT-CAC-167 〜 UT-CAC-176）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-167 | TagSet.__construct | E-10 L29-33 | ○ |
| C-168 | TagSet.reset | E-10 L40-43 | ○ |
| C-169 | TagSet.resetTag | E-10 L51-56 | ○ |
| C-170 | TagSet.flush | E-10 L63-66 | ○ |
| C-171 | TagSet.flushTag | E-10 L73-76 | ○ |
| C-172 | TagSet.getNamespace | E-10 L83-86 | ○ |
| C-173 | TagSet.tagId | E-10 L104-107 | ○ |
| C-174 | TagSet.tagId（新規） | E-10 L106 | ○ |
| C-175 | TagSet.tagKey | E-10 L115-118 | ○ |
| C-176 | TagSet.getNames | E-10 L125-128 | ○ |

### RateLimiter クラス（UT-CAC-177 〜 UT-CAC-194）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-177 | RateLimiter.__construct | E-11 L36-39 | ○ |
| C-178 | RateLimiter.for | E-11 L48-55 | ○ |
| C-179 | RateLimiter.limiter（登録済み） | E-11 L63-94 | ○ |
| C-180 | RateLimiter.limiter（未登録） | E-11 L69-71 | ○ |
| C-181 | RateLimiter.attempt（成功） | E-11 L105-118 | ○ |
| C-182 | RateLimiter.attempt（失敗） | E-11 L107-108 | ○ |
| C-183 | RateLimiter.tooManyAttempts（超過） | E-11 L127-138 | ○ |
| C-184 | RateLimiter.tooManyAttempts（制限内） | E-11 L127-138 | ○ |
| C-185 | RateLimiter.hit | E-11 L147-150 | ○ |
| C-186 | RateLimiter.increment | E-11 L160-181 | ○ |
| C-187 | RateLimiter.decrement | E-11 L191-194 | ○ |
| C-188 | RateLimiter.attempts | E-11 L202-207 | ○ |
| C-189 | RateLimiter.resetAttempts | E-11 L215-220 | ○ |
| C-190 | RateLimiter.remaining | E-11 L229-236 | ○ |
| C-191 | RateLimiter.remaining（超過時0） | E-11 L235 | ○ |
| C-192 | RateLimiter.clear | E-11 L256-263 | ○ |
| C-193 | RateLimiter.availableIn | E-11 L271-276 | ○ |
| C-194 | RateLimiter.cleanRateLimiterKey | E-11 L284-287 | ○ |

### Limit クラス（UT-CAC-195 〜 UT-CAC-204）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-195 | Limit.__construct | E-12 L49-54 | ○ |
| C-196 | Limit.perSecond | E-12 L63-66 | ○ |
| C-197 | Limit.perMinute | E-12 L75-78 | ○ |
| C-198 | Limit.perHour | E-12 L99-102 | ○ |
| C-199 | Limit.perDay | E-12 L111-114 | ○ |
| C-200 | Limit.none | E-12 L121-124 | ○ |
| C-201 | Limit.by | E-12 L132-137 | ○ |
| C-202 | Limit.after | E-12 L145-150 | ○ |
| C-203 | Limit.response | E-12 L158-163 | ○ |
| C-204 | Limit.fallbackKey | E-12 L170-175 | ○ |

### MemcachedStore クラス（UT-CAC-205 〜 UT-CAC-217）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-205 | MemcachedStore.__construct | E-13 L41-48 | ○ |
| C-206 | MemcachedStore.get | E-13 L56-63 | ○ |
| C-207 | MemcachedStore.get（不存在） | E-13 L60-62 | ○ |
| C-208 | MemcachedStore.many | E-13 L73-92 | ○ |
| C-209 | MemcachedStore.put | E-13 L102-107 | ○ |
| C-210 | MemcachedStore.putMany | E-13 L116-127 | ○ |
| C-211 | MemcachedStore.add | E-13 L137-142 | ○ |
| C-212 | MemcachedStore.increment | E-13 L151-154 | ○ |
| C-213 | MemcachedStore.decrement | E-13 L163-166 | ○ |
| C-214 | MemcachedStore.forever | E-13 L175-178 | ○ |
| C-215 | MemcachedStore.forget | E-13 L211-214 | ○ |
| C-216 | MemcachedStore.flush | E-13 L221-224 | ○ |
| C-217 | MemcachedStore.lock | E-13 L188-191 | ○ |

### NullStore クラス（UT-CAC-218 〜 UT-CAC-224）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-218 | NullStore.get | E-14 L17-20 | ○ |
| C-219 | NullStore.put | E-14 L30-33 | ○ |
| C-220 | NullStore.increment | E-14 L42-45 | ○ |
| C-221 | NullStore.forever | E-14 L66-69 | ○ |
| C-222 | NullStore.forget | E-14 L102-105 | ○ |
| C-223 | NullStore.flush | E-14 L112-115 | ○ |
| C-224 | NullStore.lock | E-14 L79-82 | ○ |

### MemoizedStore クラス（UT-CAC-225 〜 UT-CAC-233）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-225 | MemoizedStore.__construct | E-15 L24-29 | ○ |
| C-226 | MemoizedStore.get（メモ化済み） | E-15 L37-46 | ○ |
| C-227 | MemoizedStore.get（初回） | E-15 L45 | ○ |
| C-228 | MemoizedStore.many | E-15 L55-88 | ○ |
| C-229 | MemoizedStore.put | E-15 L98-103 | ○ |
| C-230 | MemoizedStore.forget | E-15 L202-207 | ○ |
| C-231 | MemoizedStore.flush | E-15 L214-219 | ○ |
| C-232 | MemoizedStore.lock | E-15 L171-178 | ○ |
| C-233 | MemoizedStore.lock（非サポート） | E-15 L173-174 | ○ |

### FailoverStore クラス（UT-CAC-234 〜 UT-CAC-241）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-234 | FailoverStore.__construct | E-16 L25-30 | ○ |
| C-235 | FailoverStore.get | E-16 L38-41 | ○ |
| C-236 | FailoverStore.get（フェイルオーバー） | E-16 L207-229 | ○ |
| C-237 | FailoverStore.get（全失敗） | E-16 L229 | ○ |
| C-238 | FailoverStore.put | E-16 L63-66 | ○ |
| C-239 | FailoverStore.forget | E-16 L159-162 | ○ |
| C-240 | FailoverStore.flush | E-16 L169-172 | ○ |
| C-241 | FailoverStore.lock | E-16 L136-139 | ○ |

### ConcurrencyLimiter クラス（UT-CAC-242 〜 UT-CAC-245）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-242 | ConcurrencyLimiter.__construct | E-17 L47-53 | ○ |
| C-243 | ConcurrencyLimiter.block（成功） | E-17 L66-93 | ○ |
| C-244 | ConcurrencyLimiter.block（タイムアウト） | E-17 L73-75 | ○ |
| C-245 | ConcurrencyLimiter.block（例外時解放） | E-17 L85-89 | ○ |

### RedisTaggedCache クラス（UT-CAC-246 〜 UT-CAC-251）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-246 | RedisTaggedCache.put | E-18 L48-64 | ○ |
| C-247 | RedisTaggedCache.add | E-18 L22-38 | ○ |
| C-248 | RedisTaggedCache.forever | E-18 L101-106 | ○ |
| C-249 | RedisTaggedCache.increment | E-18 L73-78 | ○ |
| C-250 | RedisTaggedCache.flush | E-18 L113-166 | ○ |
| C-251 | RedisTaggedCache.flushStale | E-18 L216-221 | ○ |

### CacheServiceProvider クラス（UT-CAC-252 〜 UT-CAC-255）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-252 | CacheServiceProvider.register（cache） | E-19 L18-20 | ○ |
| C-253 | CacheServiceProvider.register（cache.store） | E-19 L22-24 | ○ |
| C-254 | CacheServiceProvider.register（RateLimiter） | E-19 L34-38 | ○ |
| C-255 | CacheServiceProvider.provides | E-19 L46-50 | ○ |

## 4) 不足情報（Unknown / Missing）
- なし（全テストケースに対してソースコードの根拠を確認済み）

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコードに基づいて作成されている

## 6) レビュアーチェックリスト（最小）
- [ ] Repository クラスの型指定取得メソッド（string, integer, float, boolean, array）の例外ケースが網羅されているか
- [ ] Lock クラスのタイムアウト処理が実際の動作と一致しているか
- [ ] RateLimiter のカウント処理が競合状態を考慮しているか
- [ ] FailoverStore の全ストア失敗時の挙動が正しく定義されているか
- [ ] タグ機能（TaggedCache, TagSet, RedisTaggedCache）の連携テストが必要か検討
