flowchart TB
A["Statement arrives at the gateway"]:::ch
B["Written to ClickHouse
full JSON, full fidelity (ADR-001)"]:::ch
C["AggregatingMergeTree materialized view
rolls the statement into its grain, incrementally, zero app cost (ADR-002)"]:::ch
D["Every 60s: summarizer reads only
grains whose last_seen advanced"]:::grf
E["Summarizer writes an absolute value to Neo4j
MERGE + SET, never += (ADR-002)"]:::grf
F["One compressed summary vertex in Neo4j
per grain, never per statement (ADR-001)"]:::grf
X["No arrow from ClickHouse ever reaches Neo4j directly
nothing per-statement is written to the graph (C-1)"]:::deadend
A --> B --> C
C --> D --> E --> F
B -.->|never| X
classDef ch fill:#2a9d8f,stroke:#1f7a6f,color:#fff,font-size:13px
classDef grf fill:#e9a23b,stroke:#b8791f,color:#222,font-size:13px
classDef deadend fill:#f0d6d6,stroke:#c98a8a,color:#7a2b2b,font-size:12px
linkStyle default stroke:#999,stroke-width:2px