Chief Journal - 2026-08-13 (Catalog Ownership Before Catalog Code)

Executive Summary

August 13 moved noGap MALL’s catalog design from a broad commerce baseline to a precise ownership and presentation contract. Products and merchant-wide categories now belong unambiguously to the merchant, while store categories and listing state remain independent store concerns.

That separation matters because a commerce catalog is not merely a tree of products. It must support products that are physical, digital, service-based, hybrid, or bundled without allowing storefront presentation choices to rewrite the merchant’s canonical catalog.

A commerce team organizing products and presentation structures

One Catalog, Several Fulfillment Shapes

MALL v1 now explicitly supports composable physical, digital, and service fulfillment properties. A product may combine these shapes, and bundles are versioned so that later catalog changes do not erase the commercial meaning of an earlier composition.

Products live in a merchant-owned catalog. Merchant-wide categories organize that catalog, while an uncategorized draft pool allows incomplete products to exist without forcing premature classification.

Store Presentation Is Not Catalog Ownership

Store categories are independent presentation structures. Adding or removing a store listing does not alter category membership, and removing a product from sale does not have to destroy unfinished merchandising work. An unlisted product may retain draft store arrangements, and one product may appear in several categories within the same store.

This keeps three different facts separate: what the merchant owns, how a store presents it, and whether the store currently offers it for sale.

Bounded Trees, Predictable Browsing

Structured product information prepared for implementation

Merchant and store category trees are limited to three levels. Products may be assigned at any level. Browsing a parent category aggregates products from descendant categories without creating hidden membership records, and repeated placement is deduplicated in the browsing result.

The resulting contract is expressive enough for real merchandising while remaining bounded enough to reason about, index, test, and administer.

Status and Next Decision

The model is recorded bilingually in SPEC-024 at repository checkpoint 792bdae. NG-020 remains IN_BUILD; this is a design milestone, not a runtime-completion claim.

The next MALL discovery area is price lists, currency, tax, and duties. Full backend implementation remains deferred until the planned Domain Module designs are complete and reconciled.

Chief Journal - 2026-08-13 (Catalog Ownership Before Catalog Code)

https://laowang.helianthemum-tech.com/2026/08/13/Chief-Journal-2026-08-13/

Author

LaoWang

Posted on

2026-08-13

Updated on

2026-09-11

You need to set install_url to use ShareThis. Please set it in _config.yml.
You forgot to set the business or currency_code for Paypal. Please set it in _config.yml.

Comments

You forgot to set the shortname for Disqus. Please set it in _config.yml.