Skip to content

Products Domain

Purpose

This folder defines information intents for product-domain objects persisted behind the marketing BFF and, behind that, Odoo.

The product domain currently includes:

  • products
  • items
  • properties
  • product collections

This folder does not exist to hold local shadow copies of those objects. It exists to describe:

  • how those objects are retrieved from BFF
  • how humans ask to create or update them
  • what safety and consistency checks should be applied before mutation

Operating Model

The intended pattern is:

  1. a human asks about a product-domain object in natural language
  2. an AI assistant resolves the request against product-domain intents
  3. the assistant uses BFF retrieval endpoints or mutations
  4. the assistant applies safety and consistency checks before write operations
  5. the assistant reports the resulting object state back in domain language

Current Delivery Reality

Product-domain persistence is intended to live behind product-bff, but the current site delivery path still uses a generated local cache layer:

  • product-bff -> generated app/data/products.json -> rendered pages

That local JSON layer exists as a temporary build-stability mechanism, not as authored product truth.

Current local product artifacts therefore fall into three buckets:

  • generated build cache used by scaffolded apps
  • temporary recovery patches compensating for live BFF gaps
  • legitimate site presentation intent under docs/intents/sites/*.intent.yaml

The cleanup rule is:

  • remove false authority and BFF-gap repair layers as the live service becomes reliable
  • preserve genuine site curation intent
  • eventually retire the generated cache layer when direct Next ISR against product-bff is operationally safe

Soon, a discovery layer such as MCP should assist retrieval so questions like:

  • which properties are related to solar racking mechanical systems?

can be resolved to the right property candidates before calling BFF.

Current Product-Domain Documents

Design Rule

Site documents under docs/sites/ express which product-domain objects are used by a site.

This folder expresses the product-domain objects and operations themselves.