Tip: select any text on this page to bring up the Ask tooltip and question the Synedrix OS assistant about it.
What Event is
Event standardises how a fact enters, travels through, and leaves Synedrix OS. Signals, approvals, state changes, failures, anomalies, and callbacks all propagate as events, and every one of them uses the same envelope regardless of what emitted it.
Event is deliberately thin on meaning and strict on shape. It does not decide whether an event should trigger a side effect (that's Orchestration's job once it arrives), and it does not decide whether a proposed action is permitted (that's Governance's). What it owns is the contract: a stable envelope, a stable naming grammar, and lifecycle rules that keep an event stream reconstructible end-to-end.
What it owns, and what it does not
Every layer in the architecture has a non-overlapping responsibility. The boundary is as much a part of the design as the capability.
Owns
- The event envelope: the required and optional fields every event carries
- Routing metadata: domain, entity_type, source_type, source_id
- Correlation IDs: correlation_id and causation_id, identifiers that tie every step of one journey together and are preserved unchanged across async steps and runtime boundaries
- Schemas: the naming grammar and the three event categories (OS, intelligence, domain)
Does not own
- Domain-specific policy logic
- → Domain Pack Layer
Interfaces with
The other layers this one exchanges work, state, or decisions with, and why.
Orchestration
n8n workflows declared with an event trigger are satisfied by this layer's ingress; every execution brackets itself with a started and a terminal event.
Memory
QuestDB consumes the event stream for temporal aggregation; Neo4j reconstructs lineage from the causation_id chain a stream of events forms.
Observability
events feed Langfuse, QuestDB, Neo4j, and PostHog: emission isn't optional for the lifecycle events this layer's standard names.
Domain packs
every domain pack contributes its own event catalog under its own prefix, conforming to this layer's envelope rather than defining a competing one.
How Synedrix OS implements it
The Event Taxonomy Standard is the authoritative specification. Every event carries the same 14-field envelope regardless of category. Six design principles hold it together: events are immutable facts, one envelope serves every category, lineage is mandatory, names are stable and past-tense, policy-relevant events carry policy context so no side effect escapes governance, and everything feeds observability by default.
Nine lifecycle rules keep the envelope trustworthy end-to-end: from one-immutable-event-per-occurrence and workflow start/end bracketing, through causation chains reconstructing lineage, to the append-only log and the full memory.* catalog added under ADR-OS-002. Any change to the envelope's fields, naming, or lifecycle rules is a breaking-change surface requiring a major version bump.
Platform mapping
Hookdeck
Ingress: webhook fan-out, buffering, and replay, the boundary where an external HTTP call becomes a candidate event.
Hookdeck Outpost
Egress: durable outbound event and webhook delivery with at-least-once guarantees.
OS agents at this layer
Layer principles that apply
- Shared before specific: one envelope serves OS, intelligence, and every domain pack's events rather than each category inventing its own shape.
- Controls before execution: policy-relevant events carry policy context, and the approval-bracketing lifecycle rule is this principle expressed as an event contract.
Event questions, answered
Short, citable answers drawn from this page.
What is the Event layer in Synedrix OS?
Event is layer 8 of the twelve-layer Synedrix OS architecture, in the "Infrastructure services" group. One envelope for every fact in the system, from ingress to egress.
What does the Event layer own?
The Event layer owns: The event envelope: the required and optional fields every event carries; Routing metadata: domain, entity_type, source_type, source_id; Correlation IDs: correlation_id and causation_id, identifiers that tie every step of one journey together and are preserved unchanged across async steps and runtime boundaries; Schemas: the naming grammar and the three event categories (OS, intelligence, domain).
The full reference page, with every canonical specification this layer touches, lives in the documentation repository, which is private while the platform is being built.