PigeonMQ documentation

Everything needed to understand and build with PigeonMQ.

PigeonMQ is a contract-native message broker. Start with the quickstart, then learn the runtime model, protocol and message-admission semantics that every client shares.

Start here

The fastest path is: start one broker, authenticate a producer, negotiate a communication contract, publish a message, and inspect the broker decision. From there, the documentation separates concepts from protocol details so application code does not need to reimplement broker policy.

Broker model in one view

credential
    ↓
authenticated principal
    ↓
request subjects + operations
    ↓
communication contract
    ↓
publish / receive / replay / acknowledge
    ↓
identity → intent → schema → region → data → idempotency
                                              ↓
                              allow | deny | quarantine
                                              ↓
                                    delivery + evidence

What the broker is responsible for

ConcernPigeonMQ behaviour
IdentityResolve the principal from credentials at the broker boundary.
AuthorityIssue a short-lived contract containing the permitted communication scope.
Message admissionEvaluate runtime constraints before a governed operation proceeds.
ContainmentDeny or quarantine communication that falls outside policy.
EvidenceReturn typed decisions and retain audit information for governed operations.

Protocol and clients

Pigeon Protocol v1 uses HTTP + JSON. The Node.js implementation is the canonical broker today. JavaScript, Python and Rust clients target the same protocol semantics, so language choice does not change how contracts and broker decisions work.

Suggested reading order

  1. Quickstart — run the system end to end.
  2. Core concepts — understand the runtime objects.
  3. Protocol v1 — integrate without relying on a specific SDK.
  4. Use cases — map the model to real messaging patterns.
  5. Live demo — inspect an allow/quarantine decision interactively.