This glossary defines the words used in the Developer and Integrations sections about the event bus. Binions daemons coordinate by passing messages over an internal event bus, and the same handful of terms — envelopes, kinds, correlation ids, streams — turns up throughout the API and integration documentation. Use this page as a quick reference; each term links onward to the page that explains it in full.
| Event | A message on the bus; every event is wrapped in an envelope. |
| Envelope | The standard wrapper around every message (id, kind, type, producer, timestamp, correlation id, payload, and more). |
| Event kind | One of four categories: Action, Fact, Log, Control. |
| Action | A request to one daemon to do something. |
| Fact | A past-tense statement that something happened, broadcast to interested daemons. |
| Log | A telemetry / observability message. |
| Control | A runtime instruction to a service (reload config, set the log level). |
event_type | The dotted name of an event, such as Mail.Received or Database.Inserted. |
| Producer | The daemon that emitted an event. |
correlation_id | An id shared by every event of one workflow, so you can trace a whole run. |
causation_id | The id of the event that directly caused this one. |
| Idempotency | Processing each event effectively once, even if it is delivered more than once. |
| Transactional outbox | The reliable hand-off that ensures an emitted event is published once and not lost. |
| Stream | A Redis Streams channel that carries events (for example events:mailbox, actions:database). |
| Consumer group | How a daemon reads its stream so each event is handled once. |
or: (filter branches) | A reserved key in a trigger filter holding a flat list of alternative branches; an event must match every top-level condition and at least one branch. |
| Trigger governor | Two optional trigger attributes: debounce_ms drops a matching event that arrives too soon after the previous run, and max_concurrent caps in-flight runs (events above the cap are dropped, not queued). |
| Feasibility gate | The load-time check that rejects a playbook that parses but could not execute (an unknown verb, an undeclared step reference, a missing secret); the last good version keeps serving and Fact.Playbook.Rejected reports the errors. |
| Per-item fan-out | Turning a list into one Fact.Analytics.ItemEmitted per element (via analytics.emit_items) so a follow-up playbook runs once per item; a summary fact closes the batch. |
| Usage ledger | The platform’s record of AI calls, tokens, and cost per provider and model — kept all-time, per day, and per workflow run — queried with ai.usage_report. |
| Pre-signed link | A time-limited download URL for a stored object, minted with data.presign on S3-compatible storage, so a recipient can fetch the file without credentials. |
| VOCAB | The platform’s small vocabulary of generic operations. |
| AsyncAPI | The machine-readable contract describing every channel and message on the bus. |
| JSON Schema | The typed description of each payload, generated from the code. |
| Upcaster | The small function that lifts an older payload to the current schema version. |
traceparent | The W3C tracing identifier carried in an event so logs and traces line up. |