Skip to content

04. Events

Status: outline only. Not part of 0.1 conformance. Written here so that the contract and transport design leaves room for it.

  • An app publishes a named, versioned event with a payload record from the portable type system.
  • Subscribers declare the events they consume. EVT-1. A subscriber MUST tolerate at-least-once delivery.
  • Publication is transactional with the publisher’s own data change, through an outbox in the publisher’s database. The outbox is what makes publishing reliable in every mode, and what de-duplicates when the same app runs attached and detached at once.
  • EVT-2. When publisher and subscriber share a host, delivery MAY be in-process after the publisher’s transaction commits. When they do not, delivery goes through a broker. The broker is integrated, not provided.
  • Events replace in-process signal mechanisms for anything that crosses an app boundary.