1@README.md 2 3- **`BUCK` is generated:** edit `Cargo.toml`, `reindeer.toml` or `fixups/`, 4 then re-buckify (`reindeer --third-party-dir third-party buckify`). 5- **A crate whose build script links native code needs 6 `rustc_link_lib`/`rustc_link_search` in its fixup** (see ring), or its 7 symbols go missing at the final link. 8- **`fixups/<crate>/` holds only `fixups.toml`, one per crate;** they get no 9 README pair (a mechanical shard, see the documentation rule). `top/` gets 10 none either: it is reindeer's placeholder crate root. 11- **`reindeer.toml`'s `buckfile_imports` loads `cargo` and 12 `buildscript_run` from `pg_major.bzl`, not the prelude:** those wrappers 13 make pgrx's `pgNN` feature and bindgen's `PGRX_PG_CONFIG_PATH` follow 14 `//platforms:pgNN`. Keep that load when editing the imports. 15- **`jevcrates/` is a git submodule of jevcrates** (`jev-protocol`, 16 `jev-client`, `jev-mock`), path dependencies in `Cargo.toml`. Never edit 17 inside it here: change jevcrates, then move the gitlink 18 (`git -C third-party/jevcrates fetch && git -C third-party/jevcrates 19 checkout <rev>`, then commit the new gitlink). Its URL in `.gitmodules` is 20 the relative `../jevcrates.git`; keep it relative, or a clone from the 21 lmjtfy site points the submodule at private GitHub and fails. 22- **`nix/package.nix` parses this `BUCK` at eval.** A reindeer upgrade that 23 changes the `http_archive` block's shape fails the package build with 24 "an http_archive in third-party/BUCK has an unexpected shape"; fix the 25 match there.