Events

Two independent event mechanisms exist, and they are not the same bus.

Outbound cross-service events (real event bus)

Published on the platform event bus. Each event is a plain object whose discriminator is a type field. Publishing is enabled outside the test stage and is replaced with a no-op in in-memory mode. Confirmed publishers:

type Trigger
instanceCreated Instance created successfully.
instanceCreationFailed Instance creation threw.
instanceUpdated Instance updated.
instancePropertiesUpdated Instance properties patched.
instanceDeleted Instance deleted.
serviceRegistryCreated Service registry entry created. Companion events cover the full lifecycle: serviceRegistryCreationFailed, serviceRegistryUpdated, serviceRegistryDeleted, and serviceRegistryDeactivated.
cartMergeCompleted After processing an inbound cart-merge event.

All publishers are fire-and-forget: failures are logged and never fail the originating request.

Consumed events (inbound)

Routed by detail-type for event-bus and batched deliveries:

Detail-type / match Source Handling Gating
app.* (any) Marketplace Service Marketplace app lifecycle handler (accepts the app. prefix).
cartMerge User Service Orchestrated guest-to-registered merge, then publishes cartMergeCompleted. Skipped if user merge is disabled, if the merge is not successful, if user IDs are missing, or if guest equals registered.

In-process cart-action events — defined but not published to the bus

The platform defines a domain event name for each cart action (cart.items.added, cart.item.quantity.updated, cart.items.deleted, cart.shipping.updated, cart.payment.updated, cart.items.addresses.updated, cart.promotion.applied, cart.viewed, cart.order.reviewed, cart.order.placed, cart.deleted, cart.payment.deleted, cart.merged, cart.virtual.calculated, cart.virtual.order.placed).

However, these are dispatched to an in-process publisher whose registered handlers (logging, analytics, abandonment, inventory) are currently empty stubs; the computed event name is used only for logging. Net effect: cart-action domain events are NOT emitted to the cross-service bus — treat them as an internal/extension hook, not a public event contract. The only real outbound events are the instance, service-registry, and cart-merge-completed events above.

Revision History
2026-08-05 | AN – Page created and uploaded the contents