Skip to content

chore(server): remove unused openshell-server-macros crate #4815

Closed

Description

@mrunalp

User Story

I maintain OpenShell's gateway authorization code. I need the unused openshell-server-macros crate removed so that contributors and agents don't treat it as the way RPC authorization is declared.

Description

crates/openshell-server-macros defines #[rpc_authz] / #[rpc_auth] proc macros that generated MethodAuth tables. Commit 9c019a9 ("Wire authorization into workspace model", RFC 0011 Phase 2) replaced them with per-method openshell.options.v1.authorization annotations in the proto, which crates/openshell-server/src/auth/descriptor_authz.rs reads at startup. Nothing depends on the macros crate any more. It only stays in the build because the workspace includes every crate under crates/*.

Remove the crate and the references that still describe it as current:

  • crates/openshell-server-macros/ (the whole crate), plus the Cargo.lock update
  • the crates/openshell-server-macros/ row in the AGENTS.md architecture table ("Compile-time helpers for gateway RPC authorization")
  • the #[rpc_auth(...)] doc comment at crates/openshell-core/src/lib.rs:100-104, which should point at the proto authorization option instead

Context

  • No crate lists openshell-server-macros as a dependency. A search outside the crate finds only the AGENTS.md row.
  • Leaving the crate in place makes it compile, lint and cost CI time, and AGENTS.md (loaded into every agent session) points contributors at the wrong mechanism.
  • Found while comparing gateway auth designs. It doesn't change behaviour.

Definition of Done

  • crates/openshell-server-macros/ is deleted and Cargo.lock no longer lists it.
  • AGENTS.md and crates/openshell-core/src/lib.rs no longer reference rpc_auth / openshell-server-macros. Any related skill or CONTRIBUTING.md text is updated per sync-agent-infra.
  • mise run pre-commit (or the equivalent workspace build, clippy and test) passes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:gatewayGateway server and control-plane workstate:acceptedA maintainer decided OpenShell should pursue this issuetech-debt

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions