← back to Gmc Titlefix
TK-11847 09-23 re-measure (7/29 still LR, parity 28/1 unchanged, no appeal fired) + feed-side root-cause read (desc==title on 6/7, zero color/material attrs) + staged DRY-RUN colorway/material/description supplemental override for the 6 (Option B, gated, rollback via productInputs.delete). Zero writes fired.
fa224f8ac67e937c087dcb7169cde2198a111c80 · 2026-09-23 11:53:07 -0700 · Steve
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PP5PN6yC4vLgDAvFqpS1qJ
Files touched
A data/tk11847-bodies-20260923.jsonA data/tk11847-colorway-override-dryrun-2026-09-23T18-52-34.jsonA data/tk11847-fresh-state-20260923.jsonA data/tk11847-verify-parity-20260923.jsonA tk11847-colorway-override.mjsA tk11847-fresh-state-20260923.mjsA tk11847-verify-parity-20260923.mjs
Diff
commit fa224f8ac67e937c087dcb7169cde2198a111c80
Author: Steve <steve@designerwallcoverings.com>
Date: Wed Sep 23 11:53:07 2026 -0700
TK-11847 09-23 re-measure (7/29 still LR, parity 28/1 unchanged, no appeal fired) + feed-side root-cause read (desc==title on 6/7, zero color/material attrs) + staged DRY-RUN colorway/material/description supplemental override for the 6 (Option B, gated, rollback via productInputs.delete). Zero writes fired.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PP5PN6yC4vLgDAvFqpS1qJ
---
data/tk11847-bodies-20260923.json | 990 +++++++++++
...lorway-override-dryrun-2026-09-23T18-52-34.json | 108 ++
data/tk11847-fresh-state-20260923.json | 1817 ++++++++++++++++++++
data/tk11847-verify-parity-20260923.json | 703 ++++++++
tk11847-colorway-override.mjs | 108 ++
tk11847-fresh-state-20260923.mjs | 55 +
tk11847-verify-parity-20260923.mjs | 82 +
7 files changed, 3863 insertions(+)
diff --git a/data/tk11847-bodies-20260923.json b/data/tk11847-bodies-20260923.json
new file mode 100644
index 0000000..2d676ce
--- /dev/null
+++ b/data/tk11847-bodies-20260923.json
@@ -0,0 +1,990 @@
+{
+ "ticket": "TK-11847",
+ "read_only": true,
+ "fetched_at": "2026-09-23T18:47:56.121Z",
+ "n": 7,
+ "rows": [
+ {
+ "offerId": "40977437818931",
+ "title": "McKinley Park Type 2 | Phillipe Romano",
+ "drink_word_hits": {},
+ "description": "A soft, organic quality suggests a landscape obscured by fog… or a memory by time. The Type II vinyl wallcovering’s a gentle visual texture for the wall.",
+ "imageLink": "https://www.designerwallcoverings.com/cdn/shop/files/prw-920603-mst-010_1024x1024.jpg?v=1781716212",
+ "additionalImageLinks": [],
+ "productTypes": [],
+ "gpc": "Home & Garden > Decor > Wallpaper",
+ "link": "https://www.designerwallcoverings.com/products/prw-920603-mst-010?variant=40977437818931",
+ "lastUpdateDate": "2026-09-11T22:20:16.886293Z",
+ "issues": [
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DISPLAY_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DEMAND_GEN_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "SHOPPING_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "FREE_LISTINGS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "DEMAND_GEN_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "countries": [
+ "US"
+ ]
+ }
+ ]
+ },
+ {
+ "offerId": "44508742418483",
+ "title": "Colonne Une Véritable Affinité | Elitis",
+ "drink_word_hits": {},
+ "description": "Colonne Une Véritable Affinité | Elitis",
+ "imageLink": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/colonne-une-veritable-affinite-elitis-37666898509875.jpg?v=1785453007",
+ "additionalImageLinks": [],
+ "productTypes": [
+ "Wallcovering"
+ ],
+ "gpc": "Home & Garden > Decor > Wallpaper",
+ "link": "https://www.designerwallcoverings.com/products/colonne-une-veritable-affinite-elitis",
+ "lastUpdateDate": "2026-09-11T22:47:07.706689Z",
+ "issues": [
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DISPLAY_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DEMAND_GEN_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "SHOPPING_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "FREE_LISTINGS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "DEMAND_GEN_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "countries": [
+ "US"
+ ]
+ }
+ ]
+ },
+ {
+ "offerId": "44724797538355",
+ "title": "Apollo Chardonnay",
+ "drink_word_hits": {
+ "title": [
+ "chardonnay"
+ ],
+ "description": [
+ "chardonnay"
+ ],
+ "link": [
+ "chardonnay"
+ ]
+ },
+ "description": "Apollo Chardonnay",
+ "imageLink": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/DWMJ-600108.png?v=1786382250",
+ "additionalImageLinks": [],
+ "productTypes": [
+ "Wallcovering"
+ ],
+ "gpc": "Home & Garden > Decor > Wallpaper",
+ "link": "https://www.designerwallcoverings.com/products/majilite-apollo-chardonnay",
+ "lastUpdateDate": "2026-09-11T22:54:48.097974Z",
+ "issues": [
+ {
+ "code": "image_too_small_for_high_resolution",
+ "sev": "NOT_IMPACTED",
+ "attr": "image link",
+ "desc": "Image too small for upcoming enforcement",
+ "detail": "Use an image that's at least 500x500 pixels to serve",
+ "doc": "https://support.google.com/merchants/answer/12159030",
+ "ctx": "SHOPPING_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "image_too_small_for_high_resolution",
+ "sev": "NOT_IMPACTED",
+ "attr": "image link",
+ "desc": "Image too small for upcoming enforcement",
+ "detail": "Use an image that's at least 500x500 pixels to serve",
+ "doc": "https://support.google.com/merchants/answer/12159030",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DISPLAY_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DEMAND_GEN_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "SHOPPING_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "FREE_LISTINGS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "DEMAND_GEN_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "countries": [
+ "US"
+ ]
+ }
+ ]
+ },
+ {
+ "offerId": "44724798226483",
+ "title": "Brushed Finesse Champagne",
+ "drink_word_hits": {
+ "title": [
+ "champagne"
+ ],
+ "description": [
+ "champagne"
+ ],
+ "link": [
+ "champagne"
+ ]
+ },
+ "description": "Brushed Finesse Champagne",
+ "imageLink": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/DWMJ-600130.png?v=1786382280",
+ "additionalImageLinks": [],
+ "productTypes": [
+ "Wallcovering"
+ ],
+ "gpc": "Home & Garden > Decor > Wallpaper",
+ "link": "https://www.designerwallcoverings.com/products/majilite-brushed-finesse-champagne",
+ "lastUpdateDate": "2026-08-26T15:15:58.136016Z",
+ "issues": [
+ {
+ "code": "image_too_small_for_high_resolution",
+ "sev": "NOT_IMPACTED",
+ "attr": "image link",
+ "desc": "Image too small for upcoming enforcement",
+ "detail": "Use an image that's at least 500x500 pixels to serve",
+ "doc": "https://support.google.com/merchants/answer/12159030",
+ "ctx": "SHOPPING_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "image_too_small_for_high_resolution",
+ "sev": "NOT_IMPACTED",
+ "attr": "image link",
+ "desc": "Image too small for upcoming enforcement",
+ "detail": "Use an image that's at least 500x500 pixels to serve",
+ "doc": "https://support.google.com/merchants/answer/12159030",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DISPLAY_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DEMAND_GEN_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "SHOPPING_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "FREE_LISTINGS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "DEMAND_GEN_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "countries": [
+ "US"
+ ]
+ }
+ ]
+ },
+ {
+ "offerId": "44508735209523",
+ "title": "Volutes Le Goût De L'étrange | Elitis",
+ "drink_word_hits": {
+ "title": [
+ "goût"
+ ],
+ "description": [
+ "goût"
+ ]
+ },
+ "description": "Volutes Le Goût De L'étrange | Elitis",
+ "imageLink": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/mural-wall-domino-wall-volutes-ecb9f62d31255e4d1d87ff31ef66_18846f99-ccde-41e0-857d-7d5a885aeb9b.jpg?v=1783789394",
+ "additionalImageLinks": [],
+ "productTypes": [
+ "Wallcovering"
+ ],
+ "gpc": "Home & Garden > Decor > Wallpaper",
+ "link": "https://www.designerwallcoverings.com/products/volutes-le-gout-de-letrange-elitis",
+ "lastUpdateDate": "2026-09-11T23:04:14.129658Z",
+ "issues": [
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DISPLAY_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DEMAND_GEN_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "SHOPPING_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "FREE_LISTINGS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "DEMAND_GEN_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "countries": [
+ "US"
+ ]
+ }
+ ]
+ },
+ {
+ "offerId": "44724798193715",
+ "title": "Infinity White Zinfandel",
+ "drink_word_hits": {
+ "title": [
+ "zinfandel"
+ ],
+ "description": [
+ "zinfandel"
+ ],
+ "link": [
+ "zinfandel"
+ ]
+ },
+ "description": "Infinity White Zinfandel",
+ "imageLink": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/DWMJ-600129.png?v=1786382279",
+ "additionalImageLinks": [],
+ "productTypes": [
+ "Wallcovering"
+ ],
+ "gpc": "Home & Garden > Decor > Wallpaper",
+ "link": "https://www.designerwallcoverings.com/products/majilite-infinity-white-zinfandel",
+ "lastUpdateDate": "2026-09-11T23:19:26.742824Z",
+ "issues": [
+ {
+ "code": "image_too_small_for_high_resolution",
+ "sev": "NOT_IMPACTED",
+ "attr": "image link",
+ "desc": "Image too small for upcoming enforcement",
+ "detail": "Use an image that's at least 500x500 pixels to serve",
+ "doc": "https://support.google.com/merchants/answer/12159030",
+ "ctx": "SHOPPING_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "image_too_small_for_high_resolution",
+ "sev": "NOT_IMPACTED",
+ "attr": "image link",
+ "desc": "Image too small for upcoming enforcement",
+ "detail": "Use an image that's at least 500x500 pixels to serve",
+ "doc": "https://support.google.com/merchants/answer/12159030",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DISPLAY_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DEMAND_GEN_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "SHOPPING_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "FREE_LISTINGS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "DEMAND_GEN_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "countries": [
+ "US"
+ ]
+ }
+ ]
+ },
+ {
+ "offerId": "44736900464691",
+ "title": "Vista Wine | Maharam",
+ "drink_word_hits": {
+ "title": [
+ "wine"
+ ],
+ "description": [
+ "wine"
+ ],
+ "link": [
+ "wine"
+ ]
+ },
+ "description": "Vista Wine | Maharam",
+ "imageLink": "https://cdn.shopify.com/s/files/1/0015/4117/7456/files/MH-VISTA-006_0.jpg?v=1786453829",
+ "additionalImageLinks": [],
+ "productTypes": [
+ "Wallcovering"
+ ],
+ "gpc": "Home & Garden > Decor > Wallpaper",
+ "link": "https://www.designerwallcoverings.com/products/vista-wine-maharam",
+ "lastUpdateDate": "2026-09-10T16:06:29.912632Z",
+ "issues": [
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DISPLAY_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DEMAND_GEN_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "legal_restrictions_policy_violation",
+ "sev": "DISAPPROVED",
+ "desc": "Personalized advertising: legal restrictions",
+ "detail": "Targeting users based on legally restricted content is not allowed in personalized ads",
+ "doc": "https://support.google.com/merchants/answer/143465",
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "SHOPPING_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "FREE_LISTINGS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "DEMAND_GEN_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "alcohol_policy_violation",
+ "sev": "NOT_IMPACTED",
+ "desc": "Alcoholic beverages",
+ "detail": "Products that violate applicable laws and industry standards for the sale of alcoholic beverages are not allowed",
+ "doc": "https://support.google.com/merchants/answer/17234033#alcohol",
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "missing_shipping_weight",
+ "sev": "DISAPPROVED",
+ "attr": "shipping weight",
+ "desc": "Missing shipping weight [shipping_weight]",
+ "detail": "Submit the [shipping_weight] attribute for all affected products",
+ "doc": "https://support.google.com/merchants/answer/12468179",
+ "ctx": "SHOPPING_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "missing_shipping_weight",
+ "sev": "DISAPPROVED",
+ "attr": "shipping weight",
+ "desc": "Missing shipping weight [shipping_weight]",
+ "detail": "Submit the [shipping_weight] attribute for all affected products",
+ "doc": "https://support.google.com/merchants/answer/12468179",
+ "ctx": "FREE_LISTINGS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "missing_shipping_weight",
+ "sev": "DISAPPROVED",
+ "attr": "shipping weight",
+ "desc": "Missing shipping weight [shipping_weight]",
+ "detail": "Submit the [shipping_weight] attribute for all affected products",
+ "doc": "https://support.google.com/merchants/answer/12468179",
+ "ctx": "DEMAND_GEN_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "missing_shipping_weight",
+ "sev": "DISAPPROVED",
+ "attr": "shipping weight",
+ "desc": "Missing shipping weight [shipping_weight]",
+ "detail": "Submit the [shipping_weight] attribute for all affected products",
+ "doc": "https://support.google.com/merchants/answer/12468179",
+ "ctx": "VIDEO_ADS",
+ "countries": [
+ "US"
+ ]
+ },
+ {
+ "code": "missing_shipping_weight",
+ "sev": "DISAPPROVED",
+ "attr": "shipping weight",
+ "desc": "Missing shipping weight [shipping_weight]",
+ "detail": "Submit the [shipping_weight] attribute for all affected products",
+ "doc": "https://support.google.com/merchants/answer/12468179",
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "countries": [
+ "US"
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/data/tk11847-colorway-override-dryrun-2026-09-23T18-52-34.json b/data/tk11847-colorway-override-dryrun-2026-09-23T18-52-34.json
new file mode 100644
index 0000000..a23deca
--- /dev/null
+++ b/data/tk11847-colorway-override-dryrun-2026-09-23T18-52-34.json
@@ -0,0 +1,108 @@
+{
+ "ticket": "TK-11847",
+ "mode": "DRY-RUN",
+ "at": "2026-09-23T18:52:34.905Z",
+ "dataSource": "accounts/146735262/dataSources/10677010255",
+ "hold": [
+ "44736900464691"
+ ],
+ "rows": [
+ {
+ "offerId": "44724797538355",
+ "title": "Apollo Chardonnay",
+ "color": "Chardonnay",
+ "material": "Faux Leather",
+ "stillLR": true,
+ "liveDescription": "Apollo Chardonnay",
+ "liveColor": null,
+ "liveMaterial": null,
+ "lastUpdateDate": "2026-09-11T22:54:48.097974Z",
+ "productAttributes": {
+ "color": "Chardonnay",
+ "material": "Faux Leather",
+ "description": "Apollo Chardonnay — Chardonnay colorway. Apollo — Chardonnay . Majilite Nytek® faux leather from the Metallic Specialties I collection — a specially engineered Nylon Fiber Matrix, luxurious, breathable and durable, ideal for wall coverings, seating, flat surfaces and displays. Width: 54 in / 137 cm Weight: 8.8 oz/sq yd / 300 g/m² Thickness: 28 mils / 0.7 mm Durability: 300,000+ double rubs (Wyzenbeek wire screen, ASTM D-4157-82) Flammability: UFAC/NFPA 260 (Class 1) & CAL Technical Bulletin 117-2013 Section 1 — Pass Cleanability: S/W · Crocking Wet 5 / Dry 5 PFAS-, PVC- and plasticizer-free · no off-gassing Available by the yard (54\" wide) at $117.25/yd, or order a $4.25 sample swatch."
+ }
+ },
+ {
+ "offerId": "44724798226483",
+ "title": "Brushed Finesse Champagne",
+ "color": "Champagne",
+ "material": "Faux Leather",
+ "stillLR": true,
+ "liveDescription": "Brushed Finesse Champagne",
+ "liveColor": null,
+ "liveMaterial": null,
+ "lastUpdateDate": "2026-08-26T15:15:58.136016Z",
+ "productAttributes": {
+ "color": "Champagne",
+ "material": "Faux Leather",
+ "description": "Brushed Finesse Champagne — Champagne colorway. Brushed Finesse — Champagne . Majilite Nytek® faux leather from the Metallic Specialties I collection — a specially engineered Nylon Fiber Matrix, luxurious, breathable and durable, ideal for wall coverings, seating, flat surfaces and displays. Width: 54 in / 137 cm Weight: 8.8 oz/sq yd / 300 g/m² Thickness: 28 mils / 0.7 mm Durability: 300,000+ double rubs (Wyzenbeek wire screen, ASTM D-4157-82) Flammability: UFAC/NFPA 260 (Class 1) & CAL Technical Bulletin 117-2013 Section 1 — Pass Cleanability: S/W · Crocking Wet 5 / Dry 5 PFAS-, PVC- and plasticizer-free · no off-gassing Available by the yard (54\" wide) at $92.75/yd, or order a $4.25 sample swatch."
+ }
+ },
+ {
+ "offerId": "44724798193715",
+ "title": "Infinity White Zinfandel",
+ "color": "White Zinfandel",
+ "material": "Faux Leather",
+ "stillLR": true,
+ "liveDescription": "Infinity White Zinfandel",
+ "liveColor": null,
+ "liveMaterial": null,
+ "lastUpdateDate": "2026-09-11T23:19:26.742824Z",
+ "productAttributes": {
+ "color": "White Zinfandel",
+ "material": "Faux Leather",
+ "description": "Infinity White Zinfandel — White Zinfandel colorway. Infinity — White Zinfandel . Majilite Nytek® faux leather from the Metallic Specialties I collection — a specially engineered Nylon Fiber Matrix, luxurious, breathable and durable, ideal for wall coverings, seating, flat surfaces and displays. Width: 54 in / 137 cm Weight: 8.8 oz/sq yd / 300 g/m² Thickness: 28 mils / 0.7 mm Durability: 300,000+ double rubs (Wyzenbeek wire screen, ASTM D-4157-82) Flammability: UFAC/NFPA 260 (Class 1) & CAL Technical Bulletin 117-2013 Section 1 — Pass Cleanability: S/W · Crocking Wet 5 / Dry 5 PFAS-, PVC- and plasticizer-free · no off-gassing Available by the yard (54\" wide) at $92.75/yd, or order a $4.25 sample swatch."
+ }
+ },
+ {
+ "offerId": "40977437818931",
+ "title": "McKinley Park Type 2 | Phillipe Romano",
+ "color": "Gray",
+ "material": "Vinyl",
+ "stillLR": true,
+ "liveDescription": "A soft, organic quality suggests a landscape obscured by fog… or a memory by time. The Type II vinyl wallcovering’s a gentle visual texture for the wall.",
+ "liveColor": null,
+ "liveMaterial": null,
+ "lastUpdateDate": "2026-09-11T22:20:16.886293Z",
+ "productAttributes": {
+ "color": "Gray",
+ "material": "Vinyl",
+ "description": "McKinley Park Type 2 | Phillipe Romano — Gray colorway. A soft, organic quality suggests a landscape obscured by fog... or a memory by time. The Type II vinyl wallcovering’s a gentle visual texture for the wall."
+ }
+ },
+ {
+ "offerId": "44508742418483",
+ "title": "Colonne Une Véritable Affinité | Elitis",
+ "color": "Silver",
+ "material": "Textile",
+ "stillLR": true,
+ "liveDescription": "Colonne Une Véritable Affinité | Elitis",
+ "liveColor": null,
+ "liveMaterial": null,
+ "lastUpdateDate": "2026-09-11T22:47:07.706689Z",
+ "productAttributes": {
+ "color": "Silver",
+ "material": "Textile",
+ "description": "Colonne Une Véritable Affinité | Elitis — Silver colorway. A traditional striped wallcovering with a textured effect, suitable for residential use. Colonne in Une Véritable Affinité, from the Elitis Wall Rayures Jumelles collection. 60% PES 40% PU, 50\" wide."
+ }
+ },
+ {
+ "offerId": "44508735209523",
+ "title": "Volutes Le Goût De L'étrange | Elitis",
+ "color": "Cream",
+ "material": "Vinyl",
+ "stillLR": true,
+ "liveDescription": "Volutes Le Goût De L'étrange | Elitis",
+ "liveColor": null,
+ "liveMaterial": null,
+ "lastUpdateDate": "2026-09-11T23:04:14.129658Z",
+ "productAttributes": {
+ "color": "Cream",
+ "material": "Vinyl",
+ "description": "Volutes Le Goût De L'étrange | Elitis — Cream colorway. Traditional vinyl wallcovering featuring bronze abstract swirls on a charcoal gray textured background, suitable for residential interiors. Volutes in Le Goût De L'étrange, from the Elitis Wall Domino collection. Paper on non woven backing, 39\" wide."
+ }
+ }
+ ],
+ "results": []
+}
\ No newline at end of file
diff --git a/data/tk11847-fresh-state-20260923.json b/data/tk11847-fresh-state-20260923.json
new file mode 100644
index 0000000..77e19f0
--- /dev/null
+++ b/data/tk11847-fresh-state-20260923.json
@@ -0,0 +1,1817 @@
+{
+ "ticket": "TK-11847",
+ "read_only": true,
+ "fetched_at": "2026-09-23T18:44:56.203Z",
+ "merchant": "146735262",
+ "summary": {
+ "total": 29,
+ "still_legal_restrictions": 7,
+ "cleared": 22,
+ "cleared_all_ctx": 22,
+ "appeal_ready_parity_clean": 0,
+ "hold": 0
+ },
+ "rows": [
+ {
+ "offerId": "44587652612147",
+ "title": "Andora Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T22:57:37.798739Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "40977437818931",
+ "title": "McKinley Park Type 2 | Phillipe Romano",
+ "approved_contexts": 2,
+ "disapproved_contexts": 4,
+ "disapproved_codes": [
+ "legal_restrictions_policy_violation"
+ ],
+ "notimpacted_codes": [
+ "alcohol_policy_violation"
+ ],
+ "still_legal_restrictions": true,
+ "lastUpdateDate": "2026-09-11T22:20:16.886293Z",
+ "advertised": 41.92,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44588472139827",
+ "title": "Terracina Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T22:58:36.331183Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44588093505587",
+ "title": "Fasano Champagne IV | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T22:59:49.087331Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44588092915763",
+ "title": "Fasano Champagne II | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T23:01:35.261034Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44588470960179",
+ "title": "Orbetello Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T23:01:39.599976Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44587727716403",
+ "title": "Termoli Champagne II | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T23:01:56.896455Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44508742418483",
+ "title": "Colonne Une Véritable Affinité | Elitis",
+ "approved_contexts": 2,
+ "disapproved_contexts": 4,
+ "disapproved_codes": [
+ "legal_restrictions_policy_violation"
+ ],
+ "notimpacted_codes": [
+ "alcohol_policy_violation"
+ ],
+ "still_legal_restrictions": true,
+ "lastUpdateDate": "2026-09-11T22:47:07.706689Z",
+ "advertised": 570.14,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44588462309427",
+ "title": "Senigallia Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T23:04:07.991399Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "39561548791859",
+ "title": "Minakari Geo Rosewood | Designers Guild",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T23:04:16.571869Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44588471025715",
+ "title": "Cesenatico Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T23:04:33.087258Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44588471156787",
+ "title": "Riccione Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T23:04:58.621005Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44724797538355",
+ "title": "Apollo Chardonnay",
+ "approved_contexts": 2,
+ "disapproved_contexts": 4,
+ "disapproved_codes": [
+ "legal_restrictions_policy_violation"
+ ],
+ "notimpacted_codes": [
+ "image_too_small_for_high_resolution",
+ "alcohol_policy_violation"
+ ],
+ "still_legal_restrictions": true,
+ "lastUpdateDate": "2026-09-11T22:54:48.097974Z",
+ "advertised": 117.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44724798226483",
+ "title": "Brushed Finesse Champagne",
+ "approved_contexts": 2,
+ "disapproved_contexts": 4,
+ "disapproved_codes": [
+ "legal_restrictions_policy_violation"
+ ],
+ "notimpacted_codes": [
+ "image_too_small_for_high_resolution",
+ "alcohol_policy_violation"
+ ],
+ "still_legal_restrictions": true,
+ "lastUpdateDate": "2026-08-26T15:15:58.136016Z",
+ "advertised": 92.75,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44587545985075",
+ "title": "Levanto Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T23:05:35.772688Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44587698618419",
+ "title": "Varigotti Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T23:05:57.602314Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44588469551155",
+ "title": "Follonica Champagne II | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T23:07:17.548318Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44508735209523",
+ "title": "Volutes Le Goût De L'étrange | Elitis",
+ "approved_contexts": 2,
+ "disapproved_contexts": 4,
+ "disapproved_codes": [
+ "legal_restrictions_policy_violation"
+ ],
+ "notimpacted_codes": [
+ "alcohol_policy_violation"
+ ],
+ "still_legal_restrictions": true,
+ "lastUpdateDate": "2026-09-11T23:04:14.129658Z",
+ "advertised": 65.16,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44588459458611",
+ "title": "Vieste Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T23:08:58.577786Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44588454576179",
+ "title": "Cefalu Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T23:10:30.674026Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44724798193715",
+ "title": "Infinity White Zinfandel",
+ "approved_contexts": 2,
+ "disapproved_contexts": 4,
+ "disapproved_codes": [
+ "legal_restrictions_policy_violation"
+ ],
+ "notimpacted_codes": [
+ "image_too_small_for_high_resolution",
+ "alcohol_policy_violation"
+ ],
+ "still_legal_restrictions": true,
+ "lastUpdateDate": "2026-09-11T23:19:26.742824Z",
+ "advertised": 92.75,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44588093440051",
+ "title": "Fasano Champagne III | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T23:14:53.020320Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44588470796339",
+ "title": "Caorle Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T23:18:06.801461Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44588457558067",
+ "title": "Polignano Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-16T23:18:41.361132Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44736900464691",
+ "title": "Vista Wine | Maharam",
+ "approved_contexts": 0,
+ "disapproved_contexts": 6,
+ "disapproved_codes": [
+ "legal_restrictions_policy_violation",
+ "missing_shipping_weight"
+ ],
+ "notimpacted_codes": [
+ "alcohol_policy_violation"
+ ],
+ "still_legal_restrictions": true,
+ "lastUpdateDate": "2026-09-10T16:06:29.912632Z",
+ "advertised": 111,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [],
+ "disapproved": [
+ "US"
+ ],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44587504762931",
+ "title": "Portovenere Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-17T23:38:31.093164Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44587727454259",
+ "title": "Termoli Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-17T23:39:50.354522Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44588092850227",
+ "title": "Fasano Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-17T23:43:54.457515Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ },
+ {
+ "offerId": "44588469485619",
+ "title": "Follonica Champagne | Fentucci Naturals",
+ "approved_contexts": 6,
+ "disapproved_contexts": 0,
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "lastUpdateDate": "2026-09-17T23:44:55.431596Z",
+ "advertised": 4.25,
+ "contexts": [
+ {
+ "ctx": "SHOPPING_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DISPLAY_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "FREE_LISTINGS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "VIDEO_ADS",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ },
+ {
+ "ctx": "DEMAND_GEN_ADS_DISCOVER_SURFACE",
+ "approved": [
+ "US"
+ ],
+ "disapproved": [],
+ "pending": []
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/data/tk11847-verify-parity-20260923.json b/data/tk11847-verify-parity-20260923.json
new file mode 100644
index 0000000..c83254b
--- /dev/null
+++ b/data/tk11847-verify-parity-20260923.json
@@ -0,0 +1,703 @@
+{
+ "ticket": "TK-11847",
+ "read_only": true,
+ "fetched_at": "2026-09-23T18:47:07.340Z",
+ "merchant": "146735262",
+ "summary": {
+ "total": 29,
+ "still_legal_restrictions": 7,
+ "parity_ok": 28,
+ "parity_bad": 1,
+ "parity_unknown": 0,
+ "with_other_disapprovals": 1,
+ "no_drink_word": 5
+ },
+ "rows": [
+ {
+ "offerId": "44587652612147",
+ "title": "Andora Champagne | Fentucci Naturals",
+ "handle": "andora-champagne-fentucci-naturals",
+ "vid": "44587652612147",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "40977437818931",
+ "title": "McKinley Park Type 2 | Phillipe Romano",
+ "handle": "prw-920603-mst-010",
+ "vid": "40977437818931",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 41.92,
+ "gmc_dest": "approved",
+ "disapproved_codes": [
+ "legal_restrictions_policy_violation"
+ ],
+ "notimpacted_codes": [
+ "alcohol_policy_violation"
+ ],
+ "still_legal_restrictions": true,
+ "other_disapprovals": [],
+ "title_has_drink_word": false,
+ "probe": {
+ "productTypes": null,
+ "googleProductCategory": "Home & Garden > Decor > Wallpaper",
+ "description": "A soft, organic quality suggests a landscape obscured by fog… or a memory by time. The Type II vinyl wallcovering’s a gentle visual texture for the wall.",
+ "productDetails": null,
+ "customLabels": []
+ },
+ "http": 200,
+ "published": true,
+ "variants": 2,
+ "landing_variant_found": true,
+ "landing_price": 41.92,
+ "parity": true
+ },
+ {
+ "offerId": "44588472139827",
+ "title": "Terracina Champagne | Fentucci Naturals",
+ "handle": "terracina-champagne-fentucci-naturals",
+ "vid": "44588472139827",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44588093505587",
+ "title": "Fasano Champagne IV | Fentucci Naturals",
+ "handle": "fasano-champagne-iv-fentucci-naturals",
+ "vid": "44588093505587",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44588092915763",
+ "title": "Fasano Champagne II | Fentucci Naturals",
+ "handle": "fasano-champagne-ii-fentucci-naturals",
+ "vid": "44588092915763",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44588470960179",
+ "title": "Orbetello Champagne | Fentucci Naturals",
+ "handle": "orbetello-champagne-fentucci-naturals",
+ "vid": "44588470960179",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44587727716403",
+ "title": "Termoli Champagne II | Fentucci Naturals",
+ "handle": "termoli-champagne-ii-fentucci-naturals",
+ "vid": "44587727716403",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44508742418483",
+ "title": "Colonne Une Véritable Affinité | Elitis",
+ "handle": "colonne-une-veritable-affinite-elitis",
+ "vid": "44508742418483",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 570.14,
+ "gmc_dest": "approved",
+ "disapproved_codes": [
+ "legal_restrictions_policy_violation"
+ ],
+ "notimpacted_codes": [
+ "alcohol_policy_violation"
+ ],
+ "still_legal_restrictions": true,
+ "other_disapprovals": [],
+ "title_has_drink_word": false,
+ "probe": {
+ "productTypes": [
+ "Wallcovering"
+ ],
+ "googleProductCategory": "Home & Garden > Decor > Wallpaper",
+ "description": "Colonne Une Véritable Affinité | Elitis",
+ "productDetails": null,
+ "customLabels": []
+ },
+ "http": 200,
+ "published": true,
+ "variants": 2,
+ "landing_variant_found": true,
+ "landing_price": 570.14,
+ "parity": true
+ },
+ {
+ "offerId": "44588462309427",
+ "title": "Senigallia Champagne | Fentucci Naturals",
+ "handle": "senigallia-champagne-fentucci-naturals",
+ "vid": "44588462309427",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "39561548791859",
+ "title": "Minakari Geo Rosewood | Designers Guild",
+ "handle": "dwdg-987061",
+ "vid": "39561548791859",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": false,
+ "probe": {
+ "productTypes": [
+ "Wallcovering"
+ ],
+ "googleProductCategory": "Home & Garden > Decor > Wallpaper",
+ "description": "Minakari Geo Rosewood | Designers Guild",
+ "productDetails": null,
+ "customLabels": []
+ },
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44588471025715",
+ "title": "Cesenatico Champagne | Fentucci Naturals",
+ "handle": "cesenatico-champagne-fentucci-naturals",
+ "vid": "44588471025715",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44588471156787",
+ "title": "Riccione Champagne | Fentucci Naturals",
+ "handle": "riccione-champagne-fentucci-naturals",
+ "vid": "44588471156787",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44724797538355",
+ "title": "Apollo Chardonnay",
+ "handle": "majilite-apollo-chardonnay",
+ "vid": "44724797538355",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 117.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [
+ "legal_restrictions_policy_violation"
+ ],
+ "notimpacted_codes": [
+ "image_too_small_for_high_resolution",
+ "alcohol_policy_violation"
+ ],
+ "still_legal_restrictions": true,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 2,
+ "landing_variant_found": true,
+ "landing_price": 117.25,
+ "parity": true
+ },
+ {
+ "offerId": "44724798226483",
+ "title": "Brushed Finesse Champagne",
+ "handle": "majilite-brushed-finesse-champagne",
+ "vid": "44724798226483",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 92.75,
+ "gmc_dest": "approved",
+ "disapproved_codes": [
+ "legal_restrictions_policy_violation"
+ ],
+ "notimpacted_codes": [
+ "image_too_small_for_high_resolution",
+ "alcohol_policy_violation"
+ ],
+ "still_legal_restrictions": true,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 2,
+ "landing_variant_found": true,
+ "landing_price": 92.75,
+ "parity": true
+ },
+ {
+ "offerId": "44587545985075",
+ "title": "Levanto Champagne | Fentucci Naturals",
+ "handle": "levanto-champagne-fentucci-naturals",
+ "vid": "44587545985075",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44587698618419",
+ "title": "Varigotti Champagne | Fentucci Naturals",
+ "handle": "varigotti-champagne-fentucci-naturals",
+ "vid": "44587698618419",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44588469551155",
+ "title": "Follonica Champagne II | Fentucci Naturals",
+ "handle": "follonica-champagne-ii-fentucci-naturals",
+ "vid": "44588469551155",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44508735209523",
+ "title": "Volutes Le Goût De L'étrange | Elitis",
+ "handle": "volutes-le-gout-de-letrange-elitis",
+ "vid": "44508735209523",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 65.16,
+ "gmc_dest": "approved",
+ "disapproved_codes": [
+ "legal_restrictions_policy_violation"
+ ],
+ "notimpacted_codes": [
+ "alcohol_policy_violation"
+ ],
+ "still_legal_restrictions": true,
+ "other_disapprovals": [],
+ "title_has_drink_word": false,
+ "probe": {
+ "productTypes": [
+ "Wallcovering"
+ ],
+ "googleProductCategory": "Home & Garden > Decor > Wallpaper",
+ "description": "Volutes Le Goût De L'étrange | Elitis",
+ "productDetails": null,
+ "customLabels": []
+ },
+ "http": 200,
+ "published": true,
+ "variants": 2,
+ "landing_variant_found": true,
+ "landing_price": 65.16,
+ "parity": true
+ },
+ {
+ "offerId": "44588459458611",
+ "title": "Vieste Champagne | Fentucci Naturals",
+ "handle": "vieste-champagne-fentucci-naturals",
+ "vid": "44588459458611",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44588454576179",
+ "title": "Cefalu Champagne | Fentucci Naturals",
+ "handle": "cefalu-champagne-fentucci-naturals",
+ "vid": "44588454576179",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44724798193715",
+ "title": "Infinity White Zinfandel",
+ "handle": "majilite-infinity-white-zinfandel",
+ "vid": "44724798193715",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 92.75,
+ "gmc_dest": "approved",
+ "disapproved_codes": [
+ "legal_restrictions_policy_violation"
+ ],
+ "notimpacted_codes": [
+ "image_too_small_for_high_resolution",
+ "alcohol_policy_violation"
+ ],
+ "still_legal_restrictions": true,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 2,
+ "landing_variant_found": true,
+ "landing_price": 92.75,
+ "parity": true
+ },
+ {
+ "offerId": "44588093440051",
+ "title": "Fasano Champagne III | Fentucci Naturals",
+ "handle": "fasano-champagne-iii-fentucci-naturals",
+ "vid": "44588093440051",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44588470796339",
+ "title": "Caorle Champagne | Fentucci Naturals",
+ "handle": "caorle-champagne-fentucci-naturals",
+ "vid": "44588470796339",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44588457558067",
+ "title": "Polignano Champagne | Fentucci Naturals",
+ "handle": "polignano-champagne-fentucci-naturals",
+ "vid": "44588457558067",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44736900464691",
+ "title": "Vista Wine | Maharam",
+ "handle": "vista-wine-maharam",
+ "vid": "44736900464691",
+ "ev_ctx_approved": 0,
+ "ev_ctx_disapproved": 6,
+ "advertised": 111,
+ "gmc_dest": "disapproved",
+ "disapproved_codes": [
+ "legal_restrictions_policy_violation",
+ "missing_shipping_weight"
+ ],
+ "notimpacted_codes": [
+ "alcohol_policy_violation"
+ ],
+ "still_legal_restrictions": true,
+ "other_disapprovals": [
+ "missing_shipping_weight"
+ ],
+ "title_has_drink_word": false,
+ "probe": {
+ "productTypes": [
+ "Wallcovering"
+ ],
+ "googleProductCategory": "Home & Garden > Decor > Wallpaper",
+ "description": "Vista Wine | Maharam",
+ "productDetails": null,
+ "customLabels": []
+ },
+ "http": 200,
+ "published": true,
+ "variants": 2,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": false
+ },
+ {
+ "offerId": "44587504762931",
+ "title": "Portovenere Champagne | Fentucci Naturals",
+ "handle": "portovenere-champagne-fentucci-naturals",
+ "vid": "44587504762931",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44587727454259",
+ "title": "Termoli Champagne | Fentucci Naturals",
+ "handle": "termoli-champagne-fentucci-naturals",
+ "vid": "44587727454259",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44588092850227",
+ "title": "Fasano Champagne | Fentucci Naturals",
+ "handle": "fasano-champagne-fentucci-naturals",
+ "vid": "44588092850227",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ },
+ {
+ "offerId": "44588469485619",
+ "title": "Follonica Champagne | Fentucci Naturals",
+ "handle": "follonica-champagne-fentucci-naturals",
+ "vid": "44588469485619",
+ "ev_ctx_approved": 2,
+ "ev_ctx_disapproved": 4,
+ "advertised": 4.25,
+ "gmc_dest": "approved",
+ "disapproved_codes": [],
+ "notimpacted_codes": [],
+ "still_legal_restrictions": false,
+ "other_disapprovals": [],
+ "title_has_drink_word": true,
+ "http": 200,
+ "published": true,
+ "variants": 1,
+ "landing_variant_found": true,
+ "landing_price": 4.25,
+ "parity": true
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tk11847-colorway-override.mjs b/tk11847-colorway-override.mjs
new file mode 100644
index 0000000..0d79e04
--- /dev/null
+++ b/tk11847-colorway-override.mjs
@@ -0,0 +1,108 @@
+#!/usr/bin/env node
+/**
+ * TK-11847 — OPTION B (no-console path): supplemental colorway/material/description overrides
+ * for the 6 still-disapproved legal_restrictions offers (Vista Wine EXCLUDED — price-parity BAD).
+ *
+ * WHY THIS MIGHT CLEAR THEM WITHOUT AN APPEAL (measured 2026-09-17/23):
+ * - 22 of the original 29 self-cleared within ~25 min of a supplemental TITLE override re-push
+ * (lastUpdateDate bumps 09-16 22:57-23:18Z). Re-processing re-runs the classifier.
+ * - The 7 remaining never got re-pushed (lastUpdateDate 08-26 / 09-10 / 09-11, unchanged 09-23).
+ * - Measured 09-23: the GMC feed carries description == title on 6/7 and NO color/material
+ * attribute on any of the 7 (Shopify option is "Type"/"Size", not "Color", so the channel maps
+ * no color). The classifier therefore sees "Chardonnay" with zero disambiguating context.
+ * - This pushes a structured `color` (the colorway), `material`, and the REAL Shopify description
+ * via the existing PRIMARY-LINKED supplemental "DW Sample Title Overrides" (10677010255).
+ * Effect on the classifier is a HYPOTHESIS (n=22 for title re-push; n=0 for color) — NOT a
+ * claimed cure. If it doesn't clear within ~24h, the console appeal path remains.
+ *
+ * GATED — customer-facing Google listing change. DRY-RUN DEFAULT (zero writes).
+ * apply requires BOTH --apply AND --yes-i-am-steve.
+ * REVERSIBLE — rollback = productInputs.delete of each inserted input from the supplemental DS
+ * (the primary Shopify-channel input is untouched; a supplemental input only adds/overrides the
+ * attributes it carries). Rollback: node tk11847-colorway-override.mjs --rollback --yes-i-am-steve
+ * GUARDS — never sends title/price/link/availability; resolves the DS by displayName + verified
+ * primary link (fail-closed); refuses any offer whose live processed title contains "Sample";
+ * refuses Vista Wine (44736900464691) unconditionally; re-reads live state before any write.
+ *
+ * DRY-RUN: node tk11847-colorway-override.mjs
+ * APPLY: node tk11847-colorway-override.mjs --apply --yes-i-am-steve
+ * ROLLBACK: node tk11847-colorway-override.mjs --rollback --yes-i-am-steve
+ */
+import fs from 'fs';
+import { createRequire } from 'module';
+import { resolveSampleTitleDS } from './resolve-mdc-sample-source.mjs';
+const require = createRequire(import.meta.url);
+const { token, MERCHANT } = require('./_auth.js');
+const mc = require('./_mc-read-v1.js');
+
+const args = process.argv.slice(2);
+const STEVE = args.includes('--yes-i-am-steve');
+const APPLY = args.includes('--apply') && STEVE;
+const ROLLBACK = args.includes('--rollback') && STEVE;
+const stamp = () => new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
+const HOLD = new Set(['44736900464691']); // Vista Wine | Maharam — parity BAD, never touch
+
+// Colorway + material from the Shopify product tags/description (read 2026-09-23, tk11847-bodies-20260923.json + storefront .json)
+const PLAN = [
+ { offerId: '44724797538355', title: 'Apollo Chardonnay', color: 'Chardonnay', material: 'Faux Leather' },
+ { offerId: '44724798226483', title: 'Brushed Finesse Champagne', color: 'Champagne', material: 'Faux Leather' },
+ { offerId: '44724798193715', title: 'Infinity White Zinfandel', color: 'White Zinfandel', material: 'Faux Leather' },
+ { offerId: '40977437818931', title: 'McKinley Park Type 2 | Phillipe Romano', color: 'Gray', material: 'Vinyl' },
+ { offerId: '44508742418483', title: 'Colonne Une Véritable Affinité | Elitis', color: 'Silver', material: 'Textile' },
+ { offerId: '44508735209523', title: "Volutes Le Goût De L'étrange | Elitis", color: 'Cream', material: 'Vinyl' },
+];
+
+const t = await token();
+const H = { Authorization: 'Bearer ' + t, 'Content-Type': 'application/json' };
+const resolved = await resolveSampleTitleDS(t, { merchant: MERCHANT });
+const DS = resolved.name;
+console.log(`datasource: ${DS} (${resolved.displayName || 'DW Sample Title Overrides'}) — primary-linked ✓`);
+console.log(`mode: ${ROLLBACK ? '⚠️ ROLLBACK (delete supplemental inputs)' : APPLY ? '⚠️ LIVE APPLY' : 'DRY-RUN (zero writes)'}\n`);
+
+const rows = [];
+for (const p of PLAN) {
+ if (HOLD.has(p.offerId)) { console.log('SKIP HOLD', p.offerId); continue; }
+ const live = await mc.getProduct('online:en:US:' + p.offerId);
+ const a = live._v1.productAttributes || {};
+ const liveTitle = a.title || '';
+ if (/sample/i.test(liveTitle)) { console.log('GATE FAIL (Sample in title — not this cohort)', p.offerId, liveTitle); process.exit(3); }
+ if (liveTitle !== p.title) { console.log('GATE FAIL (title drift)', p.offerId, JSON.stringify(liveTitle), '!=', JSON.stringify(p.title)); process.exit(3); }
+ const stillLR = live.itemLevelIssues.some(i => i.code === 'legal_restrictions_policy_violation' && i.servability === 'disapproved');
+ // real description from the storefront product JSON (the GMC feed currently carries just the title)
+ let desc = '';
+ try {
+ const u = new URL(a.link); const j = await (await fetch(u.origin + u.pathname.replace(/\/$/, '') + '.json', { headers: { 'User-Agent': 'Mozilla/5.0' } })).json();
+ desc = (j.product?.body_html || '').replace(/<[^>]+>/g, ' ').replace(/\s+/g, ' ').trim().slice(0, 900);
+ } catch (e) { console.log(' (description fetch failed, will omit description)', p.offerId, e.message); }
+ const productAttributes = { color: p.color, material: p.material };
+ if (desc) productAttributes.description = `${p.title} — ${p.color} colorway. ${desc}`;
+ rows.push({ ...p, stillLR, liveDescription: a.description, liveColor: a.color || null, liveMaterial: a.material || null, lastUpdateDate: live._v1.productStatus?.lastUpdateDate, productAttributes });
+ console.log(`${stillLR ? 'LR ' : 'ok '} ${p.offerId} ${p.title}\n live: color=${a.color || '-'} material=${a.material || '-'} desc="${(a.description || '').slice(0, 50)}"\n push: color=${p.color} material=${p.material} desc="${(productAttributes.description || '').slice(0, 90)}…"`);
+ await new Promise(z => setTimeout(z, 300));
+}
+const notLR = rows.filter(r => !r.stillLR);
+if (notLR.length) console.log(`\nNOTE: ${notLR.length} offer(s) no longer legal_restrictions-disapproved (self-cleared) — they will be SKIPPED on apply:`, notLR.map(r => r.offerId).join(', '));
+
+const art = `data/tk11847-colorway-override-${ROLLBACK ? 'ROLLBACK' : APPLY ? 'APPLY' : 'dryrun'}-${stamp()}.json`;
+const record = { ticket: 'TK-11847', mode: ROLLBACK ? 'ROLLBACK' : APPLY ? 'APPLY' : 'DRY-RUN', at: new Date().toISOString(), dataSource: DS, hold: [...HOLD], rows, results: [] };
+if (!APPLY && !ROLLBACK) { fs.writeFileSync(art, JSON.stringify(record, null, 1)); console.log('\nartifact:', art, '\nDRY-RUN only — ZERO writes. Apply path (Steve): --apply --yes-i-am-steve'); process.exit(0); }
+
+for (const r of rows) {
+ if (!ROLLBACK && !r.stillLR) { record.results.push({ offerId: r.offerId, skipped: 'self-cleared' }); continue; }
+ const name = `accounts/${MERCHANT}/productInputs/online~en~US~${r.offerId}`;
+ let resp;
+ if (ROLLBACK) {
+ resp = await fetch(`https://merchantapi.googleapis.com/products/v1/${name}?dataSource=${encodeURIComponent(DS)}`, { method: 'DELETE', headers: H });
+ } else {
+ const url = `https://merchantapi.googleapis.com/products/v1/accounts/${MERCHANT}/productInputs:insert?dataSource=${encodeURIComponent(DS)}`;
+ const body = { offerId: r.offerId, contentLanguage: 'en', feedLabel: 'US', productAttributes: r.productAttributes };
+ resp = await fetch(url, { method: 'POST', headers: H, body: JSON.stringify(body) });
+ }
+ const txt = await resp.text();
+ record.results.push({ offerId: r.offerId, http: resp.status, ok: resp.ok, body: txt.slice(0, 300) });
+ console.log(ROLLBACK ? 'DELETE' : 'INSERT', r.offerId, 'HTTP', resp.status, resp.ok ? '' : txt.slice(0, 160));
+ await new Promise(z => setTimeout(z, 400));
+}
+fs.writeFileSync(art, JSON.stringify(record, null, 1));
+console.log('\nartifact:', art);
+console.log('Verify ONLY via itemLevelIssues/destinationStatuses after a lag (node tk11847-fresh-state-20260923.mjs); lastUpdateDate is not the test.');
diff --git a/tk11847-fresh-state-20260923.mjs b/tk11847-fresh-state-20260923.mjs
new file mode 100644
index 0000000..08ff591
--- /dev/null
+++ b/tk11847-fresh-state-20260923.mjs
@@ -0,0 +1,55 @@
+// TK-11847 READ-ONLY fresh-state read of the 29 legal_restrictions cohort (2026-09-17).
+// Captures per-context destinationStatuses + itemLevelIssues + lastUpdateDate. $0, no writes.
+import fs from 'fs';
+import { createRequire } from 'module';
+const require = createRequire(import.meta.url);
+const mc = require('./_mc-read-v1.js');
+
+const EV = JSON.parse(fs.readFileSync('/Users/macstudio3/Projects/gmc-titlefix/data/tk11449-policy-locate.json','utf8'));
+const rows = EV.rows.filter(r => r.issues.some(i => i.includes('legal_restrictions')));
+
+const out = [];
+for (const r of rows) {
+ try {
+ const p = await mc.getProduct('online:en:US:' + r.offerId);
+ const ds = (p._v1.productStatus?.destinationStatuses || []).map(d => ({
+ ctx: d.reportingContext,
+ approved: d.approvedCountries || [],
+ disapproved: d.disapprovedCountries || [],
+ pending: d.pendingCountries || [],
+ }));
+ const apprCtx = ds.filter(d => d.approved.length && !d.disapproved.length).length;
+ const disaCtx = ds.filter(d => d.disapproved.length).length;
+ const dis = [...new Set(p.itemLevelIssues.filter(i => i.servability === 'disapproved').map(i => i.code))];
+ const noimp = [...new Set(p.itemLevelIssues.filter(i => i.servability === 'not_impacted').map(i => i.code))];
+ out.push({
+ offerId: r.offerId,
+ title: r.title,
+ approved_contexts: apprCtx,
+ disapproved_contexts: disaCtx,
+ disapproved_codes: dis,
+ notimpacted_codes: noimp,
+ still_legal_restrictions: dis.includes('legal_restrictions_policy_violation'),
+ lastUpdateDate: p._v1.productStatus?.lastUpdateDate || null,
+ advertised: p.price ? Number(p.price.value) : null,
+ contexts: ds,
+ });
+ console.log(`${dis.includes('legal_restrictions_policy_violation') ? 'LR ' : 'ok '} ${apprCtx}a/${disaCtx}d upd=${(p._v1.productStatus?.lastUpdateDate||'').slice(0,16)} ${r.title}`);
+ } catch (e) {
+ out.push({ offerId: r.offerId, title: r.title, error: String(e).slice(0,140) });
+ console.log('ERR', r.offerId, String(e).slice(0,100));
+ }
+ await new Promise(z => setTimeout(z, 350));
+}
+
+const summary = {
+ total: out.length,
+ still_legal_restrictions: out.filter(x => x.still_legal_restrictions).length,
+ cleared: out.filter(x => x.still_legal_restrictions === false).length,
+ cleared_all_ctx: out.filter(x => x.still_legal_restrictions === false && x.approved_contexts >= 6).length,
+ appeal_ready_parity_clean: 0, // filled by caller combining with parity file
+ hold: 0,
+};
+fs.writeFileSync('/Users/macstudio3/Projects/gmc-titlefix/data/tk11847-fresh-state-20260923.json',
+ JSON.stringify({ ticket: 'TK-11847', read_only: true, fetched_at: new Date().toISOString(), merchant: mc.MERCHANT, summary, rows: out }, null, 1));
+console.log('\nSUMMARY', JSON.stringify({ ...summary, detail: 'see data/tk11847-fresh-state-20260923.json' }));
\ No newline at end of file
diff --git a/tk11847-verify-parity-20260923.mjs b/tk11847-verify-parity-20260923.mjs
new file mode 100644
index 0000000..cbbbf0c
--- /dev/null
+++ b/tk11847-verify-parity-20260923.mjs
@@ -0,0 +1,82 @@
+// TK-11847 READ-ONLY re-verify + price-parity + second-cause probe for the 29
+// legal_restrictions (alcohol-classifier) false-positive offers. $0. No writes anywhere.
+// GMC reads via mc-read v1 (token API). Shopify landing via public products.json, paced 2.5s.
+import fs from 'fs';
+import { createRequire } from 'module';
+const require = createRequire(import.meta.url);
+const mc = require('./_mc-read-v1.js');
+
+const EV = JSON.parse(fs.readFileSync('/Users/macstudio3/Projects/gmc-titlefix/data/tk11449-policy-locate.json','utf8'));
+const rows = EV.rows.filter(r => r.issues.some(i => i.includes('legal_restrictions')));
+const UA = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125 Safari/537.36';
+
+// colorway-drink false-positive lexicon (name-based)
+const DRINK = /\b(champagne|chardonnay|zinfandel|merlot|cabernet|prosecco|riesling|sauvignon|pinot|rosé|rose wine|sherry|brandy|whiskey|whisky|bourbon|tequila|vodka|absinthe|chianti|burgundy|bordeaux|sangria|mimosa|bellini|cognac)\b/i;
+
+const out = [];
+for (const r of rows) {
+ const u = new URL(r.link);
+ const handle = u.pathname.split('/').pop();
+ const vid = u.searchParams.get('variant') || String(r.offerId).match(/(\d+)$/)?.[1] || r.offerId;
+ const rec = { offerId: r.offerId, title: r.title, handle, vid,
+ ev_ctx_approved: r.ctx_approved, ev_ctx_disapproved: r.ctx_disapproved };
+
+ // --- GMC current status (READ-ONLY) ---
+ try {
+ const p = await mc.getProduct('online:en:US:' + r.offerId);
+ rec.advertised = p.price ? Number(p.price.value) : null;
+ rec.gmc_dest = p.destinationStatuses?.[0]?.status ?? null;
+ const dis = [...new Set(p.itemLevelIssues.filter(i=>i.servability==='disapproved').map(i=>i.code))];
+ const noimp = [...new Set(p.itemLevelIssues.filter(i=>i.servability==='not_impacted').map(i=>i.code))];
+ rec.disapproved_codes = dis;
+ rec.notimpacted_codes = noimp;
+ rec.still_legal_restrictions = dis.includes('legal_restrictions_policy_violation');
+ rec.other_disapprovals = dis.filter(c => c !== 'legal_restrictions_policy_violation');
+ // second-cause probe: title has no drink word => capture attributes that a classifier might read
+ rec.title_has_drink_word = DRINK.test(r.title);
+ if (!rec.title_has_drink_word) {
+ const a = (p._v1 && p._v1.productAttributes) || {};
+ rec.probe = {
+ productTypes: a.productTypes || null,
+ googleProductCategory: a.googleProductCategory || null,
+ description: (a.description||'').slice(0,240),
+ productDetails: a.productDetails ? a.productDetails.map(d=>`${d.attributeName}=${d.attributeValue}`).slice(0,12) : null,
+ customLabels: [a.customLabel0,a.customLabel1,a.customLabel2,a.customLabel3,a.customLabel4].filter(Boolean),
+ };
+ }
+ } catch(e) { rec.gmc_err = String(e).slice(0,120); }
+
+ // --- Shopify landing parity (READ-ONLY public feed) ---
+ try {
+ const res = await fetch(`https://www.designerwallcoverings.com/products/${handle}.json`,
+ { headers:{'User-Agent':UA}, signal:AbortSignal.timeout(30000) });
+ rec.http = res.status;
+ if (res.ok) {
+ const p = (await res.json()).product;
+ rec.published = !!p.published_at;
+ rec.variants = p.variants.length;
+ const v = p.variants.find(v=>String(v.id)===String(vid));
+ rec.landing_variant_found = !!v;
+ rec.landing_price = v ? Number(v.price) : null;
+ rec.parity = (v && rec.advertised!=null) ? (Math.abs(Number(v.price)-rec.advertised)<0.005) : null;
+ }
+ } catch(e) { rec.http = 'ERR '+String(e).slice(0,60); }
+
+ out.push(rec);
+ const drk = rec.title_has_drink_word ? 'DRINK' : 'NO-WORD';
+ console.log(`${rec.parity===true?'PAR-OK ':rec.parity===false?'PAR-BAD':'PAR-??'} ${rec.still_legal_restrictions?'LR':' '} ${drk.padEnd(7)} adv=${String(rec.advertised).padEnd(7)} land=${String(rec.landing_price).padEnd(7)} other=${(rec.other_disapprovals||[]).join(',')||'-'} ${rec.title}`);
+ await new Promise(z=>setTimeout(z, 2500));
+}
+
+const summary = {
+ total: out.length,
+ still_legal_restrictions: out.filter(r=>r.still_legal_restrictions).length,
+ parity_ok: out.filter(r=>r.parity===true).length,
+ parity_bad: out.filter(r=>r.parity===false).length,
+ parity_unknown: out.filter(r=>r.parity==null).length,
+ with_other_disapprovals: out.filter(r=>(r.other_disapprovals||[]).length).length,
+ no_drink_word: out.filter(r=>r.title_has_drink_word===false).length,
+};
+fs.writeFileSync('/Users/macstudio3/Projects/gmc-titlefix/data/tk11847-verify-parity-20260923.json',
+ JSON.stringify({ ticket:'TK-11847', read_only:true, fetched_at:new Date().toISOString(), merchant:mc.MERCHANT, summary, rows:out }, null, 1));
+console.log('\nSUMMARY', JSON.stringify(summary));
← 16e8078 TK-11731: --apply fires the dry-run cohort snapshot with a c
·
back to Gmc Titlefix
·
TK-11847 Option B script: fold in Kimi review (front-load wa c2e8ed1 →