Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@ Order is approximate. Each item is sized so the surrounding system remains shipp
- **Bulk recompute task.** Celery beat schedule that walks the catalog in shards, emits suggestions, applies the auto-approve set, queues the rest for review.
- **Webhook ingest.** Inbound `products/update` webhook with HMAC verification (already implemented in `shopify/client.py:verify_webhook`) drives a recompute task for the affected SKU.
- **Rate-limit-aware Shopify client.** Backoff on `X-Shopify-Shop-Api-Call-Limit`. Batch variant updates where possible.
- **Per-merchant automation suspend.** Emergency-stop flag on the merchant row. Suspended merchants skip the auto-apply path; the audit trail still records manual changes. Complements rollback — rollback fixes the past, suspend prevents the next move.

## Later

- **Pricing-signal layer.** Replace the toy `demand_signal - inventory_pressure` proposal with something that reads real signals. The guardrail layer is the safety surface — the proposal is swappable.
- **Per-merchant policy.** Today `MerchantPolicy` is constructed with module defaults. Move to a per-merchant config row.
- **Asymmetric guardrail caps.** Split `max_change_pct` into `max_increase_pct` and `max_decrease_pct`. Most merchants want prices to fall slower than they rise.
- **A/B price testing.** Treatment / control groups, lift measurement against an audited baseline.
- **Margin-based reporting.** Slice realized margin by SKU, by category, by guardrail-fired rate.
28 changes: 0 additions & 28 deletions ecom-dynamic-pricing/.env.example

This file was deleted.

54 changes: 0 additions & 54 deletions ecom-dynamic-pricing/.gitignore

This file was deleted.

Loading
Loading