Corkwallcovering
repo: ~/Projects/corkwallcovering · 100 commits · 0 in last 24h, 0 in last 7d ·
Search the build
100 commits indexed
088f4e1
2026-07-06
Square product-card images (aspect-ratio 1/1)
a1a004d
2026-07-03
corner-nav: move login to its own hamburger in upper-left (panel slides from left)
0f09500
2026-07-03
cost-saver: local-first ollama enrichment (vocab-gated fallback)
21b50ec
2026-07-03
chore: macstudio3 migration — reconcile from mac2 + repoint paths (stevestudio2→macstudio3, node/npm/npx→/opt/homebrew)
850fc15
2026-07-01
chore: lint (HTTP guard) + refactor (dead code, idiomatic counters) on tag-apply scripts, v0.2.0 (session close)
bbf65d9
2026-07-01
auto-save: 2026-07-01T14:06:35 (3 files) — scripts/_cork-apply-template.mjs scripts/apply-cork-tags-SELFCONTAINED.mjs scripts/gen-selfcontained-prod.mjs
a663b22
2026-07-01
cork: PROD tag-apply accepts BEFORE_PRODUCTS_JSON baseline (Scope B works on hosts lacking the enrich commit git history, e.g. Kamatera)
516be0a
2026-07-01
cork: untrack dev screenshots (~9MB), exclude .image-cache + screenshots from deploy rsync
c877799
2026-07-01
cork: prod-capable tag-apply (PG-first → Shopify, dual-scope A+B, gated) + read-only dry-run
7f71902
2026-07-01
auto-save: 2026-07-01T11:11:52 (1 files) — scripts/apply-shopify-tags.mjs
2941458
2026-07-01
chore: lint + refactor enrich-cork-ai.mjs, correct 2.5-flash cost constant, v0.1.1 (session close)
18c3446
2026-07-01
cork: correct .deploy.conf to verified live path /var/www/corkwallcovering.com
c9dcd2b
2026-07-01
cork: scaffold .deploy.conf (Kamatera corkwallcovering :9848)
4dbe44b
2026-07-01
cork: re-stage tag-diff post-enrichment — 361/367 fully covered (was 332), 1 left (404-image SKU)
ee5ed29
2026-07-01
cork: Gemini 2.5 Flash style/pattern enrichment for 30/31 facet-gap SKUs ($0.018, local scoped enricher → products.json; 1 SKU has 404 CDN image)
6bbcce9
2026-07-01
auto-save: 2026-07-01T09:41:09 (1 files) — scripts/enrich-cork-ai.mjs
8d52027
2026-06-30
Re-host 23 logo-cropped cork images as live Shopify product images; update products.json to new CDN URLs
a6f5277
2026-06-30
Crop PHILLIPE ROMANO logo-header band off 23 cork product images (Faguli + La Corka)
1fbde20
2026-06-30
cork: Phase 3 sips dominant-hex enrichment (359/367 SKUs, $0 local) → richer/accurate color dots + 11 families; Phase 4 staged Shopify tag-diff report (dry-run, kill-switch+velocity-cap gated, NO live writes)
8a68457
2026-06-30
cork: Amazon/Kravet left-nav filter — tag-derived facets (Color w/ DW dots, Pattern, Style, Material, Type, Price), collapsed-on-load rail via upper-right Filters hamburger, active-filter pills, card color dots; drill-down /api/facets; keeps sort/density/search/infinite-scroll
3df64c0
2026-06-30
auto-save: 2026-06-30T14:41:08 (2 files) — public/index.html server.js
2677980
2026-06-20
Add promo-banner LIVE verification screenshot from prior run
ac14d66
2026-06-19
Mount _universal-promo-banner (reference site) — new-arrivals strip injected + verified in browser (3 real products, /sample links, banned-word clean)
5315be5
2026-06-18
fix: safeImg allow same-origin /img/ proxy urls (vendor-neutral image proxy 2026-06-03) — product cards were falling back to hero-bg (images all wrong)
19151fb
2026-06-11
corkwallcovering: rails fire again — wire sliders + grid filter to aesthetic-OR-tags matcher (prod-safe try-require + inline fallback)
bd428b2
2026-06-09
step2 vendor-leak fix: dual-key /sample resolver + handle_display hrefs
6236fec
2026-06-09
snapshot before step2 codemod
7b45296
2026-06-03
Scrub residual vendor names from products.json (title/vendor/tags); preserve sku/handle
0198459
2026-06-03
seo/a11y: add visually-hidden <h1> (site name) for heading semantics — zero visual change
cf2d2d9
2026-06-03
a11y: add aria-label to contact/sample form inputs (zero visual; screen-reader association)
4522395
2026-06-01
admin: add dw-theme-nav 20-theme navigator (upper-right, admin-only)
093563f
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch
ff12e3a
2026-06-01
dw-header: hide ANY pre-existing <header> (not just ns-header); title-case bare-slug names
83a3683
2026-06-01
FIX: dw-header was injected inside a doc-comment (never ran); re-inject before the real </body>
ef8b6b5
2026-06-01
hero: rotate curated room-setting pool (hero-pool.json), guard >=1400px, no swatch blur
ebd87ad
2026-06-01
header name → domain name 'Cork Wallcovering' (remove odd brand name)
0b8de51
2026-06-01
hero/ideas: single big full-bleed hero (remove 2x2 four-square grid + hero-4grid.js/json + inert CSS), collapse Ideas to one rail
30a5897
2026-06-01
disable hero-4grid overlay so the unique high-res room/pattern hero shows full-bleed
3f9de87
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch
d05d773
2026-06-01
homepage: collapse duplicated 'Ideas' rail-eyebrows into one section eyebrow
be0503c
2026-06-01
Unique hero image (backsync from prod, fleet hero dedup 2026-06-01)
3b10727
2026-06-01
fleet rebuild: dw-header (hamburgers UL + centered name) + unique high-res hero + accent — local branch
d1aeec2
2026-06-01
Re-add Big Red embed (revert conflicted; re-injected)
430855b
2026-06-01
fleet rebuild (header-only): dw-header (hamburgers UL + centered name) + accent — local branch
ec8c16d
2026-06-01
hero: activate self-contained 2x2 hero-4grid (fleet sweep, local)
40a7d16
2026-06-01
Remove Big Red widget — never UX-worked, collided with Help pill (fleet sweep)
a771d32
2026-06-01
add noopener,noreferrer to sister-site window.open popup
4f70040
2026-06-01
add 301 redirect from legacy /*.html to clean URLs (before express.static); /index.html -> /
4d7b5b5
2026-06-01
fix /api/facets to count over the active filtered set (drill-down) via shared filterProducts() instead of the raw niche catalog
a99cbe8
2026-05-30
fix: remove public/index.html.bak-* leak and add *.bak-* to .gitignore
e01dabf
2026-05-29
feat(fleet): theme1/theme2 query-param-gated toggle on catalog page
7eba2df
2026-05-28
scrub vendor name leaks from products.json source (160 products: title/vendor/tags cleaned per sku-redact denylist)
68c6aa0
2026-05-26
frontend: cleanSku() strips vendor names from displayed sku (.ven/list/detail) + defer renderRailSections call (fix ReferenceError) — click-through verified
2a2cafc
2026-05-26
sku-redact: wire shared vendor-id display scrubber
5f805b5
2026-05-26
rails: editorial labels for firing aesthetic buckets
0afc08a
2026-05-26
wire api-vendor-redact middleware (close vendors-facet leak)
5c69aee
2026-05-25
redact p.vendor in rail-card (Ideas rails) — show Designer Wallcoverings + SKU
99cc085
2026-05-25
add 404-guard middleware (JSON for /api/*, text otherwise)
7d043ab
2026-05-25
fix /api/facets total: report niche-filtered count, not raw
d532ed7
2026-05-25
retag aesthetic from PG: 257 rows updated
3a4f9a3
2026-05-20
add: pre-stage Meta Pixel snippet (placeholder; flip via _dw-batch set-fb-pixel.sh)
3034c49
2026-05-19
make server.js self-contained — gate _shared/admin-catalog behind MICROSITE_ADMIN_ENABLED env flag (kamatera deploy unblock)
7bfdc09
2026-05-19
Phase 2b: harden .card .pat against long-token title clipping (overflow-wrap)
6547b55
2026-05-19
fix: null-guard dead #theme-toggle reference (clean console + immediate grid render)
0d652d4
2026-05-19
Phase 2: mobile-ready + tap-to-reveal
9ccf56f
2026-05-19
stage2: wire microsite catalog + admin CRUD + grid/list view
db5af9d
2026-05-18
Ignore .bak/.pre snapshot files so they stop getting tracked
ff8c947
2026-05-18
Remove 28 stale .bak/.pre snapshot files (public/*.bak were served publicly by express.static)
be6d7cf
2026-05-18
Remove dead PRODUCTS_ORIG var and unused global niche flag
69df5f1
2026-05-14
hero-4grid: relocate json from data/ to public/ for Express static
a400ef6
2026-05-14
4-grid hero: drop-in script + crop CSS + initial 4 newest products
91a5aeb
2026-05-14
favicon: Mag-7-inspired SVG glyph
daef452
2026-05-13
fix env wiring — add __dirname-anchored dotenv + dotenv dep so ADMIN_PASS / GEORGE_AUTH actually load
0dda49d
2026-05-13
corner-nav: title-case the brand name even when .ns-name source is lowercase
7d0c5b0
2026-05-13
corner-nav: title-case brand display (e.g. corkwallcovering → Cork Wallcovering)
3efc072
2026-05-13
corner-nav: fix injection — script tag was landing inside HTML comment, now anchored to real </body>
697e3be
2026-05-13
embed Big Red customer chat (lower-left, retail mode, vendor-redacted)
ce656f5
2026-05-13
chip-click → product details modal; vendor redacted in card overlay
6377fa0
2026-05-13
add universal corner-nav.js (UR 4-icon: bag/account/search/menu)
adcbbd5
2026-05-13
remove stray contact modal markup that was rendering inline on the page
ffc5db9
2026-05-13
header: remove duplicate <header> with dwmOpen-contact (was overlapping ns-header) + add display:none default to .ns-modal so How-can-we-help only opens on click. Restores canonical logo-UL + hamburger-UR layout per MEMORY rule.
039d800
2026-05-13
brand: replace remaining fake brand globally → 'corkwallcovering' across head/meta/wordmark/footer — enforces MEMORY brand-stem rule
4ecd7ee
2026-05-13
brand: <title> uses domain stem 'corkwallcovering' (was 'Atelier Saddle') — enforces MEMORY brand-stem rule
cbfedd0
2026-05-11
feat: drop Big Red widget into home page
eb09427
2026-05-11
fleet-grid refine: chip_uniform_aspect (corkwallcovering)
09f428b
2026-05-10
sort-skill UI: add Light→Dark / Dark→Light / Color Wheel options
ca2ef3b
2026-05-10
sort-skill canonical: add light-dark/dark-light/wheel + helpers
6298f3d
2026-05-08
Hamburger always visible on right — propagated from novasuede a815690
860fc5a
2026-05-07
graphic-loop pass 13: real footer brand + Facebook link + OG/Twitter meta tags
5996145
2026-05-07
graphic-loop pass 12: niche keyword filter (no off-niche products like 'solid' on patterned sites)
f9efa0a
2026-05-07
graphic-loop pass 11: add Ideas rails (New this week + Curated picks) above main grid
fb1501b
2026-05-07
graphic-loop pass 10: center-mark to top + readable text-shadow + tighter letter-spacing (no mix-blend-mode)
fc2f6db
2026-05-07
graphic-loop pass 9: real site name + 20-image hero rotation + 2400px hero res
971d403
2026-05-07
pass 9: real site name (Cork Wallcovering) + 2x hero res (2400px)
d9bebdc
2026-05-07
graphic-loop pass 8 fix: divergent template — swap heading font to Nunito
b35e33f
2026-05-07
graphic-loop pass 8: theme-aware font Nunito (panel-approved comprehensive 16-bucket assignment)
0bb44d6
2026-05-06
graphic-loop pass 2: fix .corner-mark contrast + soften hero overlay (qwen3:14b consensus across fleet)
dcac4b6
2026-05-06
Hero hydration: upscale to largest Shopify variant
3791e1f
2026-05-06
Add sort dropdown + sortProducts() — Newest/Color/Style/SKU/Title/Price
f5a5762
2026-05-06
initial snapshot — gitify all builds (CLAUDE.md rule 2026-05-06)
Skills used
/index 4 /facets 3 /sample 3 /pattern 2 /search 2 /vendor 2 /tags 2 /body 2 /list 2 /npm 1 /npx 1 /homebrew 1 /apply-cork-tags- 1 /gen-selfcontained-prod 1 /idempotent 1 /apply-shopify-tags 1 /www 1 /corkwallcovering 1 /enrich-cork-ai 1 /accurate 1 /density 1 /infinite-scroll 1 /handle 1 /a11y 1 /ideas 1 /json 1 /theme2 1 /detail 1 /admin-catalog 1 /account 1
Creative ideas + design notes
Commits with substantial prose (≥120 chars) — the rationale behind each move.
c877799 · 2026-07-01 · cork: prod-capable tag-apply (PG-first → Shopify, dual-scope A+B, gated) + read-only dry-run
Reversible build only — no live writes. Scope A (5 deterministic diff adds) +
Scope B (30 Gemini-enriched vocab tags, runtime-diffed vs pre-enrich commit).
Additive/idempotent, 200-cap, kill-switch, PG-before-Shopify ordering. Creds
supplied at apply time via env (never scavenged from disk).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
a99cbe8 · 2026-05-30 · fix: remove public/index.html.bak-* leak and add *.bak-* to .gitignore
Backup file was served by express.static at /index.html.bak-20260526152130.
Deleted file, added *.bak-* pattern to .gitignore so dated backups are
always excluded from both git and static serving.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
e01dabf · 2026-05-29 · feat(fleet): theme1/theme2 query-param-gated toggle on catalog page
Default: theme1, toggle hidden. Opt-in via ?theme=2 or localStorage
('wallco-page-theme' key shared across the fleet). Same gate pattern
as dw-domain-fleet productPage.
d532ed7 · 2026-05-25 · retag aesthetic from PG: 257 rows updated
before: all=367
after: all=110, metallic=10, natural=246, printed=1
Backfills correct multi-bucket aesthetic tagging from dw_unified.microsite_products
(DTD verdict B, 2026-05-25 fleet retag run).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
6298f3d · 2026-05-08 · Hamburger always visible on right — propagated from novasuede a815690
Standing rule (~/.claude/skills/dw-site-build/SKILL.md): hamburger ALWAYS
visible on the right, inline nav collapses to drop-panel at all widths.
Same edit as novasuede + silkwallcoverings.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3791e1f · 2026-05-06 · Add sort dropdown + sortProducts() — Newest/Color/Style/SKU/Title/Price
Steve directive 2026-05-06: every product-grid site needs sort + density.
Density slider was already here; sort was missing.
Server: /api/products?sort=<mode> applies COLOR_RANK + STYLE_TAGS heuristic
buckets (or alpha/price) before paginating. Default 'newest' = no reorder.
Frontend: <select id="sortSelect"> next to existing density slider, persists
to localStorage as 'cork_sort'. resetGrid() refetches on change.
Verified live (port 9848): sort=color clusters black-bucket products first
(Anthology Charcoal/Natural up top), sort=sku alpha (aged-molten…, aichi…,
ala-marsala…), sort=title alpha (Aichi…, Ala…, Andrea…).
File tree
62 files tracked. Click any to browse the source at HEAD.
rendered in 1ms