flowchart TB
Req["Dash callback: GET /v1/reports/R-201?...
Report ID Endpoint Pattern"]:::start
Key["Build Analytics Cache Key
report_id + tenant + params + data_version"]:::start
Hit["Cache hit"]:::hit
Miss["Cache miss, or Data Version Invalidation triggered"]:::miss
Query["Query pre-aggregated ClickHouse view /
Redis mastery vector"]:::miss
Choke["Privacy Filter Choke Point
threshold + complementary suppression, ALWAYS applied"]:::choke
Resp["Response returned
within P95 Latency Budget"]:::start
Req --> Key
Key --> Hit
Key --> Miss
Hit --> Choke
Miss --> Query --> Choke
Choke --> Resp
classDef start fill:#37474f,stroke:#1c2529,color:#fff,font-size:13px
classDef hit fill:#2a9d8f,stroke:#1f7a6f,color:#fff,font-size:13px
classDef miss fill:#8fd3c9,stroke:#3bab9d,color:#0c2f2b,font-size:13px
classDef choke fill:#e9a23b,stroke:#b8791f,color:#222,font-size:13px
linkStyle default stroke:#999,stroke-width:2px