Files
descrybe/docs/feed-sync-deltas.md
greeneclipse 8580c996c3 Initial commit of Descrybe v2 without local scratch artifacts.
Drop one-shot tmp/axe scripts and agent i18n scratch so the Gitea tree is deployable.
2026-08-09 22:47:43 +02:00

1.7 KiB

Feed sync deltas (seller MVP)

High-value change signals from input feed syncs — without a full history table.

Included

Signal Source mapped fields Where surfaced
New GTIN not previously in catalog for this company Feed options.last_sync_deltas.new, sync job enrichment
Price changed price, sale_price, purchase_price counts + product filter sync_change=price
Stock changed stock, quantity, qty counts + sync_change=stock
Availability changed availability, stock_status, in_stock counts + sync_change=availability
Title changed title, name, product_name counts + sync_change=title
Other changed any other mapped key change counts + sync_change=other
Unchanged / skipped identical mapped JSON / bad rows existing job counters

Storage

  • Summary (last sync only): input_feeds.options.last_sync_deltas — replaced each successful sync that processes rows (not when the whole feed file hash is unchanged).
  • Product flags (latest modifying sync): raw_products.mapped_data._sync_changes — string array, e.g. ["price","stock"]. Replaced on the next content update for that GTIN. Not a durable audit log.

Filters

GET /api/products?kind=unprocessed&sync_change=price (also stock, availability, title, other, new, or any).

Processed list supports the same query param via join to the linked raw row.

Out of scope (MVP)

  • Multi-sync historical timelines / per-field before→after values
  • Diffs when the entire feed file hash is unchanged (short-circuit)
  • Shopify/Woo outbound push change reports