[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fYSQX2qrptzh7_cMap7iWsjQIZ7VlpiWzy8iPP7QcVek":3,"product-codes:brushes:citadel-synthetic-layer-medium":190},{"product":4,"offerSlice":105,"markets":186,"threeDCategory":66},{"id":5,"name":6,"brand":7,"category":8,"hub":9,"facts":10,"image":15,"links":18,"reason":96,"brushAttributes":97,"_recode":104},"citadel-synthetic-layer-medium","Citadel Synthetic Layer Brush (Medium)","Citadel","brush","citadel",{"hair":11,"use":12,"makerCode":13,"mpn":14},"synthetic","layering","99199999095","99199999067",{"url":16,"source":17},"https://www.waylandgames.co.uk/media/catalog/product/cache/74c1057f7991b4edb2bc7bdaa94de933/9/9/99199999067_cover_de67.jpg","wayland",{"wayland":19,"wargameportal":24,"nobleknight":30,"ebay":34,"amazon":63,"my-hobby-place":68,"el-taller-del-modelista":79,"athena-games":84,"loaded-dice":90},{"slug":20,"title":6,"price":21,"inStock":22,"pricedAt":23},"citadel-synthetic-layer-brush-medium-99199999067",3.74,true,"2026-09-25",{"handle":25,"title":26,"price":27,"available":28,"pricedAt":29},"stc-layer-brush-medium","STC Layer Brush (Medium)",6.16,false,"2026-09-27",{"url":31,"title":32,"price":33,"inStock":22},"https://www.nobleknight.com/P/2147890933/Synthetic-Layer-Brush---Medium","Synthetic Layer Brush - Medium",7.49,{"uk":35},[36,44,49,52,54,58],{"seller":37,"price":38,"currency":39,"url":40,"title":41,"shipsFrom":42,"shipsFromSource":43},"The Model Workshop / Hobby Workshop",4.07,"GBP","https://www.ebay.co.uk/itm/204693795542","Citadel STC - Synthetic Layer Brush - Medium","GB","listing",{"seller":45,"price":46,"currency":39,"url":47,"title":48,"shipsFrom":42,"shipsFromSource":43},"kjb-models",7.75,"https://www.ebay.co.uk/itm/397148818244","Citadel 63-02 Colour Synthetic Layer Paint Brush Medium *",{"seller":37,"price":50,"currency":39,"url":51,"title":41,"shipsFrom":42,"shipsFromSource":43},8.57,"https://www.ebay.co.uk/itm/204693795559",{"seller":37,"price":38,"currency":39,"url":53,"title":41,"shipsFrom":42,"shipsFromSource":43},"https://www.ebay.co.uk/itm/205476578519",{"seller":55,"price":56,"currency":39,"url":57,"title":6,"shipsFrom":42,"shipsFromSource":43},"carousel-store",9.05,"https://www.ebay.co.uk/itm/298684787705",{"seller":59,"price":60,"currency":39,"url":61,"title":62,"shipsFrom":42,"shipsFromSource":43},"glasshammer-gaming",9.59,"https://www.ebay.co.uk/itm/186443832715","Synthetic Layer Brush (Medium) - Citadel - New",{"uk":64},{"asin":65,"price":66,"title":67},"B094Y3SRW9",null,"Games Workshop - Citadel - Synthetic Layer Medium, Black",{"id":69,"handle":70,"url":71,"title":72,"maker":73,"reference":74,"sku":74,"ean":75,"category":76,"price":77,"available":22,"via":78,"match":78,"pricedAt":29},1789,"1789-synthetic-layer-brush-medium","https://myhobby.place/en/1789-synthetic-layer-brush-medium.html","Synthetic Layer Brush (medium)","Games Workshop","9919999909506","5011921104697","Layer",4.6,"agent",{"url":80,"title":81,"sku":82,"price":77,"available":22,"match":78,"pricedAt":83},"https://www.eltallerdelmodelista.com/es/herramientas/pinceles/46599-pincel-stc-m-layer-games-workshop-63-02.html","Pincel STC \"M\" Layer.","63-02","2026-09-17",{"handle":85,"title":86,"sku":87,"price":88,"available":22,"match":78,"pricedAt":89},"synthetic-medium-layer-brush","Synthetic Medium Layer Brush","99199999095068",4.4,"2026-10-11",{"handle":91,"title":92,"sku":93,"price":94,"available":22,"match":78,"pricedAt":95},"warhammer-colour-synthetic-layer-brush-medium","Warhammer Colour: Synthetic Layer Brush (Medium)","W63-02",4.19,"2026-10-12","Citadel Synthetic range; GW code 63-xx agrees across shops.",{"isSet":28,"brushType":98,"hair":11,"makerAnimalFreeClaim":99},"round",{"claim":100,"line":101,"source":102,"checkedAt":103},"none-stated","Citadel STC synthetic brushes","https://www.warhammer-community.com/en-gb/articles/y0jTKObF/paint-like-a-pro-with-the-new-stc-range-of-synthetic-brushes/","2026-09-30","SAME PRODUCT, RE-CODED (judged 2026-10-12, owner: \"ask an agent\"). GW lists 99199999095 as \"Warhammer Colour Layer Brush Medium\" at £4.40 (data/gw-catalogue.json); Wayland's gear catalogue (data/wayland-gear-catalogue.json; Wayland buy on a GW trade account and carry GW's trade names and RRPs) sells the old code 99199999067 under GW's new name \"Medium Layer Brush - Warhammer Colour\" at RRP £4.40 — the same price to the penny. GW catalogue number 63-02 carries across both codes (eBay and Merlin's titles quote \"63-02\" on Warhammer Colour and Citadel-branded listings alike). GW re-coded its Citadel Colour hobby range as \"Warhammer Colour\" in 2026 without changing the product: GW's own catalogue (data/gw-catalogue.json, mined 2026-09-28) lists only the new code and neither lists nor delists the old one; GW's trade-site pack shots file the new code under the SAME GW catalogue number (Athena's images, copied from trade.games-workshop.com: \"BSA-63-05-99199999096-BRUSHBASE\", \"BSF-66-53-99219999043-WarhammerC…\"); and every shop that sold the old code re-skued the SAME product page to the new code (Athena's pages carry 2021 images named for the old code — \"TR-63-01-99199999066-SyntheticLayerBrushSmall\" — under the new sku; My Hobby Place's links on these rows already carry the new code). The natural-hair 043-053 brushes are still listed by GW beside the new codes at their own, higher prices, so the new codes are not successors to those. RECORDED: facts.makerCode = 99199999095 (GW's current code, the one a product page should publish), facts.mpn = 99199999067 (the code it was sold under until 2026, kept so every judged link carrying it still agrees on maker code).",{"registries":106,"waylandUnitDeeplinks":185},{"waylandGearDeeplinks":107,"gearLinks":111,"gearProducts":112,"gswGearPrices":113,"rosemarycoPrices":120,"goldenmaplePrices":129,"sunluEuroPrices":140,"amazonStockChecks":181},{"note":108,"links":109},"wayland slug -> registered iDevAffiliate deeplink id, for the gear/brush/airbrush catalogue. Applied from data/wayland-gear-deeplinks.tsv by apply-wayland-gear-deeplinks. A slug absent here renders NO Wayland offer - only registered deeplinks earn.",{"citadel-synthetic-layer-brush-medium-99199999067":110},"9339",{},{},{"minedAt":114,"note":115,"currencies":116,"prices":119},"2026-09-08T07:19:56.599Z","DERIVED, not curated: Green Stuff World gear prices per market, keyed by GSW productId, read from data/gsw-catalogue.json for the productIds the curated catalogues already link. Rebuild with scripts/build-gsw-gear-prices.mjs after any re-run of scripts/mine-gsw.mjs. It admits nothing and judges nothing — the link claim lives in the curated catalogue.",{"uk":39,"eu":117,"us":118},"EUR","USD",{},{"minedAt":121,"note":122,"currencies":123,"marketNote":126,"restrictionNote":127,"prices":128},"2026-09-08T17:17:02.961Z","DERIVED, not curated: what Rosemary & Co's own storefront DISPLAYS for the brushes we sell, per market, keyed by THEIR sku. Read from data/rosemaryco-currencies.json for the skus the curated catalogues already link, and rebuilt with scripts/build-rosemaryco-prices.mjs. It admits nothing and judges nothing — the link claim lives in the curated catalogue, and every figure was read off their page, never converted here.",{"uk":39,"us":118,"eu":117,"ca":124,"au":125},"CAD","AUD","Their six currencies are a SESSION switch on one URL space, so a link cannot select one: a click lands in the visitor's session currency, which is theirs to set and ours to quote. The price shown per market is the figure their store displays in that currency, INCLUDING UK VAT as their storefront quotes it. A non-EU buyer is charged the ex-VAT base at checkout (and, in the USA, a 10% tariff collected there since 29 Aug 2025), so priceExVat travels with each row as the honest lower bound.","This registry prices what the shop shows; it does NOT decide which markets get an offer. A sable row emits no US offer and a bulky row no EU offer, because Rosemary state they cannot post those parcels there — that gate lives with the restriction data (data/retailerDelivery.ts) and is applied by rosemaryOfferRows in frontend/utils/gearOffers.ts, which the offer builder and the hreflang/sitemap gate both read. Canada and Australia are on their bulky-items country list and outside the sable rule, so every row prices in all five markets and only the two restricted cells are withheld downstream.",{},{"minedAt":130,"note":131,"marketNote":132,"currencies":133,"countries":134,"prices":139},"2026-09-13T11:16:52.625Z","DERIVED, not curated: what Golden Maple's own storefront DISPLAYS for the products we sell, per market, keyed by THEIR variant id (the one the curated link URL carries). Mined by scripts/mine-goldenmaple-prices.mjs from artgoldenmaple.com's per-country pages (?country=XX — Shopify Markets). It admits nothing and judges nothing — the link claim lives in the curated catalogue, and every figure was read off their page, never converted here.","One storefront, five figures: ?country= selects the currency Shopify Markets displays to that country, so unlike Rosemary's session switcher the click CAN land on the page showing the figure we quoted — the frontend appends the same country param this mine read. The eu figure is the German page's (their own shipping policy draws the EU threshold there). Prices are the store's own displayed figures per country, which they set — the GBP figure is not a conversion of the USD one, by us or anyone.",{"uk":39,"us":118,"eu":117,"au":125,"ca":124},{"uk":42,"us":135,"eu":136,"au":137,"ca":138},"US","DE","AU","CA",{},{"minedAt":141,"note":142,"countriesNote":143,"countries":144,"groups":173,"prices":180},"2026-09-27T17:03:46.573Z","DERIVED, not curated: what SUNLU's own Shopify Markets store charges per euro COUNTRY for each Ship-to-Europe variant, keyed by THEIR variant id (the one links.sunlu.markets.eu.url carries). Mined by scripts/mine-sunlu-euro-prices.mjs from store.sunlu.com/products.json with each country's localization cookie; every figure read off the store, never converted. `groups` are the countries charged alike for every variant; `prices[variant][group]` is that group's price. It admits nothing and judges nothing.","The 29 countries the store's selector prices in EUR AND its shipping policy's Frankfurt list names (both read 2026-09-27). The EU edition shows min–max over these and ranks on the HIGH end (utils/priceRange.ts).",[145,146,147,148,149,150,136,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172],"AT","BE","BG","CH","CY","CZ","DK","ES","FI","FR","GR","HR","HU","IE","IT","LT","LU","MC","MT","NL","NO","PL","PT","RO","RS","SE","SI","SK",{"g1":174,"g2":175,"g3":176,"g4":177,"g5":178,"g6":179},[145,146,147,148,149,151,153,155,156,157,158,159,160,161,162,163,164,165,167,168,169,171,172],[150,152],[136],[154],[166],[170],{},{"note":182,"checkedAt":183,"checks":184},"MECHANICAL availability observations for judged accessory Amazon links — the analogue of affiliateDealStock.json, decided by nobody. Written by scripts/check-amazon-stock.mjs, which reads each judged listing's own page: available:false means THAT store's page said 'Currently unavailable' (or its localised form) at checkedAt; available:true means the page offered purchase; available:null means the read was walled and proves nothing. The offer builder (getBrushProductLinks) suppresses ONLY available:false — an unprobed or unproven listing still renders, because a wall is not a dead product. This file records observations about listings, never identity: the verdicts in data/accessoryCandidates/verdicts/ are untouched by it.","2026-09-06",{},{},[187,188,189],"uk","us","eu",{"codes":191},{"mpn":13,"gtins":192},[193],{"code":75,"format":194},"gtin13"]