1@README.md
2
3- **Keep `src/` free of I/O and `unsafe` (`#![forbid(unsafe_code)]`);** the
4  binary that talks to Postgres goes in its own module or target (`cli/`).
5- **`sync` never drops and re-imports a table.** A change that `touches()`
6  an object is checked against pg_depend and refused if anything depends on
7  it, with no partial application.
8- **Never put a secret's value in an error or log line;** name the file or
9  env var.
10- **This CLI is the only engine that sets a sidecar up.** Never add SQL to
11  the NixOS unit or the image's entrypoint; a second engine beside this one
12  is the thing the contract's *Launching it* rules out.
13- **Never list postjevsql in the foreign server's `extensions` option.**
14  `converge` sets the server's options to exactly the configured ones, which
15  drops a hand-added one; the scan refuses such a server at plan time too.