{"slug":"dw-vendor-microsites","total":178,"limit":100,"offset":0,"since":null,"commits":[{"hash":"33996da","date":"2026-07-14 13:01:09 -0700","author":"Steve","subject":"crezana: DWCZ-###### 6-digit dw_sku in staging feed","body":""},{"hash":"c2b77e6","date":"2026-07-14 08:11:32 -0700","author":"Steve","subject":"crezana: collection-encoded DWCZ SKUs + handle/title in staging feed","body":""},{"hash":"b5e9103","date":"2026-07-14 07:51:47 -0700","author":"Steve","subject":"crezana: patch staging with dw_sku + card shows DW series SKU not CREZ- hash","body":""},{"hash":"ed3fe0c","date":"2026-07-13 12:20:39 -0700","author":"Steve","subject":"chore: manifest state (session close)","body":""},{"hash":"0429946","date":"2026-07-13 11:01:52 -0700","author":"Steve","subject":"justindavid: deploy_status DEPLOYED as Phillipe Romano Textiles (2 live-broken PL sites now fixed)","body":""},{"hash":"27c3f15","date":"2026-07-13 10:31:01 -0700","author":"Steve","subject":"justindavid: recover 4720 images LOCAL $0 + rebrand Meridian Cloth House -> Phillipe Romano Textiles","body":"Same root cause as command54: catalog had 4720 justindavid.com/wp-content image_urls all blanked by\nthe private-label scrub (host contains 'justindavid'). Downloaded local to public/img/<dw_sku>.jpg\n(neutral DWPR names), staging + dw_unified written, health 0.76 (4720/6172). Rebranded to Phillipe\nRomano Textiles (fabric line). Images gitignored (2.6GB, rsync-deployed).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"33e7b49","date":"2026-07-13 10:22:14 -0700","author":"Steve","subject":"command54 microsite: rebrand Sunset Atelier -> Phillipe Romano Vinyls","body":"Align with the Phillipe Romano private-label (command54 = the vinyl line). New subdomain\nphillipe-romano-vinyls.designerwallcoverings.com (DNS added, 2120 rows, images render). Old\nsunset-atelier retired: nginx vhost removed + Cloudflare DNS record deleted. 'Command54' stays banned.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"931ccb7","date":"2026-07-13 10:13:58 -0700","author":"Steve","subject":"command54 (Phillipe Romano): recover 2110 images LOCAL $0 + durable dw_unified","body":"Root cause: command54_catalog had 2110 branded command54.com image_urls that the private-label\nleak-scrub BLANKS on export -> empty microsite. Downloaded all locally to public/img/<dw_sku>.jpg\n(neutral DWHW/DWPR names, scrub-safe), pointed image_url at /img/, wrote dw_unified durably. Images\ngitignored (724MB, rsync-deployed). 18 junk nav-rows skipped.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"55762bf","date":"2026-07-13 01:59:20 -0700","author":"Steve","subject":"brand_mckenzie: recover 167 images $0 (host-swap ->api.brandmckenzie.com) + deploy; identity-check retry","body":"Contrarian was right: 403 was only on products.json; images live on api.brandmckenzie.com (200 image/jpeg,\nGET not HEAD). Host-swapped 167 rows, health 0.0->1.0, dw_unified written, deployed, DNS added. Also added\na 4x retry to the post-deploy identity check so it doesn't false-fail on the nginx-reload transient.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"de19e16","date":"2026-07-13 01:56:33 -0700","author":"Steve","subject":"rwltd: recover 986 images $0 colorway-accurate + deploy (health 0.15->0.923); identity-check uses --resolve","body":"Contrarian caught I matched rwltd on the wrong key: right key is per-VARIANT (handle,color-slug)\n-> variant.featured_image.src (92% match, colorway-accurate). Recovered staging+dw_unified, deployed\n(port auto-reassigned 10066->10108 by the collision guard), DNS added. Also fixed identity check to\nforce listen-IP via --resolve so it doesn't false-fail before a subdomain's DNS exists.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"a045dde","date":"2026-07-13 01:24:55 -0700","author":"Steve","subject":"gitignore staging backups; untrack auto-committed catchii .bak","body":""},{"hash":"3649440","date":"2026-07-13 01:24:39 -0700","author":"Steve","subject":"deploy-vendor: server-verified free-port guard + post-deploy identity check","body":"Two guards born from the catchii port-collision incident (2026-07-13):\n1. Pre-deploy: probe the REAL server for the port (manifest is blind to 200+ pm2 procs);\n   if bound by a squatter, auto-pick a verified-free port + persist. Frees own proc first\n   so redeploys don't churn.\n2. Post-deploy: verify live /api/skus total == staging row count; fail loudly (no DEPLOYED\n   mark) if the domain is serving another vendor. The old 401/200 smoke passed on collisions.\nValidated on catchii: kept 10107, identity OK (670 rows).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"43683d2","date":"2026-07-13 01:21:53 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-13T01:21:52 (1 files) — staging/catchii.jsonl.bak-imgfix-1783929496","body":""},{"hash":"21d76ee","date":"2026-07-13 01:20:15 -0700","author":"Steve","subject":"catchii: fix port collision (10098/10102 both in use) -> 10107, now serving own catalog","body":"deploy-vendor.sh smoke passed on a COLLIDED port because the squatting process also 401s;\ncatchii domain was serving denovowall then disignum data. Reassigned to a server-verified\nfree port. Exposes a systemic bug: manifest has 13 port collisions + allocator ignores real\nserver bindings.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"c26c4cd","date":"2026-07-13 01:04:48 -0700","author":"Steve","subject":"catchii: deploy_status DEPLOYED (401-gated, health-gate passed at 0.70); DNS A record still pending","body":""},{"hash":"2d33c75","date":"2026-07-13 00:59:10 -0700","author":"Steve","subject":"catchii microsite: recover images $0 from live Shopify feed (health 0.0->0.70 HEALTHY)","body":"478/670 rows re-imaged via exact slug match against catchii.com/products.json (Woo->Shopify\nre-platform left old /wp-content/ URLs 404). New CDN urls sample-verified live. Staging patched\nlocally (no dw_unified); durable catalog write follows once the dw_unified rule is in.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"b0c4262","date":"2026-07-12 23:14:05 -0700","author":"Steve","subject":"deploy-vendor: gate deploy on image_health>=0.5 (DEPLOY_FORCE=1 override)","body":"Closes the gap where BUILD_STATUS=BUILT_NEEDS_RESCRAPE still deployed — which put\ncommand54/justindavid/phillip_jeffries live with image_health=0.0 (empty grids).\nNow refuses to deploy a vendor with broken/missing images unless explicitly forced.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"5317ea3","date":"2026-07-12 23:04:55 -0700","author":"Steve","subject":"image-health: exclude base64 data: URIs from coverage (placeholder count + PLACEHOLDER status)","body":"rwltd captured lazy-load spinner SVGs as image_url, inflating coverage to ~1.0\nand hiding that only 189/1071 rows have real images. Now reported honestly as\ncoverage 0.176 with placeholder=881. Real dead-link vendors (stout etc.) unchanged.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"ff30bdd","date":"2026-07-12 19:20:05 -0700","author":"Steve","subject":"deploy pierre_frey microsite -> DEPLOYED (401-gated, port 10066, wildcard SSL)","body":""},{"hash":"31faa91","date":"2026-07-12 12:18:10 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-12T12:18:09 (1 files) — manifest.json","body":""},{"hash":"ed9d5b2","date":"2026-07-12 11:48:03 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-12T11:48:02 (1 files) — manifest.json","body":""},{"hash":"032aa6b","date":"2026-07-09 16:28:00 -0700","author":"Steve","subject":"Refresh fromental microsite staging JSONL with collection + material (77/18 distinct)","body":""},{"hash":"1d2003a","date":"2026-07-09 13:58:39 -0700","author":"Steve","subject":"deploy fromental/gracie/zuber/crezana -> DEPLOYED (401-gated, noindex, wildcard SSL, pm2 on 10111-10114)","body":""},{"hash":"06ce69b","date":"2026-07-09 13:56:19 -0700","author":"Steve","subject":"manifest + gracie viewer: fromental/gracie/zuber/crezana -> BUILT (ports 10111-10114, quote-only samples-only)","body":""},{"hash":"466b936","date":"2026-07-09 09:39:56 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-09T09:39:56 (1 files) — staging/zuber.jsonl","body":""},{"hash":"aabcd89","date":"2026-07-09 09:33:00 -0700","author":"Steve","subject":"Scaffold Zuber DW microsite (samples-only viewer + fieldmap) + local zuber_catalog export","body":""},{"hash":"20fa0aa","date":"2026-07-09 09:16:12 -0700","author":"Steve","subject":"Add Gracie vendor microsite (quote-only, 150 patterns from gracie_catalog)","body":""},{"hash":"68fbe1d","date":"2026-07-09 09:12:24 -0700","author":"Steve","subject":"add crezana vendor microsite scaffold (staging + viewer, quote-only Fabric, NOT in manifest yet)","body":""},{"hash":"9a82cfb","date":"2026-07-09 09:12:20 -0700","author":"Steve Abrams","subject":"Scaffold Fromental vendor microsite (quote-only, samples-only, 735 rows) + staging JSONL; manifest entry noted not added","body":""},{"hash":"f514de2","date":"2026-07-09 09:09:50 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-09T09:09:49 (1 files) — vendors/crezana/","body":""},{"hash":"a4a6567","date":"2026-07-07 20:32:37 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-07T20:32:33 (1 files) — staging/pierre_frey_fabric.jsonl","body":""},{"hash":"7d822c6","date":"2026-07-07 16:40:47 -0700","author":"steve@designerwallcoverings.com","subject":"pierre_frey_fabric microsite viewer (samples-only, /api/products crawler feed, serves pierre_frey_fabric_catalog at pierrefreyfabrics)","body":""},{"hash":"68418a2","date":"2026-07-07 14:16:48 -0700","author":"Steve","subject":"Pierre Frey manifest: sku_count 1161, image_health 1.0","body":""},{"hash":"07f38b8","date":"2026-07-07 14:16:30 -0700","author":"Steve","subject":"Pierre Frey microsite: full 1161-SKU catalog from local dw_unified, viewer smoke PASS","body":""},{"hash":"b3bdfeb","date":"2026-07-07 14:14:46 -0700","author":"Steve","subject":"build pierre_frey (Pierre Frey) -> BUILT, port 10066, 46 skus, img 1.0","body":""},{"hash":"36b61f5","date":"2026-07-07 13:35:50 -0700","author":"steve@designerwallcoverings.com","subject":"pierre_frey microsite: fatten 46->1161 from dw_unified, add crawler-compatible /api/products feed endpoint, strip banned-word 'Wallpaper' from names, drop product_url leak; manifest sku_count=1161","body":""},{"hash":"1ce3846","date":"2026-07-07 13:30:46 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-07T13:30:45 (2 files) — staging/pierre_frey.jsonl staging/pierre_frey.jsonl.bak-46-1783456132","body":""},{"hash":"eb61eab","date":"2026-07-01 10:03:46 -0700","author":"Steve","subject":"scrub-gate: add New York place-name FP guard to export-catalog + leak-scan","body":"The malibu/phillipe_romano/hollywood private-label houses legitimately ban\n\"York\" (they source from the real York/Brewster). The shared shell/python\nscrub gate did word-boundary York matching with NO place-name guard, so a\nre-export of those houses would corrupt legit \"New York\" NYC pattern names\n(Concrete New York -> Concrete New MalibuWallpaper) and leak-scan would\nfalse-flag them. dw-leak-scanner/leak-match.mjs already guards this class;\nthis ports the same guard to the microsites gate.\n\nGuard (armed only when a bare \"york\" is in the banned set): protects\nnew york / nueva york / york weave / york-scrape from the scrub+scan, while\nstill de-branding a standalone \"York\" / \"yorkwall\". Verified: rebel_walls\n+ designers_guild go clean under a hypothetical York ban; york_contract's 266\ngenuine York leaks still flag; genuine 'York Wallcoverings'/'yorkwall.com' URLs\nstill scrubbed.\n\nRebel Walls itself is a public brand with no banned list, so it is never\nscrubbed and had zero genuine leaks — the canary flag was a stale false\npositive already resolved upstream by leak-match.mjs.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"c5760b0","date":"2026-07-01 09:56:33 -0700","author":"Steve","subject":"fix vendor-viewer port collisions: align manifest to live/nginx ports (tecnografica 10079->10057 resolves Versace mis-proxy; +york/threads/manuel_canovas/schumacher/denovowall/dolce_gabbana)","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"6f06550","date":"2026-06-30 20:21:02 -0700","author":"Steve","subject":"reassign command54 to free port 10006 to resolve port collision","body":""},{"hash":"f66d1df","date":"2026-06-30 20:17:33 -0700","author":"Steve","subject":"rename 5 private-label vendors to distinct non-leaking house brands and subdomains","body":""},{"hash":"e6cf2d0","date":"2026-06-30 19:42:56 -0700","author":"Steve Abrams","subject":"auto-save: 2026-06-30T19:42:55 (4 files) — staging/hollywood_house.jsonl staging/malibu_house.jsonl staging/phillipe_romano_house.jsonl merge-work/scaffold-house.sh","body":""},{"hash":"dd67f45","date":"2026-06-30 19:39:18 -0700","author":"Steve","subject":"merge: fix glued-brand scrub in export-catalog + house-merge tooling; combine 3 house collisions","body":""},{"hash":"18fcfbf","date":"2026-06-30 17:04:12 -0700","author":"Steve","subject":"fleet: +3 relink deploys (mindthegap/sisterparish/tecnografica); hollywood+twil_karin scrub-fixed+live; manifest updates","body":""},{"hash":"c252486","date":"2026-06-30 16:53:57 -0700","author":"Steve","subject":"build tecnografica (Tecnografica) -> BUILT, port 10079, 909 skus, img 0.721","body":""},{"hash":"047bbef","date":"2026-06-30 16:53:31 -0700","author":"Steve","subject":"build sisterparish (Sister Parish) -> BUILT, port 10078, 73 skus, img 1.0","body":""},{"hash":"610acc4","date":"2026-06-30 16:53:12 -0700","author":"Steve","subject":"build mindthegap (Mind the Gap) -> BUILT, port 10050, 1040 skus, img 1.0","body":""},{"hash":"c5496fc","date":"2026-06-30 16:52:57 -0700","author":"Steve","subject":"build stout (Stout Textiles) -> BUILT, port 10070, 180 skus, img 0.0","body":""},{"hash":"6f097b9","date":"2026-06-30 16:51:32 -0700","author":"Steve","subject":"fix: recursive word-boundary-aware private-label scrub + leak gate (keys, nested specs, ai_tags); hollywood + twil_karin deployed","body":"Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"c9269da","date":"2026-06-30 16:49:10 -0700","author":"Steve","subject":"build twil_karin (Phillipe Romano) -> BUILT, port 10101, 210 skus, img 0.965","body":""},{"hash":"ada35d5","date":"2026-06-30 16:48:35 -0700","author":"Steve","subject":"build hollywood (Hollywood Wallcoverings) -> BUILT, port 10100, 3466 skus, img 0.9","body":""},{"hash":"86e7483","date":"2026-06-30 16:41:57 -0700","author":"Steve Abrams","subject":"auto-save: 2026-06-30T16:41:53 (1 files) — manifest.json","body":""},{"hash":"1b95d7c","date":"2026-06-30 16:35:30 -0700","author":"Steve","subject":"deploy-vendor: source shared Shopify env into pm2 proc for Memo-Sample checkout","body":""},{"hash":"b9cef76","date":"2026-06-30 16:11:46 -0700","author":"Steve Abrams","subject":"auto-save: 2026-06-30T16:11:45 (1 files) — manifest.json","body":""},{"hash":"c958b7c","date":"2026-06-30 15:47:31 -0700","author":"Steve","subject":"cards: hover reveal = pattern name + model# only; chip gap 6->14px (Steve)","body":""},{"hash":"3f21b33","date":"2026-06-30 15:41:35 -0700","author":"Steve Abrams","subject":"auto-save: 2026-06-30T15:41:34 (1 files) — manifest.json","body":""},{"hash":"e992657","date":"2026-06-30 15:09:02 -0700","author":"Steve","subject":"fix dedar (git-lock retry) + exclude twil (not in registry)","body":""},{"hash":"f33c9dc","date":"2026-06-30 15:09:01 -0700","author":"Steve","subject":"build dedar (Dedar) -> BUILT, port 10022, 436 skus, img 0.998","body":""},{"hash":"4e4cc8e","date":"2026-06-30 15:05:58 -0700","author":"Steve","subject":"build china_seas (China Seas) -> BUILT, port 10099, 2650 skus, img 0.975","body":""},{"hash":"b52e614","date":"2026-06-30 15:05:55 -0700","author":"Steve","subject":"build catchii (Catchii) -> BUILT, port 10098, 670 skus, img 0.0","body":""},{"hash":"8c752e4","date":"2026-06-30 15:05:47 -0700","author":"Steve","subject":"build brunschwig (Brunschwig & Fils) -> BUILT, port 10097, 744 skus, img 0.975","body":""},{"hash":"9b40b8c","date":"2026-06-30 15:05:44 -0700","author":"Steve","subject":"build fentucci_naturals (Fentucci Naturals) -> BUILT, port 10096, 148 skus, img 0.0","body":""},{"hash":"4827277","date":"2026-06-30 15:05:41 -0700","author":"Steve","subject":"build british_walls (British Walls) -> BUILT, port 10095, 506 skus, img 0.975","body":""},{"hash":"ddedb2f","date":"2026-06-30 15:05:40 -0700","author":"Steve","subject":"build arte (Arte International) -> BUILT, port 10094, 1991 skus, img 0.874","body":""},{"hash":"1e2f7bb","date":"2026-06-30 15:05:31 -0700","author":"Steve","subject":"build baker_lifestyle (Baker Lifestyle) -> BUILT, port 10093, 74 skus, img 0.975","body":""},{"hash":"0d12c7a","date":"2026-06-30 15:05:24 -0700","author":"Steve","subject":"build atomic50 (Atomic 50 Ceilings) -> BUILT, port 10092, 59 skus, img 0.983","body":""},{"hash":"860ba1a","date":"2026-06-30 15:05:22 -0700","author":"Steve","subject":"build zinc_textile (Zinc Textile) -> BUILT, port 10091, 100 skus, img 1.0","body":""},{"hash":"f52a652","date":"2026-06-30 15:05:18 -0700","author":"Steve","subject":"build zoffany (Zoffany) -> BUILT, port 10090, 384 skus, img 0.992","body":""},{"hash":"77c30e8","date":"2026-06-30 15:05:14 -0700","author":"Steve","subject":"build zimmer_rohde (Zimmer + Rohde) -> BUILT, port 10089, 93 skus, img 1.0","body":""},{"hash":"bb831bf","date":"2026-06-30 15:05:08 -0700","author":"Steve","subject":"build as_creation (AS Creation) -> BUILT, port 10088, 6166 skus, img 1.0","body":""},{"hash":"5cd0148","date":"2026-06-30 15:04:56 -0700","author":"Steve","subject":"build york_contract (York Contract) -> BUILT, port 10087, 3293 skus, img 1.0","body":""},{"hash":"6519b73","date":"2026-06-30 15:04:55 -0700","author":"Steve","subject":"build arteriors (Arteriors) -> BUILT, port 10087, 23 skus, img 0.348","body":""},{"hash":"88510e2","date":"2026-06-30 15:04:50 -0700","author":"Steve","subject":"build wolf_gordon (Wolf Gordon) -> BUILT, port 10086, 5397 skus, img 0.921","body":""},{"hash":"a86b05e","date":"2026-06-30 15:04:49 -0700","author":"Steve","subject":"build york (York Wallcoverings) -> BUILT, port 10086, 5304 skus, img 0.943","body":""},{"hash":"9fb17d0","date":"2026-06-30 15:04:46 -0700","author":"Steve","subject":"build w1838 (1838 Wallcoverings) -> BUILT, port 10085, 404 skus, img 1.0","body":""},{"hash":"1c36cb9","date":"2026-06-30 15:04:34 -0700","author":"Steve","subject":"build william_morris (William Morris) -> BUILT, port 10084, 339 skus, img 0.912","body":""},{"hash":"e36347a","date":"2026-06-30 15:04:33 -0700","author":"Steve","subject":"build villa_nova (Villa Nova) -> BUILT, port 10083, 387 skus, img 1.0","body":""},{"hash":"ecee518","date":"2026-06-30 15:04:29 -0700","author":"Steve","subject":"build carlisle (Carlisle & Co) -> BUILT, port 10082, 728 skus, img 1.0","body":""},{"hash":"c1fe71e","date":"2026-06-30 15:04:18 -0700","author":"Steve","subject":"build leed_walls (LEED Walls) -> BUILT, port 10081, 93 skus, img 1.0","body":""},{"hash":"5537a9d","date":"2026-06-30 15:04:15 -0700","author":"Steve","subject":"build versa_ds (DW Commercial Surfaces) -> BUILT, port 10080, 2192 skus, img 0.0","body":""},{"hash":"f4e0557","date":"2026-06-30 15:04:10 -0700","author":"Steve","subject":"build versace (Versace) -> BUILT, port 10079, 228 skus, img 0.939","body":""},{"hash":"d29514e","date":"2026-06-30 15:04:10 -0700","author":"Steve","subject":"build tecnografica (Tecnografica) -> BUILT, port 10079, 909 skus, img 0.0","body":""},{"hash":"f4c579f","date":"2026-06-30 15:04:06 -0700","author":"Steve","subject":"build sisterparish (Sister Parish) -> BUILT, port 10078, 73 skus, img 0.0","body":""},{"hash":"a300c6c","date":"2026-06-30 15:04:03 -0700","author":"Steve","subject":"build timorous (Timorous Beasties) -> BUILT, port 10077, 228 skus, img 0.75","body":""},{"hash":"33f2c91","date":"2026-06-30 15:04:00 -0700","author":"Steve","subject":"build tres_tintas (Tres Tintas) -> BUILT, port 10076, 1506 skus, img 1.0","body":""},{"hash":"c3611ff","date":"2026-06-30 15:03:58 -0700","author":"Steve","subject":"build wallquest (WallQuest) -> BUILT, port 10075, 2515 skus, img 1.0","body":""},{"hash":"684232f","date":"2026-06-30 15:03:49 -0700","author":"Steve","subject":"build thibaut (Thibaut) -> BUILT, port 10074, 6057 skus, img 0.825","body":""},{"hash":"27b11a1","date":"2026-06-30 15:03:44 -0700","author":"Steve","subject":"build studio_printworks (Studio Printworks) -> BUILT, port 10073, 383 skus, img 1.0","body":""},{"hash":"17bda23","date":"2026-06-30 15:03:44 -0700","author":"Steve","subject":"build threads (Threads) -> BUILT, port 10073, 107 skus, img 1.0","body":""},{"hash":"6902ef9","date":"2026-06-30 15:03:27 -0700","author":"Steve","subject":"build scalamandre (Scalamandre) -> BUILT, port 10072, 4876 skus, img 1.0","body":""},{"hash":"78b05ac","date":"2026-06-30 15:03:24 -0700","author":"Steve","subject":"build surface_stick (Surface Stick) -> BUILT, port 10071, 6 skus, img 1.0","body":""},{"hash":"96809d6","date":"2026-06-30 15:03:18 -0700","author":"Steve","subject":"build stout (Stout Textiles) -> BUILT, port 10070, 180 skus, img 0.0","body":""},{"hash":"5d00387","date":"2026-06-30 15:03:17 -0700","author":"Steve","subject":"build sandberg (Sandberg) -> BUILT, port 10070, 1106 skus, img 0.783","body":""},{"hash":"dd9acc0","date":"2026-06-30 15:03:15 -0700","author":"Steve","subject":"build sancar (Sancar) -> BUILT, port 10069, 3418 skus, img 1.0","body":""},{"hash":"acb1abe","date":"2026-06-30 15:03:08 -0700","author":"Steve","subject":"build romo (Romo) -> BUILT, port 10068, 2648 skus, img 0.525","body":""},{"hash":"ecfa144","date":"2026-06-30 15:03:05 -0700","author":"Steve","subject":"build roberto_cavalli (Roberto Cavalli) -> BUILT, port 10067, 82 skus, img 1.0","body":""},{"hash":"9c0a63e","date":"2026-06-30 15:03:02 -0700","author":"Steve","subject":"build rwltd (Reid Witlin) -> BUILT, port 10066, 1071 skus, img 0.15","body":""},{"hash":"349fd3d","date":"2026-06-30 15:03:01 -0700","author":"Steve","subject":"build pierre_frey (Pierre Frey) -> BUILT, port 10066, 46 skus, img 1.0","body":""},{"hash":"bb0cc1b","date":"2026-06-30 15:02:55 -0700","author":"Steve","subject":"build ralph_lauren (Ralph Lauren) -> BUILT, port 10065, 3148 skus, img 0.164","body":""},{"hash":"608b13a","date":"2026-06-30 15:02:42 -0700","author":"Steve","subject":"build phillipe_romano (Phillipe Romano) -> BUILT, port 10064, 3235 skus, img 0.721","body":""}]}