Skip to main content

Repositories

Concept: Contextual instances of product DNA distributed across the supply chain.


What Is a Repository?

A repository is a node in the product data hierarchy that holds live product data for a specific context.

While the Eidos defines what a product conceptually is, repositories hold contextual variations of that definition:

  • Which product variations are available
  • Local attribute overrides
  • Context-specific relationships
  • Regional or market adaptations

Each repository represents a real-world entity in the supply chain: suppliers, distributors, regional centers, stores.

Note: Repositories hold product definitions, not operational data. Inventory, pricing, and fulfillment live in CommerceBridge datastores, not in Eidos repositories.


Repository Hierarchy

Eidos Definition: 90×45 Structural Pine Timber

├── Supplier A (Repository)
│ ├── Distributor A (Repository)
│ │ ├── Region 1 (Repository)
│ │ │ ├── Store 1 (Repository)
│ │ │ └── Store 2 (Repository)
│ │ └── Region 2 (Repository)
│ │ └── Store 3 (Repository)
│ └── Distributor B (Repository)
│ └── Region 1 (Repository)
│ └── Store 4 (Repository)
└── Supplier B (Repository)
└── Distributor C (Repository)
└── Store 5 (Repository)

Each level adds contextual data while inheriting from above.


Inheritance and Propagation

Downward Flow

Updates flow from parent to child repositories:

Supplier updates product specification → Change propagates to all downstream repositories (distributors, regions, stores)

Distributor adds regional pricing → Change propagates to regions and stores under that distributor

Region updates delivery zones → Change propagates to stores in that region

Local Overrides

Child repositories can override inherited data:

Example:

  • Supplier A defines: "Available in 3.6m and 4.8m lengths"
  • Store 2 overrides: "We only stock 3.6m" (local inventory limitation)
  • Result: Store 2 shows only 3.6m; other stores show both lengths

Overrides stop propagation — if a child changes something, that change doesn't flow further down.


Repository Context

Each repository represents a specific business context:

Supplier Repository

  • Master product catalog
  • Base specifications
  • Manufacturing variations
  • Source-level relationships

Distributor Repository

  • Distribution network product variations
  • Regional market adaptations
  • Distributor-specific product filtering
  • Territory-specific certifications

Regional Repository

  • Geographic market variations
  • Local compliance requirements
  • Regional product availability
  • Market-specific adaptations

Store Repository

  • Customer-facing catalog definition
  • Store-specific product variations
  • Local product filtering
  • Context-specific relationships

What Lives in a Repository

Inherited from Eidos:

  • Product purpose and usage
  • Core attributes
  • Base relationships
  • Behavior rules

Added at Repository Level:

  • Available variations (which lengths, colors, grades)
  • Local attribute values (regional certifications, market-specific specs)
  • Context-specific relationships (alternative products available in this market)
  • Filtered options (products this repository chooses to offer)

Example — Store 1's Repository for "90×45 Structural Pine":

Eidos (inherited):
- Purpose: Load-bearing construction
- Material: Pine
- Standard dimensions: 90×45mm
- Fire rating options

Repository (local):
- Available lengths: 3.6m, 4.8m (we don't stock 6m)
- Fire rating: Standard only (we don't stock fire-rated)
- Regional certification: AU/NZ standards
- Complementary products: Local nail and bracket variants

Operational data (inventory levels, pricing, warehouse location) is managed by CommerceBridge, not stored in Eidos repositories.


Repository Updates

Push from Above

Parent repository changes propagate downward:

  • Supplier updates specification → All downstream repositories inherit change
  • Automatic, controlled flow
  • Children can still override if needed

Pull from Below

Child repositories can request specific variations or extensions (not automatic — requires approval or sync).


Repository Isolation

Each repository operates independently:

  • Store 1's inventory is separate from Store 2's
  • Pricing can vary by repository
  • Local overrides don't affect siblings
  • Parallel branches evolve independently

Example:

  • Distributor A can have different pricing than Distributor B
  • Both inherit the same DNA, but contextual data differs

Integration with CommerceBridge

When Touchpoint displays products or CommerceBridge processes orders:

  1. Identify context — Which store/region/distributor?
  2. Resolve repository — Find the correct repository for that context
  3. Load product data — Fetch data from that repository (includes inherited DNA + local overrides)
  4. Apply pricing/fulfillment — Use repository-specific rules

Result: Each customer sees products appropriate to their context, with pricing and availability specific to their location/channel.


Learn More


Repositories: Global Eidos, local context.