postjevsql.git / crates / postjevsql-sidecar

For agents, on top of README.md, which they read first.

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