VEYNDO
Handbook
docs/evidence/product-recommendations-2026-10-30.mdView source ↗

English source · 3 min

Product recommendations: native journey, 30 October 2026

Change and existing owners

The merchant recommendation editor keeps selected products separate from native cursor-paginated search results. Current merchant detail reads resolve names and images even when a selected product is outside the search. Missing or inaccessible records remain explicitly removable. Arrows update the native array order; duplicate and self additions are excluded from search choices, and selection stops at the native limit of 20. Content locale is passed through the existing request option. Read-only users can search while mutation controls remain disabled.

Manual storefront recommendations now reuse ProductTile and native product-detail reads with the current cart token. Those reads retain active/channel/company admission, localized metadata, contextual taxes/currencies and native tier pricing. At most four reads run concurrently, over at most 20 distinct non-self IDs. A changed buyer/cart/context hides previous results immediately and ignores late replies. Unavailable products are omitted instead of rendering technical IDs or dead links. The existing learned-association owner remains separate; no new recommendation engine, pricing implementation, API or data store is introduced.

Actual local native journey

The existing Rust runtime served the production frontend build on port 8803. Synthetic tenant assignments-9ff198a3, product chair, started at revision 7 and stock 20. The browser selected lamp and desk, moved desk first and searched for a zero-result phrase. Both selected names remained visible. Native save/reload and merchant read retained revision 8, crossSelling [desk, lamp] and stock 20.

The actual storefront rendered German desk and lamp cards, their native images, prices 449.00 EUR and 74.90 EUR, stock and product links in that order. Clicking the desk name opened its actual product page. Deactivating desk through the local merchant editor hid only that recommendation; lamp remained visible. Restoring desk to active made both reappear in order. The target finished active at revision 3, stock 10. No hosted product was mutated during this acceptance.

Ordered recommendations

390px selection · Actual storefront cards.

Rendered desktop and narrow-screen inspection supplements static Impeccable detection. Temporary viewport overrides are cleared after capture.

Scoped verification

23 affected tests cover retained selections, selected record resolution, missing records, ordering, cursor pagination, retry, read-only behavior, selection limits, real tile media/price/link presentation, rejected detail reads, buyer-context reset, late responses and the four-read concurrency cap. Existing product-page/workspace regressions remain green. Production build/type checking, complete localization, source ownership/inventory and documentation checks pass. Complete tests and coverage retain their daily cadence.

These writes and captures establish local native acceptance. Public image readiness and the final read-only hosted Studio observation are recorded on the associated PR.

Public release

The existing PR #245 publication record was checked on 30 October: merged main 3ff4b3cd25fb73724572ca6b0d0dac9f3ed61de2, all four reported GitHub workflows successful, Northflank image intrepid-verse-6271. Workflow b1639bcc-057a-4ccf-917c-df0896af5e7a completed at 07:59:55 CET after 12m15s. Snapshot 26-10-30-065710-backup preceded the successful migration; Core was Running with health 200.

The recorded read-only public observation retained private stage Abnahme 29 Oktober, product Keramiktasse Abnahme, revision 6 and disabled save state. No hosted product was mutated. This paragraph consolidates the existing rollout evidence; the media refresh did not repeat the migration or product write acceptance.