# v1.7 disclosure — fragment 2 of 4: claim-set F cache-invalidation

Calibration fragment — per-class rollup and row-level findings for
claim-set F (cache-invalidation review), findings F-5 through F-8.

## Per-class rollup

| class | n | TP | CTX | NOISE | noise driver |
|---|---|---|---|---|---|
| etag-staleness | 2 | 1 | 1 | 0 | — |
| key-collision | 2 | 2 | 0 | 0 | — |
| **total** | **4** | **3** | **1** | **0** | |

Severity mix: 1 HIGH / 2 MED / 1 LOW.

**Adjudicated precision: 3/4 = 75.0%.**

## Row-level table (all 4)

| # | claim | sev | class.rule | location | verdict | note |
|---|---|---|---|---|---|---|
| 1 | F-5 | HIGH | key-collision.r1 | cache/store.js:34 | TP | tenant id absent from cache key |
| 2 | F-6 | MED | key-collision.r2 | cache/store.js:52 | TP | locale not in key for translated payloads |
| 3 | F-7 | MED | etag-staleness.r1 | cache/reval.js:19 | CTX | weak etag on mutable resource |
| 4 | F-8 | LOW | etag-staleness.r2 | cache/reval.js:27 | TP | max-age ignores auth state |
