PriceShape
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.
Related
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.
- Type
source - Status
active - Updated
2026-09-14 - Created
2026-09-13