Problem statement
PublishRequest is defined in transport.proto with full structure (oneof frame, metadata, payload, inputs, transports, envelope) but is not referenced by any service RPC. It exists in all generated bindings (Go, TypeScript, Python), polluting the API surface and confusing SDK developers who discover the type and assume it's usable.
Proposed change
One of:
- Remove it if it was speculative and no pub/sub RPC is planned near-term.
- Wire it into a new RPC if pub/sub delivery is on the roadmap:
service TransportConnectorService {
// ... existing RPCs
rpc Publish(stream PublishRequest) returns (stream PublishResponse);
}
- Mark deprecated if removal is planned but not immediate:
message PublishRequest {
option deprecated = true;
// ...
}
Affected area
Compatibility / migration
Removing the message is a breaking change for any code that references PublishRequest by name. Check downstream repos (core, bobrapet, bobravoz-grpc, bubu-sdk-go) for imports before removing.
Additional context
Identified during architectural review. Dead contract surface in a foundational layer creates confusion across all SDK languages and bloats generated bindings.
Problem statement
PublishRequestis defined intransport.protowith full structure (oneof frame, metadata, payload, inputs, transports, envelope) but is not referenced by any service RPC. It exists in all generated bindings (Go, TypeScript, Python), polluting the API surface and confusing SDK developers who discover the type and assume it's usable.Proposed change
One of:
Affected area
Compatibility / migration
Removing the message is a breaking change for any code that references
PublishRequestby name. Check downstream repos (core, bobrapet, bobravoz-grpc, bubu-sdk-go) for imports before removing.Additional context
Identified during architectural review. Dead contract surface in a foundational layer creates confusion across all SDK languages and bloats generated bindings.