PriceShape

TL;DR

Price feeds per domain, supplying current prices rather than a price history.

Price feeds, one per domain. CCC ingests them to know what a product is priced at where.

What it delivers

Product prices per domain.

Cadence and window

Queued once a night, and published through a swap: a complete new copy is built and then put in place, so the visible change happens at the swap step rather than at the fetch.

Its cron lines run far more often than that. They are the workers claiming the queued batch, not the refresh cadence, the same pattern Akeneo follows.

Current state only. There is no price history here; a price read today replaces the previous one.

Quirks and limits

  • A domain with no feed configured contributes nothing, and its absence looks the same as a feed that returned nothing.
  • Price per domain means the same product can carry several prices at once, so any aggregate has to say which domain it means.

Where it lands

The product prices table, replaced wholesale on each run.

Evidence

Feed identity from AGENTS.md, The application, and the job group app/jobs/feed/. Swap pattern and its healthcheck placement from AGENTS.md, Jobs and the batches queue. Feed names per domain from config/reference/domains.json, which carries a pricefeed for every domain it defines, named after that domain's key. Basis: code-checked at 30f5313.

About this document
  • Type
    source
  • Status
    active
  • Updated
    2026-09-14
  • Created
    2026-09-13