Status
A product’s state is held in thestatus field of the Product model, typed by
Medusa’s ProductStatus enum. A master product moves through four statuses:
Vendor-created products default to
proposed. A store submits a product
for review rather than publishing it directly. An operator (or a low-risk
auto-confirm rule) is what promotes it to published.Transitions
Each review transition has a dedicated Mercur workflow so the audit trail, events, and side effects run consistently:
Every transition validates that the product is currently
proposed before it
runs, and records an immutable STATUS_CHANGE (or CHANGE_REQUESTED) action in
the product-change pipeline for a full history of who reviewed what.