litellm/litellm-rust/crates/storage-clickhouse/AGENTS.md
Mateo Wang 3069a467d0
docs(agents): ban semicolons and colons in human-facing text (#45684)
* docs(agents): ban semicolons and colons in human-facing text

Tighten the writing rule so ";" and ":" are only allowed where the sentence would be nonsensical without them, rewrite the existing semicolons in AGENTS.md to follow it, and note that docs (litellm-docs) keep their trailing "."

* docs(agents): rewrite semicolons in nested AGENTS.md files

* docs(agents): hand-maintain the dashboard Next.js warning and sync e2e CONTRIBUTING lines

* docs(agents): point at the PR template path that exists

* docs(agents): restore the generated Next.js block in the dashboard AGENTS.md
2026-10-09 16:36:32 -07:00

865 B

ClickHouse storage

litellm-storage-clickhouse exports Storage, a writer and bounded reader derived from one ClickHouse URL and database. It also exports bounded HTTP read and insert execution

The crate has no product tables, OTLP types, or named trace queries. litellm-spend-clickhouse supplies the gateway spend schema and row encoding

It also applies embedded SQLx migrations through the _sqlx_migrations ledger

Migration files are append-only, and changed applied files are rejected by their checksums. Startup migrations must be replay-safe schema changes because the runner records success after execution without dirty states or locks. Backfills belong in coordinated jobs outside proxy startup. The replay policy lives in ClickHouseMigrate::apply, dirty_version, and lock. A Keeper-backed or deploy-time runner changes only those methods