Skip to content

Define the events/v1 GameFinished contract and add RabbitMQ to the stack #10

Description

@TexablePlum

Decision from the 2026-07 architecture review: introduce RabbitMQ as the domain event bus.
Deliberately out of scope: STOMP broker relay (separate scaling milestone), engine calls,
matchmaking pairing.

Scope

  • checkers-contracts/events/v1/: versioned envelope schema (type, version, eventId as the
    idempotency key, occurredAt, payload) + GameFinished payload schema + README documenting the
    fanout exchange topology, per-consumer queues with DLQs, at-least-once semantics and evolution
    rules.
  • docker-compose: rabbitmq with the management plugin (UI not published to the host), healthcheck,
    explicit dev credentials; prod profile fails fast without broker configuration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    architectureCross-service architectural decisionscontractsVersioned platform contracts: proto, JSON Schema, OpenAPI, events

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions