Aller au contenu

Product Contracts

Status

Normative Business Domain Specification

Purpose

This document defines Product Domain contracts.

Contracts describe capabilities required by the Product Domain without binding it to infrastructure.

ProductRepository

ProductRepository persists and retrieves Product aggregates.

It must not expose SQL, WordPress or storage-specific concepts.

ProductIdentityResolver

ProductIdentityResolver establishes or confirms Canonical Product Identity from evidence.

Resolution must be deterministic, traceable and explainable.

ProductFactory

ProductFactory creates Product aggregates in valid initial state.

It must not create inconsistent Products silently.

ProductConsistencyPolicy

ProductConsistencyPolicy evaluates consistency from identity, identifiers, observations, variants and conflicts.

ProductVariantPolicy

ProductVariantPolicy decides whether a Variant belongs to a Product.

ProductObservationNormalizer

ProductObservationNormalizer prepares Observations for domain evaluation.

It must not contain feed-specific parsing.

Contract Rules

Contracts must depend on Product Domain language.

Contracts must not depend on:

  • SQL;
  • WordPress;
  • Docker;
  • CLI;
  • HTTP;
  • frontend;
  • cache;
  • runtime jobs.

Architecture Decision

Decision: CERTIFIED.

Product contracts define integration points while preserving Domain independence.