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:
- a human asks about a product-domain object in natural language
- an AI assistant resolves the request against product-domain intents
- the assistant uses BFF retrieval endpoints or mutations
- the assistant applies safety and consistency checks before write operations
- 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-> generatedapp/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-bffis 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.