flowchart TB subgraph LOSE["⚠ Left of boundary: a failure here CAN lose data"] direction LR LRP["Learning Record Provider"]:::risk GW["Ingestion Gateway"]:::risk KA["Kafka
durability boundary"]:::risk LRP --> GW --> KA end subgraph SAFE["Right of boundary: a failure here CANNOT lose data"] direction LR PR["Processor"]:::safe CH["ClickHouse
event log"]:::safe SU["Summarizer"]:::safe NE["Neo4j
graph projection"]:::safe RE["Redis
mastery cache"]:::safe PR --> CH --> SU --> NE CH --> RE NE --> RE end KA ==>|"only failures LEFT of here can lose data"| PR classDef risk fill:#e9a23b,stroke:#b8791f,color:#222,font-size:13px classDef safe fill:#2a9d8f,stroke:#1f7a6f,color:#fff,font-size:13px linkStyle default stroke:#999,stroke-width:2px

Details

Click a node to see details