# Changelog of 1688 → AliExpress AI Product Matcher (Vision + LLM Verified) (`crawleast/1688-aliexpress-product-matcher`) Actor

- **URL**: https://apify.com/crawleast/1688-aliexpress-product-matcher/changelog.md
- **Full Actor documentation**: https://apify.com/crawleast/1688-aliexpress-product-matcher.md

## Changelog

### 0.1.13 — 2026-09-21

- Disclosure: the `sku-result` row of the Pricing table now states explicitly that a delivered result **includes a confirmed "no AliExpress equivalent"** (you pay for the AI-verified decision, match or no-match). The fact was already in the Pricing prose and the "Do I pay if nothing matches?" FAQ, but a buyer scanning only the table would not have seen it. Keeps the README, `SUMMARY` billing fields, and Store copy on the same no-match disclosure. Docs-only; no code, model, or price change.

### 0.1.12 — 2026-09-21

- Expanded the FAQ into six adjacent buyer-intent questions (equivalent finder, photo match, bulk match, private-label check, price-band scope, and product finder). The price-band entry explicitly states that this Actor verifies product identity and does not provide pricing analytics.

### 0.1.11 — 2026-09-21

- Mirrored the authoritative `CHARGE_LEDGER` settlement into `SUMMARY.chargedEvents` and `SUMMARY.chargedUsd` for one-record reconciliation. `chargedUsd` uses the ChargingManager's resolved per-event prices, so subscription-tier discounts are represented accurately instead of assuming the FREE price.
- Declared `CHARGE_LEDGER` in the key-value-store and output schemas.
- Documented that `completeSkuCount` includes both verified matches and confirmed no-equivalent outcomes, while `selectedSkuCount` counts only rows with a non-null `selectedCandidate`.

### 0.1.10 — 2026-09-21

- Discovery-surface work (no code/model/pricing change): created 6 public Tasks to widen the Store discovery surface (each Task card is indexed separately), all using real, already-cloud-verified source SKUs as golden inputs. Added FAQ entries that answer adjacent buyer intents ("find the AliExpress equivalent of a 1688 product", "match a 1688 product photo to AliExpress") and cross-link the 1688 Image Search Scraper. Added a 48h canary schedule (1 SKU) to keep the recency signal alive.

### 0.1.9 — 2026-09-19

- Store listing and README repositioned to lead with the AI value proposition. Title → `1688 → AliExpress AI Product Matcher (Vision + LLM Verified)`; description/SEO now frame the product as an AI matcher that returns ONE verified equivalent, not a scraper that returns a candidate list. Added a capability-based "matcher, not a scraper" comparison (no price-vs-scraper anchoring) and an "AI pipeline" framing throughout.
- Coverage kept at the honest ~50% (frozen 100-SKU test); no inflated hit-rate claims.
- `exampleRunInput` switched from a `no-result` sample to a verified-match SKU (silicone baking spatula, `1688-974333356844`) pulled from a successful cloud run, so a first "Try" produces a real `selectedCandidate`.
- Added subscription-tier discounts on `sku-result` (appended pricing record, existing one retained): FREE unchanged at $0.03, BRONZE −10% ($0.027), SILVER −20% ($0.024), GOLD/PLATINUM/DIAMOND −30% ($0.021). `run-base-fee` stays flat at $0.01. Margin holds because Apify compute cost also drops for higher tiers.
- **No code or model change.** The three frozen hashes (config / OpenCLIP weights / DeepSeek prompt) are unchanged. Docs/metadata + tiered pricing only.

### 0.1.8 — 2026-09-18

- Reverted the run-memory experiment: `actor.json` memory is back to **4096 MB** in the build snapshot, matching the cloud Actor default. No runtime-logic change from 0.1.7 (the cost guardrail and model docs remain). This build exists only to keep the build snapshot consistent with the confirmed 4096 MB setting after the 2048 MB OOM finding.

### 0.1.7 — 2026-09-18

- Investigated lowering run memory below 4096 MB to cut Apify compute. **Result: not viable — memory stays at 4096 MB.** A cloud tier-100 run at 2048 MB failed 100/100 in the OpenCLIP stage (peak container memory ~1932 MB hit the 2048 ceiling, OOM before any DeepSeek call). The next valid Apify memory tier is 4096 MB (Apify only accepts power-of-two tiers: …/1024/2048/4096/…; 3072 is rejected by the platform schema), so there is no intermediate step and 4096 MB remains the minimum safe setting.
- Added a non-blocking cost guardrail: `SUMMARY.costSanityCheck` (deepseekActualUsd, deepseekPerDeliveredSkuUsd, threshold $0.005, triggered flag) plus a `COST_SANITY_WARNING` log when per-delivered DeepSeek cost is anomalous or spend occurs with zero delivered SKUs. Does not abort; the hard `maxTotalCostUsd` ceiling is unchanged.
- Documented the DeepSeek model (`deepseek-flash`, vision, frozen via promptSha256) in OPERATIONS.

### 0.1.6 — 2026-09-18

- Fixed `searchQuery` semantics to match the documentation: when provided, `searchQuery` now **overrides** the source `title` as the primary AliExpress query, with `leafCategory` used only for the category-fallback step. Previously `searchQuery` was a fallback that fired only when the title returned <10 unique candidates, so Chinese titles (which return loose junk ≥10 results) suppressed the English `searchQuery` and dropped recall to ~10%.
- README coverage section clarifies that AliExpress search works best in English and recommends a short English `searchQuery` when the source title is Chinese.

### 0.1.5 — 2026-09-18

- Replaced the placeholder input example/prefill (fake `example.jpg`) with a real, resolvable 1688 sample so the input form and "Try" example run work out of the box.
- Cleaned up leftover test-era wording in `package.json` description.
- (Cloud metadata synced separately via API: title, description, SEO, categories, example run input.)

### 0.1.4 — 2026-09-18

- Added pay-per-event billing: `run-base-fee` (once per successful run with ≥1 delivered result) and `sku-result` (per delivered SKU). Charges settle only on completed runs, are idempotent across resurrect, and are skipped entirely while the Actor is private/non-PPE.
- Added `CHARGE_LEDGER` run record (intended vs actually charged).
- Store-ready metadata: title, description, input example/prefill.
- Added README, operations playbook, and acceptance checklist.

### 0.1.3 and earlier

- Core matcher pipeline (AliExpress Affiliate API retrieval → OpenCLIP ranking → DeepSeek dual judgment → selection), checkpoint/resume, cost ledger with $10 safety ceiling, and A2/A3/A4 gate verification.
