Writing
Engineering

A common event envelope

Events from different systems need shared context before an operator can use them together.

An order update, a customer conversation, and an equipment reading have different payloads. Fibric wraps source events in a common EventEnvelope so the platform can identify the source, customer, entity, and event while retaining the domain data.

Reseller and tenant identifiers are part of that contract. The system should not have to infer which customer owns an event after it has entered the processing path. Source identity also matters: a cached value, a derived value, and a current source record are different kinds of evidence.

Common context, domain-specific payloads

A shared envelope does not require every source to use the same domain schema. The connector normalizes what the platform needs for routing and control. The operator or domain pack interprets the payload for its task.

That division keeps the kernel from hardcoding every application. It also makes the integration responsible for clear semantics: what happened, when it was observed, which entity it concerns, and which source can substantiate it.

When a source is absent or stale, preserve that state. A synthetic placeholder must not become an apparently real event or metric simply because it fits the expected shape.