Aller au contenu

Product Events

Status

Normative Business Domain Specification

Purpose

This document defines Product Domain events.

Domain events represent meaningful business changes inside the Product aggregate.

Event Rules

A Product Domain event must be emitted only when business state changes.

A Product Domain event must not represent:

  • SQL writes;
  • cache invalidation;
  • frontend rendering;
  • logs;
  • runtime execution;
  • adapter synchronization.

Events

ProductDiscovered

Emitted when a new Product candidate is discovered.

ProductIdentityEstablished

Emitted when Canonical Product Identity is established.

ProductIdentifierAttached

Emitted when a new Identifier is attached as evidence.

ProductObservationAttached

Emitted when an Observation is attached to a Product.

ProductVariantDiscovered

Emitted when a Variant is discovered for a Product.

ProductConflictDetected

Emitted when evidences contradict Product identity, identifiers or variants.

ProductConflictResolved

Emitted when an explicit resolution clears a conflict.

ProductConsistencyChanged

Emitted when Product consistency status changes.

ProductCanonicalIdentityChanged

Emitted only when Canonical Product Identity changes.

This event must remain exceptional, explicit and auditable.

Event Invariants

Events must be:

  • deterministic;
  • traceable;
  • serializable;
  • independent from infrastructure;
  • independent from adapters.

Architecture Decision

Decision: CERTIFIED.

Product events describe business changes only, never technical side effects.