# proto/ — vendored role_catalog contract (ships in the npm artifact)

`nodii/tenant/v1/role_catalog.proto` is the RoleCatalogService contract
(package `nodii.tenant.v1`; the service is owned + served by
nodii-tenant-service — D417 §1: a vendored client proto keeps the producer's
package verbatim). `@nodii/role-catalog` loads it at runtime via
`@grpc/proto-loader` (`src/proto-loader.ts`) and ships it in the npm package
(`files` in `package.json`). nodii-tenant-service re-vendors its messages-only
server mirror FROM this published artifact.

**Never hand-edit this copy alone.** It must stay byte-identical to its twins —
`go/role-catalog/proto/…` (the parity-gate reference + protoc source for the
committed Go genproto) and `python/role-catalog/proto/…` —
enforced by `scripts/check-proto-copies.sh` (`bun run check:proto-copies`).
Convention: repo-root `proto/` is repo-authored contracts only; vendored
copies live under the consuming library (see `proto/README.md` at repo root).
