01
Authenticate
The broker resolves the principal. Identity is not accepted from the message body.
Open source · message broker · research prototype
Pigeon is a contract-native message broker. A service authenticates, negotiates what it may communicate, and every message is checked against that runtime contract before routing or delivery.
npm install pigeonmqHow it works
Pigeon keeps the normal broker lifecycle, but inserts a runtime communication contract before the message path.
01
The broker resolves the principal. Identity is not accepted from the message body.
02
Requested subjects are intersected with policy and compiled into a session contract.
03
Publish, receive and replay execute under the resulting contract ID.
04
Admission gates allow, deny or quarantine before the message reaches a receiver.
Quickstart
The adoption target is simple: start the broker, negotiate one contract, send one valid message, then trigger one violation.
npm · available now
npm install pigeonmqnpx pigeon broker startimport { PigeonClient } from "pigeonmq"await pigeon.connect(["payments.authorize"])await pigeon.request(…)Python and Rust are already first-party repository clients and CI targets. PyPI/crates.io publication is intentionally not shown as live until release automation and registry ownership are complete.
Why Pigeon
Pigeon explores what happens when the broker understands the negotiated context of a message, not only the address it is sent to.
A producer may publish to a subject but still use an intent outside its negotiated communication scope.
Schema-valid data can still violate classification or forbidden-field constraints.
A permitted subject can still be invalid for the region in which this message is being processed.
A rejected communication becomes a typed decision, quarantine record and audit event instead of an opaque application failure.
Current status
Pigeon is deliberately transparent about the line between the current experiment and production distributed messaging.