Skip to content

Use github.com/dogmatiq/protobuf for Dogma's Protocol Buffers schema - #188

Merged
jmalloc merged 2 commits into
mainfrom
dogmatiq-protobuf
Nov 2, 2026
Merged

jmalloc merged 2 commits into
mainfrom
dogmatiq-protobuf

Conversation

@jmalloc

@jmalloc jmalloc commented Nov 2, 2026

Copy link
Copy Markdown
Member

Moves Dogma's shared schema out of enginekit and onto github.com/dogmatiq/protobuf v0.2.0.

Removed

  • protobuf/uuidpb, protobuf/identitypb and protobuf/envelopepb. Use the packages of the same name in github.com/dogmatiq/protobuf instead.
  • grpc/messaginggrpc, including CommandExecutorAPI and its error details. The event stream API is in github.com/dogmatiq/protobuf/messaginggrpc. The command executor will be added to a future version of that module.

Added

  • The envelope package: Packer, EffectPacker, Unpack() and the packing options, moved from envelopepb.
  • The uuidcollection package: Map, Set and NewSet(), moved from uuidpb.

Changed

  • configpb and configgrpc are regenerated to import the new schema.
  • The shared types now use the dogma.protobuf.v1 proto package instead of dogma.protobuf. Their full names and Any type URLs change, but their binary encoding is the same.
  • [BC] envelope.WithExtension() and WithBaggage() now panic on a nil pointer, matching envelopepb.SetExtension().

Downstream

🤖 Generated with Claude Code

jmalloc and others added 2 commits November 2, 2026 13:22
The `uuidpb`, `identitypb`, `envelopepb` and `messaginggrpc` packages are
removed in favor of those in `github.com/dogmatiq/protobuf`. The packers move
to the new `envelope` package, and the UUID map and set move to the new
`uuidcollection` package. `configpb` and `configgrpc` remain, regenerated to
import the new schema.

The command executor API and its error details are removed until they land in
`github.com/dogmatiq/protobuf`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The packers now validate headers, bodies and messages directly, and the
extension and baggage options use `envelopepb.SetExtension()` and
`SetBaggage()`, so the matching rules aren't duplicated here.

As a result, these options now panic on a nil pointer instead of packing it
as an empty message.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jmalloc
jmalloc merged commit cdeb87f into main Nov 2, 2026
10 of 11 checks passed
@jmalloc
jmalloc deleted the dogmatiq-protobuf branch November 2, 2026 05:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant