Status
A change’s state is held in thestatus field of the ProductChange model,
typed by the ProductChangeStatus enum. A change moves through four statuses:
Only a
pending change can be confirmed, declined, or canceled. The
resolution workflows validate the current status first, so a change is
resolved exactly once.Revision requests
When an operator wants a submission reworked rather than approved or rejected, they request a revision. This is recorded as aCHANGE_REQUESTED audit
action (a confirmed audit change) carrying the operator’s message, and it emits
product.change-requested. The product stays with the vendor to revise and
resubmit. A revision request is a signal in the audit trail, not a fourth
resolution of the pending change.
Auto-confirm
Staging a change runsautoConfirmProductChangeWorkflow. Whether it confirms
immediately depends on the marketplace’s review setting:
- Review off: the change is confirmed and applied in the same run, so low-friction edits don’t wait for an operator.
- Review on: the change stays
pendingfor an operator to resolve.
auto_confirm flag on the staging workflow,
regardless of the review setting.