Changelog

What changed, dated.

Every entry is something a merchant can see or verify in the product today. Nothing here is a roadmap. Melqart is in early access: approvals are recorded and evidence is kept, and no price is written to a store until write access launches. Live source health is on the status page.

One site: market report, guides, and every page on the same ground

  • Market report at /market: how often online prices actually change, measured from our own dated observations over the last 30 days — share of listings that moved, cuts versus raises, the median move and the out-of-stock rate — by category and currency. Published only where at least three independent storefronts and 300 listings stand behind a figure; no retailer is named; currencies are never converted. The same figures are at /api/public/market.

  • Guides at /learn, in English and Arabic: monitoring competitor prices on Shopify and on Salla and Zid, what a pricing guardrail is, what is different in the GCC, what commerce decision intelligence is, and how to evaluate a monitoring tool. Each states what the product does today and is dated.

  • The landing page, the product pages and the sign-in door now share one header, one footer and one night ground. The landing footer’s newsletter form, which sent nothing, is gone. Header menu descriptions describe scheduled reads, not “the moment it lands”.

  • The free store audit on the landing page reads only your public storefront — platform, catalogue size, price range, availability — and returns what it found and what it could not read. No card, no install, no credentials, no write access.

  • Public status page at /status with per-source 14-day success rate, last observation and next scheduled sync; this changelog; the Data Processing Agreement at /dpa.

  • Settings → Data: the export now includes the raw event log and per-listing price history. Monitoring cadence can be set per source down to the plan’s floor, and the next sync time is shown.

  • Expired suggestions can be replayed or dismissed from Monitoring health, and each action is recorded.

  • The site is available in Arabic at /ar with right-to-left layout; machine-readable pricing at /pricing.md.

Receipts on every observation, and the claims we could not back are gone

  • Every competitor price observation now carries a receipt: the exact listing URL, the minute we read it, a SHA-256 of what we read, and an archived copy of the record. Alerts and decision cards open the receipt that raised them, with the per-listing price history. Observations recorded before today show “pre-receipt observation · no archive on file” rather than a reconstructed receipt.

  • The 15-minute undo window is now real: an approval is held for 15 minutes before it is applied, and can be undone from the queue in that window. Before, the window existed in the API but the scheduler applied approvals immediately.

  • Landing page: the “under 5 minutes detection” figure was replaced with the real sweep cadence per plan (weekly / daily / every six hours); “100% outcomes scored” became “100% approvals on the record” — outcome scoring switches on with write access; the integrations grid now says which platforms are live (Vendure, Shopify, WooCommerce, Salla, Zid) and which are coming (Amazon, noon, Trendyol).

  • Pricing page: plans now list the limits the product enforces (competitors, products, cadence, retained history) instead of “storefront + marketplace” units that did not exist.

  • The founder’s own store is no longer presented as a customer testimonial. The story is told in the first person on the About page.

  • Sources: one definition of “tracked source” across the health sweep, the sidebar count and the sources list; placeholder and test domains can no longer be stored as active competitors.

  • Reliability: “Success 14d” and the per-day strip on the Overview now read the run ledger; the “not tracked by the API yet” note is gone. A cell with no runs says so.

  • Inventory: “Low stock” is only claimed when the store tracks quantity; untracked SKUs read “quantity not tracked by the store”. The Costs tab shows each cost’s source and last update.

  • Studio: the product picker distinguishes “loading”, “could not load” and “no products”; it no longer reports an empty catalogue when a request failed.

  • The Queue badge and the Overview’s decisions figure now count exactly the pricing tray the Queue renders.

  • Growth radar: an AI-visibility count can no longer exceed the number of questions asked (“26 of 5”).

Changelog — what changed, dated | Melqart