{"slug":"quadrille-house-site","total":24,"limit":100,"offset":0,"since":null,"commits":[{"hash":"45e0a40","date":"2026-09-04 08:25:08 -0700","author":"Steve Abrams","subject":"deploy: guard prod-only runtime data from rsync --delete","body":"deploy.sh runs 'rsync -az --delete' with no data/ exclude, so a deploy\noverwrote the box's runtime file with the local copy and destroyed\neverything written since the last deploy. Added a surgical\nRSYNC_EXTRA_EXCLUDES for this project's runtime path(s) only, so genuine\nbuild artifacts under data/ keep syncing.\n\nVerified by itemized rsync --dry-run against prod: the runtime file is\nlisted for transfer WITHOUT the exclude and absent WITH it.\n\nFleet sweep, TK-11227. Same bug class as the July 2026 artmura/quadrille\nmis-target fix and the abramsagency lead-ledger fix (TK-10536).\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_013mq9RQtVZZEWvreDqqTgv2"},{"hash":"6c6b2d8","date":"2026-08-31 02:08:00 -0700","author":"Steve Abrams","subject":"Add search and AI discovery endpoints","body":""},{"hash":"3ea5258","date":"2026-08-12 08:33:44 -0700","author":"Steve","subject":"viewer standard: add Grid/List toggle + per-field on/off menu (Fields) to product grid","body":""},{"hash":"9127fe1","date":"2026-08-04 11:44:42 -0700","author":"Steve Abrams","subject":"SEO: rel=nofollow sponsored on designerwallcoverings.com links (independent ranking) [fleet-seo]","body":""},{"hash":"dd87a2c","date":"2026-08-01 02:23:56 -0700","author":"Steve Abrams","subject":"quadrille-house-site: href-drill — card series is a filter-link (color+pattern URL-addressable)","body":"Card series is now an <a href=\"?series=…\"> to its filtered view (href-drill HARD rule);\ncolor + pattern(series) filter state is URL-addressable (shareable, deep-linkable,\nback-button-safe via popstate/readURL). Card click still opens the product (grid handler\nskips .drill); cmd/ctrl-click on a series opens the shareable href. Colorbar / pattern\nselect / brand chips untouched.\n\nVerified LOCAL (Playwright, :9945): click series -> ?series= + grid 3675->1657 all-matching;\ndeep-link restores; back-button->3675; canary FLAT->DONE; 0 pageerrors. PUBLIC/customer-facing\n— local commit only; DEPLOY gated (pending-approval). grid 10/92. TK-10089."},{"hash":"2845a90","date":"2026-07-03 08:08:12 -0700","author":"Steve","subject":"chore: macstudio3 migration — reconcile from mac2 + repoint paths (stevestudio2→macstudio3, node/npm/npx→/opt/homebrew)","body":""},{"hash":"07616d9","date":"2026-07-02 08:43:37 -0700","author":"Steve","subject":"Grid controls upgrade: density slider to 20 cols, persisted grid/list view toggle, list view with 12 sortable sticky-header columns (asc/desc + arrow), Safari user:pass@ fetch fix (location.origin) — E2E-verified, 0 console errors","body":"Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>"},{"hash":"631156d","date":"2026-06-30 19:03:35 -0700","author":"Steve Abrams","subject":"Quadrille landing: controls-bar 3D Showroom chip → no-hyphen quadrilleshowroom.designerwallcoverings.com (match hero + Steve's subdomain)","body":""},{"hash":"9c16e3a","date":"2026-06-30 17:55:30 -0700","author":"Steve Abrams","subject":"5x: deploy-both verification report (1 real defect fixed: dead showroom link → DNS+nginx alias)","body":""},{"hash":"5c0eb6e","date":"2026-06-30 17:22:21 -0700","author":"Steve Abrams","subject":"Quadrille landing: 3D showroom Enter button LINKS OUT to quadrilleshowroom.designerwallcoverings.com","body":"Was an in-page iframe embed of quadrille-showroom (hyphen); Steve 2026-06-30 wants a link-out to the\nnew no-hyphen subdomain quadrilleshowroom.designerwallcoverings.com (opens in new tab). DTD verdict A (3-0:\ndedicated Kamatera subdomain). Deploy of this landing change is gated (deploy-kamatera.sh)."},{"hash":"6a38e99","date":"2026-06-30 16:50:35 -0700","author":"Steve Abrams","subject":"settlement scrub (remove 42 banana-leaf/tropical/bird/butterfly patterns) + real room-setting hero + 3D Showroom button (catalog bar)","body":""},{"hash":"d992b93","date":"2026-06-30 15:33:37 -0700","author":"Steve Abrams","subject":"add 3D Showroom Experience hero band below top hero (iframe to quadrille-showroom subdomain)","body":""},{"hash":"732ad3b","date":"2026-06-23 18:09:09 -0700","author":"Steve Abrams","subject":"add deploy config: .deploy.conf (port 9944), ecosystem.config.js, deploy-kamatera.sh","body":"pm2 process quadrille-house-site live at root@45.61.58.125:9944 (health OK).\nExcludes public/lookbooks (657 MB), data/assets, node_modules, .git from rsync.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>"},{"hash":"fbcc6c4","date":"2026-06-23 18:07:32 -0700","author":"Steve Abrams","subject":"step-0: remap lookbook PDFs to S3 source URLs, drop 657 MB local copies","body":"All 32 lookbook PDF file paths in data/lookbook.json now point to the\noriginal quadrillefabrics.s3.us-east-2.amazonaws.com URLs (verified\n200 OK). public/lookbooks/ is excluded from deploy — saving 657 MB\nfrom rsync and eliminating the need to serve PDFs from the app server.\n\nCo-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>"},{"hash":"726a726","date":"2026-06-23 17:53:43 -0700","author":"Steve Abrams","subject":"auto-save: 2026-06-23T17:53:42 (1 files) — shopify-corrected-dwqc600000.png","body":""},{"hash":"f999011","date":"2026-06-23 17:23:34 -0700","author":"Steve Abrams","subject":"auto-save: 2026-06-23T17:23:17 (3 files) — data/house.json scripts/server.pid shopify-test-dwqc600000.png","body":""},{"hash":"0b3976e","date":"2026-06-23 17:05:39 -0700","author":"steve","subject":"Net-new lines sell as $4.25 samples (cta_mode=sample) — no wholesale cost needed; PDP+card show price, JSON-LD $4.25 offer; finalize sources token+socket DSN","body":""},{"hash":"82db62b","date":"2026-06-23 16:53:08 -0700","author":"Steve Abrams","subject":"auto-save: 2026-06-23T16:53:06 (5 files) — public/index.html public/product.html public/styles.css scripts/build-house.js scripts/finalize.pid","body":""},{"hash":"0bdd1ef","date":"2026-06-23 16:47:14 -0700","author":"steve","subject":"Auto-finalize: rebuild house.json snapshot + restart :9943 when QH enrichment completes (surfaces ai descriptions + color filter)","body":""},{"hash":"3c37dd6","date":"2026-06-23 16:22:59 -0700","author":"Steve Abrams","subject":"auto-save: 2026-06-23T16:22:58 (1 files) — pdp-adras-preview.png","body":""},{"hash":"31adefc","date":"2026-06-23 14:55:33 -0700","author":"Steve","subject":"add README","body":""},{"hash":"33a2927","date":"2026-06-23 14:54:37 -0700","author":"Steve","subject":"Quadrille house microsite: multi-brand filter, lookbook (32 PDFs + rooms), live/quote dual CTA, banned-word sanitize; 33/33 clickthrough PASS","body":""},{"hash":"5e48ada","date":"2026-06-23 14:52:22 -0700","author":"Steve Abrams","subject":"auto-save: 2026-06-23T14:52:21 (3 files) — .deploy.conf server.js clickthrough.js","body":""},{"hash":"51645fc","date":"2026-06-23 14:50:06 -0700","author":"Steve","subject":"initial scaffold: Quadrille house multi-brand microsite (server, build scripts, front-end, lookbook, quote/live CTA)","body":""}]}