Descriptions, price, category, brand, variants and media can be prepared without exposing an incomplete product.
BlueShop Catalog Governance — As Built
What this showcase explains: a product moves from private draft work to a customer-visible assortment, then leaves the storefront without losing its governed history.
1. What BlueShop Delivers
Catalog managers build product facts privately, review readiness, publish the product into the live assortment and later withdraw it while retaining identity and history.
Catalog lifecycle and projected Stock availability together determine normal storefront search visibility.
2. Draft Becomes Customer Visibility
The existing film follows one product across the real Catalog backoffice and storefront with burned-in narration.
Draft, Review, Publish, Retire With Customer Impact
Shows the product hidden while Draft, prepared and reviewed in Catalog, published into the live storefront, then archived and withdrawn while its governed record remains available to staff.
3. Archive Withdraws Without Erasing
A product can leave the assortment without deleting the business record that explains what happened.
- 01UnpublishReturns a published product to Draft with a reason.
- 02DiscontinueEnds normal sale and can retain a successor-product relationship.
- 03ArchiveRecords the reason and timestamp, removes customer exposure and remains restorable to Draft.
- 04DeleteRemains a separate terminal soft-delete state rather than an archive synonym.
4. Business Result
- 01Incomplete products stay privateManagers can prepare rich product facts without leaking work in progress.
- 02Publication is accountableReview intent, approval and lifecycle history remain visible to Catalog staff.
- 03Customer visibility follows lifecyclePublished products enter discovery; archived products are withdrawn.
- 04History survives retirementCatalog retains identity, reasons and timestamps for operational understanding.
How catalog governance works
The sections below explain lifecycle flow, aggregate ownership, publication checks, event delivery, search visibility and current operating limits.
5. How Governance Moves
The lifecycle has one customer-facing direction and one withdrawal direction. Both keep Catalog as the owner of product identity and status.
6. Product Is the Consistency Boundary
Product lifecycle and child facts change together so a variant, image, price or relation cannot bypass aggregate-level rules.
| Inside Product ownership | Behavior protected | Owned elsewhere |
|---|---|---|
| SKU, localized content, price, dimensions and EAN | Commercial identity and publication completeness | Stock quantities and reservations remain Stock authority |
| Lifecycle, schedule and publish/archive timestamps | Actions, reasons and retained history | Search documents remain disposable read models |
| Variants, media, attributes, tags and relations | Limits, uniqueness and domain events | Orders retain immutable commercial snapshots |
| Category and brand references | Only active references are accepted | Category and Brand remain separate Catalog aggregates |
| Fact | Current invariant | Purpose |
|---|---|---|
| Variant | At most 20; unique attribute combinations; final price within ±50% of parent base price | Keeps option sets bounded and commercially coherent |
| Media | Images at least 800 × 800; at most three videos; optional variant targeting | Preserves usable product presentation |
| Category / Brand | References must be active | Protects navigation, filtering and descriptive ownership |
7. Publication Decision
The intended workflow records review intent before exposure. The current implementation has two approval paths that do not run the same checks.
| Layer | Checks | Current role |
|---|---|---|
ProductPublicationValidator | Eight aggregate-local completeness checks | Reusable domain validation, not the complete selling gate |
DefaultProductValidationService | The same eight plus cost price, pending price and SEO completeness | Dispatcher invokes all eleven before approve or direct publish |
| Pending-price UI approval | Clears the price change, then calls aggregate approval | Currently bypasses the eleven-check application gate and source-state guard |
8. Projection and Operating Limits
Lifecycle changes leave Catalog through its transactional outbox. Search and other consumers update asynchronously and remain repairable from authoritative Catalog state.