[{"slug":"ZV-2026-0587","server_name":"api.lowvyn.com","severity":"breaking","title":"api.lowvyn.com: Field url was removed from verify_deal input; consumers still sending it may be rejected or silently ignored.","summary":"[safe] Description of intent_search changed (15% word delta). [risky] Description of search_products changed (26% word delta). [risky] Description of verify_deal changed (29% word delta). [breaking] Field url was removed from verify_deal input; consumers still sending it may be rejected or silently ignored. [breaking] New required field idOrUrl on verify_deal; requests without it will fail.","changes":[{"kind":"description_changed","tool":"intent_search","after":"Search the Canadian catalogue by a natural-language description of a NEED rather than keywords. Give it what the shopper actually wants (e.g. 'a quiet gaming laptop under $1500', 'a reliable stroller for travel') and it returns the best-matching products with their current price (CAD), Lowvyn Score, and Deal Verdict, plus what it understood (category, budget, must-haves). A relevance model does the matching; the deterministic deal gate decides the verdict — it never inflates a deal. Use this when the user describes a use case, budget, or constraints instead of naming a product; use search_products for a plain category/price filter. Each result carries an id + canonicalUrl you can pass to get_product, verify_deal, or find_cheaper.","before":"Search the Canadian catalogue by a natural-language description of a NEED rather than keywords. Give it what the shopper actually wants (e.g. 'a quiet gaming laptop under $1500', 'a reliable stroller for travel') and it returns the best-matching products with their current price (CAD), Lowvyn Score, and Deal Verdict, plus what it understood (category, budget, must-haves). A relevance model does the matching; the deterministic deal gate decides the verdict — it never inflates a deal. Use this when the user describes a use case, budget, or constraints instead of naming a product; use search_products for a plain category/price filter.","detail":"Description of `intent_search` changed (15% word delta).","severity":"safe","descriptionDelta":0.15116279069767447},{"kind":"description_changed","tool":"search_products","after":"Search the Canadian product catalogue. Filter by category slug, max price (CAD), and retailer. Returns up to 20 matching products with current price and Lowvyn Score. Use this when a user is exploring what is available in a category rather than asking about a specific product. Each result carries an id + canonicalUrl you can pass to get_product, verify_deal, find_cheaper, or get_price_history.","before":"Search the Canadian product catalogue. Filter by category slug, max price (CAD), and retailer. Returns up to 20 matching products with current price and Lowvyn Score. Use this when a user is exploring what is available in a category rather than asking about a specific product.","detail":"Description of `search_products` changed (26% word delta).","severity":"risky","descriptionDelta":0.26415094339622647},{"kind":"description_changed","tool":"verify_deal","after":"Given a product (by Lowvyn ID, retailer URL, or a lowvyn.com product URL from another tool's result) and an optional claimed price, return whether the deal is genuine. Compares against Lowvyn's price history and returns a verdict ('real_deal', 'modest_deal', 'average', 'bad_time', 'insufficient_data') plus an explanation. Use this first when a user asks 'is this actually a good price?'. Accepts the id or canonicalUrl from a search_products / intent_search result directly.","before":"Given a product URL and a claimed price, return whether the deal is genuine. Compares against Lowvyn's price history and returns a verdict ('real_deal', 'modest_deal', 'average', 'bad_time', 'insufficient_data') plus an explanation. Use this first when a user asks 'is this actually a good price?'.","detail":"Description of `verify_deal` changed (29% word delta).","severity":"risky","descriptionDelta":0.2941176470588235},{"kind":"input_property_removed","path":"inputSchema.properties.url","tool":"verify_deal","before":{"type":"string","description":"Retailer URL of the product (amazon.ca/walmart.ca/bestbuy.ca/canadiantire.ca)"},"detail":"Field `url` was removed from `verify_deal` input; consumers still sending it may be rejected or silently ignored.","severity":"breaking"},{"kind":"input_required_added","path":"inputSchema.properties.idOrUrl","tool":"verify_deal","after":{"type":"string","description":"Lowvyn product ID, a retailer URL (amazon.ca/walmart.ca/bestbuy.ca/canadiantire.ca), or a lowvyn.com/product-detail URL from another tool's result"},"detail":"New required field `idOrUrl` on `verify_deal`; requests without it will fail.","severity":"breaking"}],"published_at":"2026-09-01T08:03:08.500Z"}]