Maintain Yuzu's protobuf wire contracts, code generation, and gateway proto mirrors. Use when editing `.proto` files, `proto/gen_proto.py`, `proto/meson.build`, `proto/buf.yaml`, or any file under `gateway/priv/proto`.
설치
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
Maintain Yuzu's protobuf wire contracts, code generation, and gateway proto mirrors. Use when editing `.proto` files, `proto/gen_proto.py`, `proto/meson.build`, `proto/buf.yaml`, or any file under `gateway/priv/proto`.
Yuzu Proto
Own The Canonical Sources
Treat proto/yuzu/** as the canonical wire contract.
Treat gateway/priv/proto/** as gateway mirror files consumed by rebar3 and gpb from gateway/rebar.config.
Keep both gateway mirror layouts aligned: nested gateway/priv/proto/yuzu/** and flat gateway/priv/proto/*.proto.
Do not trust mirror files to already be current. They have drifted before.
Preserve Compatibility
Preserve field numbers.
Do not remove fields or change field types.
Add reserved declarations when retiring fields or names.
Treat buf breaking as the baseline contract check, not an optional extra.
Preserve Codegen Behavior
Update proto/meson.build if a canonical proto file is added, removed, or renamed.
Preserve proto/gen_proto.py header-flattening behavior unless all C++ include sites are being updated intentionally.
Rebuild both C++ and gateway consumers after changing a wire contract.
Sync And Validate
Edit the canonical proto first.
Propagate the same schema to every gateway mirror file before validating.
Run buf lint proto.
Run buf breaking proto --against '.git#subdir=proto,ref=origin/main' when repository history is available.
Rebuild the proto library and any affected gateway consumers.
Invoke Sibling Skills
Invoke $yuzu-meson if the proto target list or build graph changes.
Invoke $yuzu-build for compile and suite selection.