For agents, on top of README.md, which they read first.
- The invariants for these files are one folder up, in
crates/postjevsql-pg/CLAUDE.md, which loads with this one. - Create nothing in
_PG_init. Undershared_preload_librariesit runs in the postmaster before the fork; the rustls config, TLS state and the connection are built lazily in the backend on first use. Dropof futures, streams and connections must never panic. Cancellation unwinds, and a panic during unwind aborts the backend.- Keep
row.rs's output byte-stable. It is in every cache key; a change to how any value is written abandons every stored answer for rows holding that type. The measuredto_jsonfaults it works around are in the rootCLAUDE.md, Cache, "Serialization is defined".